{
	"targets": {
		"Depot": {
			"name": "Depot",
			"address": "0xE1f64079aDa6Ef07b03982Ca34f1dD7152AA3b86",
			"source": "Depot",
			"link": "https://etherscan.io/address/0xE1f64079aDa6Ef07b03982Ca34f1dD7152AA3b86",
			"timestamp": "2020-02-20T06:26:34.000Z",
			"txn": "https://etherscan.io/tx/0x7246da8ec30f70ac783498a5b79408cc5ae049ea71bc6bf393557cf3e2c9a8ad",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0x3b399e00AFd8201ACf8A5a0EcCF1C47d8D5E41da",
			"source": "EscrowChecker",
			"link": "https://etherscan.io/address/0x3b399e00AFd8201ACf8A5a0EcCF1C47d8D5E41da",
			"timestamp": "2019-04-03T21:22:54.000Z",
			"txn": "https://etherscan.io/tx/0xa582498dfb84e432ce0e8d0f1e61e4874169337b68ef38a35afd9bee23f00b84",
			"network": "mainnet",
			"constructorArgs": ["0x971e78e0C92392A4E39099835cF7E6aB535b2227"]
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0x648280dD2db772CD018A0CEC72fab5bF8B7683AB",
			"source": "ExchangeRatesWithDexPricing",
			"link": "https://etherscan.io/address/0x648280dD2db772CD018A0CEC72fab5bF8B7683AB",
			"timestamp": "2022-11-03T15:38:59.000Z",
			"txn": "https://etherscan.io/tx/0x199dbd6fead9bde5b2f3b363c5dff003a4c735575bdb501b2ddb166b41e849b4",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0x83105D7CDd2fd9b8185BFF1cb56bB1595a618618",
			"source": "FeePool",
			"link": "https://etherscan.io/address/0x83105D7CDd2fd9b8185BFF1cb56bB1595a618618",
			"timestamp": "2023-02-15T14:17:23.000Z",
			"txn": "https://etherscan.io/tx/0xe00049956356698200908481fa6e6d2fc808aa24c680503834a6b28c490c1cd1",
			"network": "mainnet",
			"constructorArgs": [
				"0xb440DD674e1243644791a4AdfE3A2AbB0A92d309",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0xb440DD674e1243644791a4AdfE3A2AbB0A92d309",
			"source": "Proxy",
			"link": "https://etherscan.io/address/0xb440DD674e1243644791a4AdfE3A2AbB0A92d309",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"ProxysAUD": {
			"name": "ProxysAUD",
			"address": "0xF48e200EAF9906362BB1442fca31e0835773b8B4",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xF48e200EAF9906362BB1442fca31e0835773b8B4",
			"timestamp": "2019-09-26T06:59:36.637Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"ProxysBTC": {
			"name": "ProxysBTC",
			"address": "0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6",
			"timestamp": "2019-09-26T07:12:48.637Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"ProxysCHF": {
			"name": "ProxysCHF",
			"address": "0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d",
			"timestamp": "2019-09-26T07:06:39.621Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"ProxysEUR": {
			"name": "ProxysEUR",
			"address": "0xD71eCFF9342A5Ced620049e616c5035F1dB98620",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xD71eCFF9342A5Ced620049e616c5035F1dB98620",
			"timestamp": "2019-09-26T06:50:51.092Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"ProxysGBP": {
			"name": "ProxysGBP",
			"address": "0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F",
			"timestamp": "2019-09-26T07:04:31.735Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"ProxysJPY": {
			"name": "ProxysJPY",
			"address": "0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d",
			"timestamp": "2019-09-26T06:53:25.539Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"ProxysUSD": {
			"name": "ProxysUSD",
			"address": "0x57Ab1ec28D129707052df4dF418D58a2D46d5f51",
			"source": "Proxy",
			"link": "https://etherscan.io/address/0x57Ab1ec28D129707052df4dF418D58a2D46d5f51",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"ProxyERC20sUSD": {
			"name": "ProxyERC20sUSD",
			"address": "0x57Ab1ec28D129707052df4dF418D58a2D46d5f51",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x57Ab1ec28D129707052df4dF418D58a2D46d5f51",
			"timestamp": "2019-09-26T02:55:56.333Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxySynthetix": {
			"name": "ProxySynthetix",
			"address": "0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F",
			"source": "Proxy",
			"link": "https://etherscan.io/address/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0x84D626B2BB4D0F064067e4BF80FCe7055d8F3E7B",
			"source": "SafeDecimalMath",
			"link": "https://etherscan.io/address/0x84D626B2BB4D0F064067e4BF80FCe7055d8F3E7B",
			"network": "mainnet",
			"constructorArgs": []
		},
		"Synthetix": {
			"name": "Synthetix",
			"address": "0xc5f0b4194455e0C175ab68C501400e46C7203504",
			"source": "Synthetix",
			"link": "https://etherscan.io/address/0xc5f0b4194455e0C175ab68C501400e46C7203504",
			"timestamp": "2024-08-19T13:55:35.000Z",
			"txn": "https://etherscan.io/tx/0x84fda049dec0e85c997d5014a5e1c4a9a7dc74cb971e2156d6f809355a01bb1f",
			"network": "mainnet",
			"constructorArgs": [
				"0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F",
				"0x5b1b5fEa1b99D83aD479dF0C222F0492385381dD",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"339889850088773602815691648",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SynthetixEscrow": {
			"name": "SynthetixEscrow",
			"address": "0x971e78e0C92392A4E39099835cF7E6aB535b2227",
			"source": "SynthetixEscrow",
			"link": "https://etherscan.io/address/0x971e78e0C92392A4E39099835cF7E6aB535b2227",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"SynthetixState": {
			"name": "SynthetixState",
			"address": "0x4b9Ca5607f1fF8019c1C6A3c2f0CC8de622D5B82",
			"source": "SynthetixState",
			"link": "https://etherscan.io/address/0x4b9Ca5607f1fF8019c1C6A3c2f0CC8de622D5B82",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769"
			]
		},
		"SynthsAUD": {
			"name": "SynthsAUD",
			"address": "0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0xfb020CA7f4e8C4a5bBBe060f59a249c6275d2b69",
			"timestamp": "2022-06-09T17:33:44.177Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xF48e200EAF9906362BB1442fca31e0835773b8B4",
				"0xCb29D2cf2C65d3Be1d00F07f3441390432D55203",
				"Synth sAUD",
				"sAUD",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7341554400000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SynthsBTC": {
			"name": "SynthsBTC",
			"address": "0x1cB004a8e84a5CE95C1fF895EE603BaC8EC506c7",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0x1cB004a8e84a5CE95C1fF895EE603BaC8EC506c7",
			"timestamp": "2022-06-09T17:39:21.586Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6",
				"0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67",
				"Synth sBTC",
				"sBTC",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7342544300000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SynthsCHF": {
			"name": "SynthsCHF",
			"address": "0xBb5b03E920cF702De5A3bA9Fc1445aF4B3919c88",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0xBb5b03E920cF702De5A3bA9Fc1445aF4B3919c88",
			"timestamp": "2022-06-09T17:34:39.001Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d",
				"0x52496fE8a4feaEFe14d9433E00D48E6929c13deC",
				"Synth sCHF",
				"sCHF",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7343484600000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SynthsEUR": {
			"name": "SynthsEUR",
			"address": "0xa8E31E3C38aDD6052A9407298FAEB8fD393A6cF9",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0xa8E31E3C38aDD6052A9407298FAEB8fD393A6cF9",
			"timestamp": "2022-06-09T17:32:29.713Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xD71eCFF9342A5Ced620049e616c5035F1dB98620",
				"0x6568D9e750fC44AF00f857885Dfb8281c00529c4",
				"Synth sEUR",
				"sEUR",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7345555200000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SynthsGBP": {
			"name": "SynthsGBP",
			"address": "0xdc883b9d9Ee16f74bE08826E68dF4C9D9d26e8bD",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0xdc883b9d9Ee16f74bE08826E68dF4C9D9d26e8bD",
			"timestamp": "2022-06-09T17:33:58.878Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F",
				"0x7e88D19A79b291cfE5696d496055f7e57F537A75",
				"Synth sGBP",
				"sGBP",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7347425000000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SynthsJPY": {
			"name": "SynthsJPY",
			"address": "0xE1cc2332852B2Ac0dA59A1f9D3051829f4eF3c1C",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0xE1cc2332852B2Ac0dA59A1f9D3051829f4eF3c1C",
			"timestamp": "2022-06-09T17:32:36.014Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d",
				"0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed",
				"Synth sJPY",
				"sJPY",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x734a505900000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SynthsUSD": {
			"name": "SynthsUSD",
			"address": "0x10A5F7D9D65bCc2734763444D4940a31b109275f",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0x10A5F7D9D65bCc2734763444D4940a31b109275f",
			"timestamp": "2022-06-09T17:30:52.000Z",
			"txn": "https://etherscan.io/tx/0xc90a844a8d8bcbecf266b2f4fe039e2933ba2f38fb7b063189cb7e97cc085c7e",
			"network": "mainnet",
			"constructorArgs": [
				"0x57Ab1ec28D129707052df4dF418D58a2D46d5f51",
				"0x05a9CBe762B36632b3594DA4F082340E0e5343e8",
				"Synth sUSD",
				"sUSD",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7355534400000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"TokenStatesAUD": {
			"name": "TokenStatesAUD",
			"address": "0xCb29D2cf2C65d3Be1d00F07f3441390432D55203",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xCb29D2cf2C65d3Be1d00F07f3441390432D55203",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"TokenStatesBTC": {
			"name": "TokenStatesBTC",
			"address": "0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"TokenStatesCHF": {
			"name": "TokenStatesCHF",
			"address": "0x52496fE8a4feaEFe14d9433E00D48E6929c13deC",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x52496fE8a4feaEFe14d9433E00D48E6929c13deC",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"TokenStatesEUR": {
			"name": "TokenStatesEUR",
			"address": "0x6568D9e750fC44AF00f857885Dfb8281c00529c4",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x6568D9e750fC44AF00f857885Dfb8281c00529c4",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"TokenStatesGBP": {
			"name": "TokenStatesGBP",
			"address": "0x7e88D19A79b291cfE5696d496055f7e57F537A75",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x7e88D19A79b291cfE5696d496055f7e57F537A75",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"TokenStatesJPY": {
			"name": "TokenStatesJPY",
			"address": "0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"TokenStatesUSD": {
			"name": "TokenStatesUSD",
			"address": "0x05a9CBe762B36632b3594DA4F082340E0e5343e8",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x05a9CBe762B36632b3594DA4F082340E0e5343e8",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"TokenStateSynthetix": {
			"name": "TokenStateSynthetix",
			"address": "0x5b1b5fEa1b99D83aD479dF0C222F0492385381dD",
			"source": "LegacyTokenState",
			"link": "https://etherscan.io/address/0x5b1b5fEa1b99D83aD479dF0C222F0492385381dD",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769"
			]
		},
		"TokenStatesETH": {
			"name": "TokenStatesETH",
			"address": "0x34A5ef81d18F3a305aE9C2d7DF42beef4c79031c",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x34A5ef81d18F3a305aE9C2d7DF42beef4c79031c",
			"timestamp": "2019-04-23T22:47:33.039Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysETH": {
			"name": "ProxysETH",
			"address": "0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb",
			"timestamp": "2019-09-12T22:47:44.346Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"SynthsETH": {
			"name": "SynthsETH",
			"address": "0x5D4C724BFe3a228Ff0E29125Ac1571FE093700a4",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0x5D4C724BFe3a228Ff0E29125Ac1571FE093700a4",
			"timestamp": "2022-06-09T17:39:32.056Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb",
				"0x34A5ef81d18F3a305aE9C2d7DF42beef4c79031c",
				"Synth sETH",
				"sETH",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7345544800000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F",
			"source": "RewardEscrow",
			"link": "https://etherscan.io/address/0xb671F2210B1F6621A2607EA63E6B2DC3e2464d1F",
			"timestamp": "2019-05-02T07:55:24.000Z",
			"txn": "https://etherscan.io/tx/0xd2b722dd4a70fa6be957d59f58bfeea37634be82672a33430256f2452a353cfe",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0x11164F6a47C3f8472D19b9aDd516Fc780cb7Ee02",
			"source": "FeePoolState",
			"link": "https://etherscan.io/address/0x11164F6a47C3f8472D19b9aDd516Fc780cb7Ee02",
			"timestamp": "2019-05-02T07:57:10.000Z",
			"txn": "https://etherscan.io/tx/0x25bec289bff971dde31fafa71168a5482a02ce3bb2cca5186c033cba355502a7",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x83105D7CDd2fd9b8185BFF1cb56bB1595a618618"
			]
		},
		"SupplySchedule": {
			"name": "SupplySchedule",
			"address": "0x8d203C458d536Fe0F97e9f741bC231EaC8cd91cf",
			"source": "SupplySchedule",
			"link": "https://etherscan.io/address/0x8d203C458d536Fe0F97e9f741bC231EaC8cd91cf",
			"timestamp": "2022-02-18T22:54:32.000Z",
			"txn": "https://etherscan.io/tx/0x54e24c856def9032b2de5ea79af0d1c0c3807e0908e45344b4b2a66f63b539cb",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"1733961600",
				"301"
			]
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0x15fd6e554874B9e70F832Ed37f231Ac5E142362f",
			"source": "DelegateApprovals",
			"link": "https://etherscan.io/address/0x15fd6e554874B9e70F832Ed37f231Ac5E142362f",
			"timestamp": "2020-03-31T00:27:19.000Z",
			"txn": "https://etherscan.io/tx/0xac833bf8b366498447c4b3b95edd86964c40efd1253534b63ebe2faed89226b2",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x8F586F063ffbb89b186C8e604FC6614766f9C9d1"
			]
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0xC9DFff5fA5605fd94F8B7927b892F2B57391e8bB",
			"source": "FeePoolEternalStorage",
			"link": "https://etherscan.io/address/0xC9DFff5fA5605fd94F8B7927b892F2B57391e8bB",
			"timestamp": "2019-05-28T08:18:15.000Z",
			"txn": "https://etherscan.io/tx/0x6c4cfdae798e1aa656db42c421e6e34749b5b9e8312820aebfefa7de530387d0",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xC011a73ee8576Fb46F5E1c5751cA3B9Fe0af2a6F",
			"timestamp": "2019-08-09T05:36:52.011Z",
			"txn": "",
			"network": "mainnet"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0x94433f0DA8B5bfb473Ea8cd7ad10D9c8aef4aB7b",
			"source": "RewardsDistribution",
			"link": "https://etherscan.io/address/0x94433f0DA8B5bfb473Ea8cd7ad10D9c8aef4aB7b",
			"timestamp": "2023-10-23T14:21:59.000Z",
			"txn": "https://etherscan.io/tx/0xa58a87848bea70940d4ec501ea9548785d4a4b8e930a267e04b8162754bab925",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000",
				"0x0000000000000000000000000000000000000000",
				"0xFAd53Cc9480634563E8ec71E8e693Ffd07981d38",
				"0xb440DD674e1243644791a4AdfE3A2AbB0A92d309"
			]
		},
		"TokenStatesLINK": {
			"name": "TokenStatesLINK",
			"address": "0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0",
			"timestamp": "2019-11-21T01:04:15.682Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysLINK": {
			"name": "ProxysLINK",
			"address": "0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6",
			"timestamp": "2019-11-21T01:04:28.006Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"SynthsLINK": {
			"name": "SynthsLINK",
			"address": "0xDF69bC4541b86Aa4c5A470B4347E730c38b2c3B2",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0xDF69bC4541b86Aa4c5A470B4347E730c38b2c3B2",
			"timestamp": "2022-06-09T17:41:30.793Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6",
				"0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0",
				"Synth sLINK",
				"sLINK",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x734c494e4b000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"Math": {
			"name": "Math",
			"address": "0x385e1Eb2FF28F4A637DA2C9971F8CAF5F5b1E77c",
			"source": "Math",
			"link": "https://etherscan.io/address/0x385e1Eb2FF28F4A637DA2C9971F8CAF5F5b1E77c",
			"timestamp": "2019-12-12T04:26:09.000Z",
			"txn": "https://etherscan.io/tx/0x4175d01bd44e1c847c8257ba272ea1051d67aa2b2552125f179a5dac7cb8d7d2",
			"network": "mainnet",
			"constructorArgs": []
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0x823bE81bbF96BEc0e25CA13170F5AaCb5B79ba83",
			"source": "AddressResolver",
			"link": "https://etherscan.io/address/0x823bE81bbF96BEc0e25CA13170F5AaCb5B79ba83",
			"timestamp": "2020-12-24T00:35:38.000Z",
			"txn": "https://etherscan.io/tx/0x5fd6fc965408c73ccd81346087039498c92cf479308048d7ae6594d92ff4f7a4",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0xaeA0065E146FD75Dc24465961a583827284D405a",
			"source": "ExchangerWithFeeRecAlternatives",
			"link": "https://etherscan.io/address/0xaeA0065E146FD75Dc24465961a583827284D405a",
			"timestamp": "2022-11-03T15:39:11.000Z",
			"txn": "https://etherscan.io/tx/0x31894f3db9e91f8ba818e97ca5e5f120f6f567d8dadc22120adfe68f77a4d9c6",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0x545973f28950f50fc6c7F52AAb4Ad214A27C0564",
			"source": "ExchangeState",
			"link": "https://etherscan.io/address/0x545973f28950f50fc6c7F52AAb4Ad214A27C0564",
			"timestamp": "2020-02-20T05:39:38.000Z",
			"txn": "https://etherscan.io/tx/0x6900724258dbf151dc5ea9d2f5a891ec51ccf72ac82101919f00920a7b8ae567",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0xaeA0065E146FD75Dc24465961a583827284D405a"
			]
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0x7A1b3DB73E5B8c58EDC8A821890005064f2B83Fd",
			"source": "Issuer",
			"link": "https://etherscan.io/address/0x7A1b3DB73E5B8c58EDC8A821890005064f2B83Fd",
			"timestamp": "2025-03-18T19:42:23.000Z",
			"txn": "https://etherscan.io/tx/0x8bcf0ab9cdcd41822469ac497305abf4089da4859bd1d4c07998375370055a09",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"IssuanceEternalStorage": {
			"name": "IssuanceEternalStorage",
			"address": "0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64",
			"source": "IssuanceEternalStorage",
			"link": "https://etherscan.io/address/0x631E93A0fb06B5eC6d52c0A2D89a3f9672d6Ba64",
			"timestamp": "2020-02-28T06:09:39.180Z",
			"txn": "",
			"network": "mainnet"
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0x696c905F8F8c006cA46e9808fE7e00049507798F",
			"source": "SystemStatus",
			"link": "https://etherscan.io/address/0x696c905F8F8c006cA46e9808fE7e00049507798F",
			"timestamp": "2022-03-17T19:23:07.000Z",
			"txn": "https://etherscan.io/tx/0x372d60e75b5eefaf45b03d71a8e7420dc16db4ec49bd08db6ccdfd4b59f162cd",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0x8F586F063ffbb89b186C8e604FC6614766f9C9d1",
			"source": "EternalStorage",
			"link": "https://etherscan.io/address/0x8F586F063ffbb89b186C8e604FC6614766f9C9d1",
			"timestamp": "2020-03-31T00:26:51.000Z",
			"txn": "https://etherscan.io/tx/0xa55a9b0d9d922c9a2749d990bf7f20f729837c8fcd7e128c1dac8eb51fa67f99",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"TokenStatesADA": {
			"name": "TokenStatesADA",
			"address": "0x9956c5019a24fbd5B506AD070b771577bAc5c343",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x9956c5019a24fbd5B506AD070b771577bAc5c343",
			"timestamp": "2020-04-02T09:02:42.770Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysADA": {
			"name": "ProxysADA",
			"address": "0xe36E2D3c7c34281FA3bC737950a68571736880A1",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xe36E2D3c7c34281FA3bC737950a68571736880A1",
			"timestamp": "2020-04-02T09:04:17.667Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"SynthsADA": {
			"name": "SynthsADA",
			"address": "0x91b82d62Ff322b8e02b86f33E9A99a813437830d",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0x91b82d62Ff322b8e02b86f33E9A99a813437830d",
			"timestamp": "2022-06-09T17:42:14.695Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xe36E2D3c7c34281FA3bC737950a68571736880A1",
				"0x9956c5019a24fbd5B506AD070b771577bAc5c343",
				"Synth sADA",
				"sADA",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7341444100000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2",
			"source": "ReadProxy",
			"link": "https://etherscan.io/address/0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2",
			"timestamp": "2020-05-08T16:34:33.000Z",
			"txn": "https://etherscan.io/tx/0x1cefe027f7e3d8da401d3deeb63fc6c35a1ce09fc372f4de77c599250f0b496d",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"StakingRewardsSNXBalancer": {
			"name": "StakingRewardsSNXBalancer",
			"address": "0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10",
			"source": "StakingRewardsSNXBalancer",
			"link": "https://etherscan.io/address/0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10",
			"timestamp": "2020-06-03",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardsiETH": {
			"name": "StakingRewardsiETH",
			"address": "0x3f27c540ADaE3a9E8c875C61e3B970b559d7F65d",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0x3f27c540ADaE3a9E8c875C61e3B970b559d7F65d",
			"timestamp": "2021-02-03T05:00:31.000Z",
			"txn": "https://etherscan.io/tx/0x398f20e282cebdc84549177e4324ee1f075db952a190c0555fa3fccdeae0b59f",
			"network": "mainnet"
		},
		"StakingRewardsiBTC": {
			"name": "StakingRewardsiBTC",
			"address": "0x167009dcDA2e49930a71712D956f02cc980DcC1b",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0x167009dcDA2e49930a71712D956f02cc980DcC1b",
			"timestamp": "2021-01-09T00:56:34.000Z",
			"txn": "https://etherscan.io/tx/0xb24447e295063d1471193bbed6d42e107c2a61bc91f3e9de6710d110ce92f34c",
			"network": "mainnet"
		},
		"StakingRewardssBTCCurve": {
			"name": "StakingRewardssBTCCurve",
			"address": "0x13C1542A468319688B89E323fe9A3Be3A90EBb27",
			"source": "StakingRewardssBTCCurve",
			"link": "https://etherscan.io/address/0x13C1542A468319688B89E323fe9A3Be3A90EBb27",
			"timestamp": "2020-05-29",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardssUSDCurve": {
			"name": "StakingRewardssUSDCurve",
			"address": "0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92",
			"source": "StakingRewardssUSDCurve",
			"link": "https://etherscan.io/address/0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92",
			"timestamp": "2020-04-20",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardssXAUUniswapV2": {
			"name": "StakingRewardssXAUUniswapV2",
			"address": "0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC",
			"source": "StakingRewardssXAUUniswapV2",
			"link": "https://etherscan.io/address/0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC",
			"timestamp": "2020-05-29",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardssETHUniswapV1": {
			"name": "StakingRewardssETHUniswapV1",
			"address": "0x48D7f315feDcaD332F68aafa017c7C158BC54760",
			"source": "StakingRewardssETHUniswapV1",
			"link": "https://etherscan.io/address/0x48D7f315feDcaD332F68aafa017c7C158BC54760",
			"timestamp": "2020-05-29",
			"txn": "",
			"network": "mainnet"
		},
		"SynthUtil": {
			"name": "SynthUtil",
			"address": "0x81Aee4EA48f678E172640fB5813cf7A96AFaF6C3",
			"source": "SynthUtil",
			"link": "https://etherscan.io/address/0x81Aee4EA48f678E172640fB5813cf7A96AFaF6C3",
			"timestamp": "2020-08-06T00:14:40.000Z",
			"txn": "https://etherscan.io/tx/0xf9c727d79abb8c45375fdf4b2b1138299c24f5b0affa5eaf03fba8cf00f6b1a4",
			"network": "mainnet",
			"constructorArgs": ["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]
		},
		"DappMaintenance": {
			"name": "DappMaintenance",
			"address": "0xAb0B2f1Cf979cdbF4676251F35353eC5AF2732Dd",
			"source": "DappMaintenance",
			"link": "https://etherscan.io/address/0xAb0B2f1Cf979cdbF4676251F35353eC5AF2732Dd",
			"timestamp": "2020-08-06T00:15:00.000Z",
			"txn": "https://etherscan.io/tx/0x0e3b146cbff5337a85bb6e275f20b9808cfaa84912c38d9f9b16f58d31860a35",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0xc757aCBa3c0506218b3022266a9DC7F3612d85f5",
			"source": "FlexibleStorage",
			"link": "https://etherscan.io/address/0xc757aCBa3c0506218b3022266a9DC7F3612d85f5",
			"timestamp": "2020-09-01T02:29:14.203Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0x202ae40Bed1640b09e2AF7aC5719D129A498B7C8",
			"source": "SystemSettings",
			"link": "https://etherscan.io/address/0x202ae40Bed1640b09e2AF7aC5719D129A498B7C8",
			"timestamp": "2022-11-03T15:38:47.000Z",
			"txn": "https://etherscan.io/tx/0xac49bca0d7f9ab08ac68ad03d2619d3334f639f234c84c6a539b1a5a2935846e",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"TradingRewards": {
			"name": "TradingRewards",
			"address": "0x62922670313bf6b41C580143d1f6C173C5C20019",
			"source": "TradingRewards",
			"link": "https://etherscan.io/address/0x62922670313bf6b41C580143d1f6C173C5C20019",
			"timestamp": "2020-12-24T00:38:06.000Z",
			"txn": "https://etherscan.io/tx/0x5a27b38498e8d90883735f65be1745f26f9237bdc2dc3fa135c564c90c07bfa8",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0xd1cad1A569E70d2Df4C8ed43d3cC93DBE16285dE",
			"source": "DebtCache",
			"link": "https://etherscan.io/address/0xd1cad1A569E70d2Df4C8ed43d3cC93DBE16285dE",
			"timestamp": "2024-04-16T18:33:47.000Z",
			"txn": "https://etherscan.io/tx/0xea3f7f9b7d76dd042eeb937e0b552693678f8b5bdc1c3c585051d5a248e4e8b1",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"CollateralManagerState": {
			"name": "CollateralManagerState",
			"address": "0x573E5105c4B92416D1544A188F1bf77d442Bb52d",
			"source": "CollateralManagerState",
			"link": "https://etherscan.io/address/0x573E5105c4B92416D1544A188F1bf77d442Bb52d",
			"timestamp": "2020-12-24T01:25:57.000Z",
			"txn": "https://etherscan.io/tx/0x483a0231282bdf448efedd143f2aa6f4067c6fdc72dba2f72a1f23b18a19dbe5",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769"
			]
		},
		"CollateralManager": {
			"name": "CollateralManager",
			"address": "0x067e398605E84F2D0aEEC1806e62768C5110DCc6",
			"source": "CollateralManager",
			"link": "https://etherscan.io/address/0x067e398605E84F2D0aEEC1806e62768C5110DCc6",
			"timestamp": "2020-12-24T04:23:49.000Z",
			"txn": "https://etherscan.io/tx/0x61ff0be73c7ddeeee873cb21a90a51c05ffc4bbe29160ac510a700dfbc14e377",
			"network": "mainnet",
			"constructorArgs": [
				"0x573E5105c4B92416D1544A188F1bf77d442Bb52d",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2",
				"75000000000000000000000000",
				"200000000000000000",
				"158443823",
				"158443823"
			]
		},
		"CollateralStateEth": {
			"name": "CollateralStateEth",
			"address": "0xbe5B5a7c198bC156474ed5c33CBf2F3F604F8fF8",
			"source": "CollateralState",
			"link": "https://etherscan.io/address/0xbe5B5a7c198bC156474ed5c33CBf2F3F604F8fF8",
			"timestamp": "2021-01-14T23:50:37.821Z",
			"txn": "",
			"network": "mainnet"
		},
		"CollateralEth": {
			"name": "CollateralEth",
			"address": "0x5c8344bcdC38F1aB5EB5C1d4a35DdEeA522B5DfA",
			"source": "CollateralEth",
			"link": "https://etherscan.io/address/0x5c8344bcdC38F1aB5EB5C1d4a35DdEeA522B5DfA",
			"timestamp": "2021-01-14T23:51:02.000Z",
			"txn": "https://etherscan.io/tx/0xcb3bfca19fb9d841cc43712ce3e568f794dd2d388507709fb7d0268e9e01cec2",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x067e398605E84F2D0aEEC1806e62768C5110DCc6",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2",
				"0x7345544800000000000000000000000000000000000000000000000000000000",
				"1300000000000000000",
				"2000000000000000000"
			]
		},
		"CollateralStateErc20": {
			"name": "CollateralStateErc20",
			"address": "0x8A1A00Df7aA0102497C7591912bA8301e8dB8CdB",
			"source": "CollateralState",
			"link": "https://etherscan.io/address/0x8A1A00Df7aA0102497C7591912bA8301e8dB8CdB",
			"timestamp": "2021-01-14T23:51:38.000Z",
			"txn": "https://etherscan.io/tx/0x0840649d2b22f768a9d1314cbc03c9b8280023bde60dd7ecfca741bac15e4ada",
			"network": "mainnet"
		},
		"CollateralErc20": {
			"name": "CollateralErc20",
			"address": "0xaa03aB31b55DceEeF845C8d17890CC61cD98eD04",
			"source": "CollateralErc20",
			"link": "https://etherscan.io/address/0xaa03aB31b55DceEeF845C8d17890CC61cD98eD04",
			"timestamp": "2021-01-14T23:51:56.000Z",
			"txn": "https://etherscan.io/tx/0x751eb0cc4a5b2f994bcca8368159e4df951f4a0fbe16a5d00c0b9655bad1f0fe",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x067e398605E84F2D0aEEC1806e62768C5110DCc6",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2",
				"0x7342544300000000000000000000000000000000000000000000000000000000",
				"1300000000000000000",
				"50000000000000000",
				"0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D",
				8
			]
		},
		"CollateralStateShort": {
			"name": "CollateralStateShort",
			"address": "0x13A114a3Fa8A6CE03a0C5488BE9e614d78eDdb0c",
			"source": "CollateralState",
			"link": "https://etherscan.io/address/0x13A114a3Fa8A6CE03a0C5488BE9e614d78eDdb0c",
			"timestamp": "2021-01-14T23:52:14.670Z",
			"txn": "",
			"network": "mainnet"
		},
		"CollateralShort": {
			"name": "CollateralShort",
			"address": "0x1F2c3a1046c32729862fcB038369696e3273a516",
			"source": "CollateralShort",
			"link": "https://etherscan.io/address/0x1F2c3a1046c32729862fcB038369696e3273a516",
			"timestamp": "2021-01-14T23:52:14.000Z",
			"txn": "https://etherscan.io/tx/0x2fd795c484f9734377526c4ce1656ed416ebb8c954609fdf724c1b3a673af727",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x067e398605E84F2D0aEEC1806e62768C5110DCc6",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2",
				"0x7355534400000000000000000000000000000000000000000000000000000000",
				"1200000000000000000",
				"1000000000000000000000"
			]
		},
		"StakingRewardssEURCurve": {
			"name": "StakingRewardssEURCurve",
			"address": "0xc0d8994Cd78eE1980885DF1A0C5470fC977b5cFe",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0xc0d8994Cd78eE1980885DF1A0C5470fC977b5cFe",
			"timestamp": "2021-01-11T04:11:51.905Z",
			"txn": "",
			"network": "mainnet"
		},
		"RewardEscrowV2": {
			"name": "RewardEscrowV2",
			"address": "0xFAd53Cc9480634563E8ec71E8e693Ffd07981d38",
			"source": "RewardEscrowV2",
			"link": "https://etherscan.io/address/0xFAd53Cc9480634563E8ec71E8e693Ffd07981d38",
			"timestamp": "2024-03-07T16:41:59.000Z",
			"txn": "https://etherscan.io/tx/0x8fa41447c18ee6493f37145f25be9e3eb205f528023b4a8a360897a12db6c265",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SynthetixBridgeToOptimism": {
			"name": "SynthetixBridgeToOptimism",
			"address": "0x39Ea01a0298C315d149a490E34B59Dbf2EC7e48F",
			"source": "SynthetixBridgeToOptimism",
			"link": "https://etherscan.io/address/0x39Ea01a0298C315d149a490E34B59Dbf2EC7e48F",
			"timestamp": "2022-05-10T18:23:54.000Z",
			"txn": "https://etherscan.io/tx/0xec9ece48ccf29124a84515f1f75dc92e513f8f290816be97355a6a00adbdaa3b",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"ShortingRewardssETH": {
			"name": "ShortingRewardssETH",
			"address": "0x12DC1273915A16ab8BD47bA7866B240c253e4c12",
			"source": "ShortingRewards",
			"link": "https://etherscan.io/address/0x12DC1273915A16ab8BD47bA7866B240c253e4c12",
			"timestamp": "2021-02-04T02:57:12.387Z",
			"txn": "",
			"network": "mainnet"
		},
		"ShortingRewardssBTC": {
			"name": "ShortingRewardssBTC",
			"address": "0xCed4055b47cfD0421f3727a35F69CE659c8bAF7a",
			"source": "ShortingRewards",
			"link": "https://etherscan.io/address/0xCed4055b47cfD0421f3727a35F69CE659c8bAF7a",
			"timestamp": "2021-02-04T03:07:11.000Z",
			"txn": "https://etherscan.io/tx/0x632352d3042156b94c179a71a56de841255fc7d7fcf829f3ff40ae53e2f439d0",
			"network": "mainnet"
		},
		"TokenStatesAAVE": {
			"name": "TokenStatesAAVE",
			"address": "0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0",
			"timestamp": "2021-02-04T04:59:21.433Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysAAVE": {
			"name": "ProxysAAVE",
			"address": "0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076",
			"timestamp": "2021-02-04T04:59:32.282Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"SynthsAAVE": {
			"name": "SynthsAAVE",
			"address": "0x942Eb6e8c029EB22103743C99985aF4F4515a559",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0x942Eb6e8c029EB22103743C99985aF4F4515a559",
			"timestamp": "2022-06-09T17:42:29.880Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xd2dF355C19471c8bd7D8A3aa27Ff4e26A21b4076",
				"0x9BcED8A8E3Ad81c9b146FFC880358f734A06f7c0",
				"Synth sAAVE",
				"sAAVE",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7341415645000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"TokenStatesDOT": {
			"name": "TokenStatesDOT",
			"address": "0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077",
			"timestamp": "2021-02-04T05:05:11.555Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysDOT": {
			"name": "ProxysDOT",
			"address": "0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6",
			"timestamp": "2021-02-04T05:05:27.390Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"SynthsDOT": {
			"name": "SynthsDOT",
			"address": "0x75A0c1597137AA36B40b6a515D997F9a6c6eefEB",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0x75A0c1597137AA36B40b6a515D997F9a6c6eefEB",
			"timestamp": "2022-06-09T17:42:48.847Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0x1715AC0743102BF5Cd58EfBB6Cf2dC2685d967b6",
				"0x73B1a2643507Cd30F11Dfcf2D974f4373E5BC077",
				"Synth sDOT",
				"sDOT",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x73444f5400000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"StakingRewardssTSLABalancer": {
			"name": "StakingRewardssTSLABalancer",
			"address": "0xF0de877F2F9E7A60767f9BA662F10751566AD01c",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0xF0de877F2F9E7A60767f9BA662F10751566AD01c",
			"timestamp": "2021-02-11T19:38:23.000Z",
			"txn": "https://etherscan.io/tx/0x297b5534a231c8e7544c3b12900bf97b2f3cddea114b47425cb5b24c5711886f",
			"network": "mainnet"
		},
		"TokenStatesKRW": {
			"name": "TokenStatesKRW",
			"address": "0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730",
			"timestamp": "2021-03-24T19:10:40.419Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysKRW": {
			"name": "ProxysKRW",
			"address": "0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B",
			"timestamp": "2021-03-24T19:10:58.266Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"SynthsKRW": {
			"name": "SynthsKRW",
			"address": "0xdAe6C79c46aB3B280Ca28259000695529cbD1339",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0xdAe6C79c46aB3B280Ca28259000695529cbD1339",
			"timestamp": "2022-06-09T17:35:14.280Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0x269895a3dF4D73b077Fc823dD6dA1B95f72Aaf9B",
				"0x93B6e9FbBd2c32a0DC3C2B943B7C3CBC2fE23730",
				"Synth sKRW",
				"sKRW",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x734b525700000000000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"VirtualSynthMastercopy": {
			"name": "VirtualSynthMastercopy",
			"address": "0xf02ce48fD47D7FA1B7a45a0444805d320D035775",
			"source": "VirtualSynthMastercopy",
			"link": "https://etherscan.io/address/0xf02ce48fD47D7FA1B7a45a0444805d320D035775",
			"timestamp": "2021-04-22T00:39:13.000Z",
			"txn": "https://etherscan.io/tx/0x97cf7f9d52f180b4e0f1f642a3b18e84c3ce0c6fa31cfaef16616a31a81a808f",
			"network": "mainnet",
			"constructorArgs": []
		},
		"StakingRewardssFBBalancer": {
			"name": "StakingRewardssFBBalancer",
			"address": "0x26Fa0665660c1D3a3666584669511d3c66Ad37Cb",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0x26Fa0665660c1D3a3666584669511d3c66Ad37Cb",
			"timestamp": "2021-04-22T15:30:32.441Z",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardssAAPLBalancer": {
			"name": "StakingRewardssAAPLBalancer",
			"address": "0x7af65f1740c0eB816A27FD808EaF6Ab09F6Fa646",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0x7af65f1740c0eB816A27FD808EaF6Ab09F6Fa646",
			"timestamp": "2021-04-22T15:33:15.930Z",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardssAMZNBalancer": {
			"name": "StakingRewardssAMZNBalancer",
			"address": "0xDC338C7544654c7dadFEb7E44076E457963113B0",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0xDC338C7544654c7dadFEb7E44076E457963113B0",
			"timestamp": "2021-04-22T15:39:13.829Z",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardssNFLXBalancer": {
			"name": "StakingRewardssNFLXBalancer",
			"address": "0x8Ef8cA2AcAaAfEc19fB366C11561718357F780F2",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0x8Ef8cA2AcAaAfEc19fB366C11561718357F780F2",
			"timestamp": "2021-04-22T15:45:46.242Z",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardssGOOGBalancer": {
			"name": "StakingRewardssGOOGBalancer",
			"address": "0x6fB7F0E78582746bd01BcB6dfbFE62cA5F4F9175",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0x6fB7F0E78582746bd01BcB6dfbFE62cA5F4F9175",
			"timestamp": "2021-04-22T15:47:27.982Z",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardssCOINBalancer": {
			"name": "StakingRewardssCOINBalancer",
			"address": "0x1C1D97f6338759AB814a5A717aE359573Ab5D5d4",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0x1C1D97f6338759AB814a5A717aE359573Ab5D5d4",
			"timestamp": "2021-04-29T14:25:10.862Z",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardssMSFTBalancer": {
			"name": "StakingRewardssMSFTBalancer",
			"address": "0x9D003Cc298E7Ea141A809C241C0a703176DA3ba3",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0x9D003Cc298E7Ea141A809C241C0a703176DA3ba3",
			"timestamp": "2021-04-29T14:26:25.602Z",
			"txn": "",
			"network": "mainnet"
		},
		"SynthetixBridgeEscrow": {
			"name": "SynthetixBridgeEscrow",
			"address": "0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
			"source": "SynthetixBridgeEscrow",
			"link": "https://etherscan.io/address/0x5Fd79D46EBA7F351fe49BFF9E87cdeA6c821eF9f",
			"timestamp": "2021-05-10T21:09:42.000Z",
			"txn": "https://etherscan.io/tx/0xdb8c71768753489eed0028075cf515d0695b757b41231886b261e1aa0c573a5e",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"EtherWrapper": {
			"name": "EtherWrapper",
			"address": "0xC1AAE9d18bBe386B102435a8632C8063d31e747C",
			"source": "EtherWrapper",
			"link": "https://etherscan.io/address/0xC1AAE9d18bBe386B102435a8632C8063d31e747C",
			"timestamp": "2021-05-13T11:08:22.000Z",
			"txn": "https://etherscan.io/tx/0xcac2d9311b429ff942b8a259d49ef46e1f90caf035513eb382f1b865c1f48d78",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2",
				"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
			]
		},
		"NativeEtherWrapper": {
			"name": "NativeEtherWrapper",
			"address": "0x7A3d898b717e50a96fd8b232E9d15F0A547A7eeb",
			"source": "NativeEtherWrapper",
			"link": "https://etherscan.io/address/0x7A3d898b717e50a96fd8b232E9d15F0A547A7eeb",
			"timestamp": "2021-05-13T11:09:14.000Z",
			"txn": "https://etherscan.io/tx/0x4e628023d059a6811addf1cf4f6377fe258ce669aef5c1b392ba04553b403f44",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SynthRedeemer": {
			"name": "SynthRedeemer",
			"address": "0xe533139Af961c9747356D947838c98451015e234",
			"source": "SynthRedeemer",
			"link": "https://etherscan.io/address/0xe533139Af961c9747356D947838c98451015e234",
			"timestamp": "2021-09-10T09:21:49.000Z",
			"txn": "https://etherscan.io/tx/0x36ee7d1fff9c77636cab448a6289eca77aa9d5baef562c94cbec7b8409b5b191",
			"network": "mainnet",
			"constructorArgs": ["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]
		},
		"WrapperFactory": {
			"name": "WrapperFactory",
			"address": "0x02f9bC46beD33acdB9cb002fe346734CeF8a9480",
			"source": "WrapperFactory",
			"link": "https://etherscan.io/address/0x02f9bC46beD33acdB9cb002fe346734CeF8a9480",
			"timestamp": "2021-12-03T05:16:01.000Z",
			"txn": "https://etherscan.io/tx/0x2a4b77caf217654c2d7288cec194716f5ad02b902464094bf4c0f95a543bfc01",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"OwnerRelayOnEthereum": {
			"name": "OwnerRelayOnEthereum",
			"address": "0x0e16A6876210841577b233C4165d7B7EdF640b8a",
			"source": "OwnerRelayOnEthereum",
			"link": "https://etherscan.io/address/0x0e16A6876210841577b233C4165d7B7EdF640b8a",
			"timestamp": "2021-11-23T22:26:10.000Z",
			"txn": "https://etherscan.io/tx/0xcb2daf5c04fde995ba13c6ca4e3eb9edd794f3031f0380ce653abed742ae4834",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"TokenStatesETHBTC": {
			"name": "TokenStatesETHBTC",
			"address": "0x042A7A0022A7695454ac5Be77a4860e50c9683fC",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x042A7A0022A7695454ac5Be77a4860e50c9683fC",
			"timestamp": "2021-12-15T22:05:17.310Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ProxysETHBTC": {
			"name": "ProxysETHBTC",
			"address": "0x104eDF1da359506548BFc7c25bA1E28C16a70235",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x104eDF1da359506548BFc7c25bA1E28C16a70235",
			"timestamp": "2021-12-15T22:05:20.000Z",
			"txn": "https://etherscan.io/tx/0xef2ff387f4ccca14ff4b02d9226420cdd4766873d99f8733a92ec78e8fea2dae",
			"network": "mainnet",
			"constructorArgs": ["0xEb3107117FEAd7de89Cd14D463D340A2E6917769"]
		},
		"SynthsETHBTC": {
			"name": "SynthsETHBTC",
			"address": "0x07C1E81C345A7c58d7c24072EFc5D929BD0647AD",
			"source": "MultiCollateralSynth",
			"link": "https://etherscan.io/address/0x07C1E81C345A7c58d7c24072EFc5D929BD0647AD",
			"timestamp": "2022-06-09T17:45:11.788Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0x104eDF1da359506548BFc7c25bA1E28C16a70235",
				"0x042A7A0022A7695454ac5Be77a4860e50c9683fC",
				"Synth sETHBTC",
				"sETHBTC",
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x7345544842544300000000000000000000000000000000000000000000000000",
				0,
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SystemSettingsLib": {
			"name": "SystemSettingsLib",
			"address": "0x4a39AEf2281ac0D192a9c4783604833bA8F31174",
			"source": "SystemSettingsLib",
			"link": "https://etherscan.io/address/0x4a39AEf2281ac0D192a9c4783604833bA8F31174",
			"timestamp": "2022-11-03T15:38:23.000Z",
			"txn": "https://etherscan.io/tx/0xca3c6b70fb04703653c0063a49ade442c0f00ac5f29e43d0bea88c7178c197da",
			"network": "mainnet",
			"constructorArgs": []
		},
		"SynthetixDebtShare": {
			"name": "SynthetixDebtShare",
			"address": "0x89FCb32F29e509cc42d0C8b6f058C993013A843F",
			"source": "SynthetixDebtShare",
			"link": "https://etherscan.io/address/0x89FCb32F29e509cc42d0C8b6f058C993013A843F",
			"timestamp": "2022-02-09T02:43:59.000Z",
			"txn": "https://etherscan.io/tx/0x8f8d6ab299f46dbd8d1ac9a7761ead5f2dc8166f71694659381d5d727435a060",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"SignedSafeDecimalMath": {
			"name": "SignedSafeDecimalMath",
			"address": "0x728A2B79Cad691531CC1146eF802617FF50c7095",
			"source": "SignedSafeDecimalMath",
			"link": "https://etherscan.io/address/0x728A2B79Cad691531CC1146eF802617FF50c7095",
			"timestamp": "2022-03-17T19:21:07.000Z",
			"txn": "https://etherscan.io/tx/0xec1c90d5fdafded769ef75103a4fc257e0db9523087ac7b0dd2da2e3a9a33106",
			"network": "mainnet",
			"constructorArgs": []
		},
		"OneNetAggregatorIssuedSynths": {
			"name": "OneNetAggregatorIssuedSynths",
			"address": "0xcf1405b18dBCEA2893Abe635c88359C75878B9e1",
			"source": "OneNetAggregatorIssuedSynths",
			"link": "https://etherscan.io/address/0xcf1405b18dBCEA2893Abe635c88359C75878B9e1",
			"timestamp": "2022-03-17T19:21:38.000Z",
			"txn": "https://etherscan.io/tx/0xc8e3587a015330d52107765989f8e2f2e0d27227c45fbc92d511b261926cca40",
			"network": "mainnet",
			"constructorArgs": ["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]
		},
		"OneNetAggregatorDebtRatio": {
			"name": "OneNetAggregatorDebtRatio",
			"address": "0x977d0DD7eA212E9ca1dcD4Ec15cd7Ceb135fa68D",
			"source": "OneNetAggregatorDebtRatio",
			"link": "https://etherscan.io/address/0x977d0DD7eA212E9ca1dcD4Ec15cd7Ceb135fa68D",
			"timestamp": "2022-03-17T19:21:39.000Z",
			"txn": "https://etherscan.io/tx/0x46784e77e35b7e2e9999c3c54c776029790e75eb15ca3b77153a7de51b6c5fe0",
			"network": "mainnet",
			"constructorArgs": ["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]
		},
		"ExchangeCircuitBreaker": {
			"name": "ExchangeCircuitBreaker",
			"address": "0xeAcaEd9581294b1b5cfb6B941d4B8B81B2005437",
			"source": "ExchangeCircuitBreaker",
			"link": "https://etherscan.io/address/0xeAcaEd9581294b1b5cfb6B941d4B8B81B2005437",
			"timestamp": "2022-03-17T19:25:25.000Z",
			"txn": "https://etherscan.io/tx/0x49e5553deb5ff969b9de6f6a5ebf794164d3a8df08eb3707898e6fd1c866b66b",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"FuturesMarketManager": {
			"name": "FuturesMarketManager",
			"address": "0xd3f527F47A9DF2f6cBf631081315b6e2FE4e4521",
			"source": "EmptyFuturesMarketManager",
			"link": "https://etherscan.io/address/0xd3f527F47A9DF2f6cBf631081315b6e2FE4e4521",
			"timestamp": "2023-04-05T15:00:11.000Z",
			"txn": "https://etherscan.io/tx/0x017a6ed7ac148238add457c56425c2e21f2e0b2d4a39719421375480008ada1f",
			"network": "mainnet",
			"constructorArgs": []
		},
		"Liquidator": {
			"name": "Liquidator",
			"address": "0x8e9757479D5ad4E7f9d951B60d39F5220b893d6c",
			"source": "Liquidator",
			"link": "https://etherscan.io/address/0x8e9757479D5ad4E7f9d951B60d39F5220b893d6c",
			"timestamp": "2022-11-30T21:28:06.204Z",
			"txn": "",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"LiquidatorRewards": {
			"name": "LiquidatorRewards",
			"address": "0xf79603a71144e415730C1A6f57F366E4Ea962C00",
			"source": "LiquidatorRewards",
			"link": "https://etherscan.io/address/0xf79603a71144e415730C1A6f57F366E4Ea962C00",
			"timestamp": "2022-05-14T03:46:43.000Z",
			"txn": "https://etherscan.io/tx/0xf3d6a0eb6d89c111abcfac7ec969301015c26881fab98c48d5a82c0da32b5831",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"OneNetAggregatorsDEFI": {
			"name": "OneNetAggregatorsDEFI",
			"address": "0x646F23085281Dbd006FBFD211FD38d0743884864",
			"source": "OneNetAggregatorsDEFI",
			"link": "https://etherscan.io/address/0x646F23085281Dbd006FBFD211FD38d0743884864",
			"timestamp": "2022-06-14T22:18:36.000Z",
			"txn": "https://etherscan.io/tx/0x63dc092c2a9d752c794c72d4633229041c4222a530bf15307118e13c381b54cf",
			"network": "mainnet",
			"constructorArgs": ["0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"]
		},
		"CircuitBreaker": {
			"name": "CircuitBreaker",
			"address": "0x9f231dBE53D460f359B2B8CC47574493caA5B7Bf",
			"source": "CircuitBreaker",
			"link": "https://etherscan.io/address/0x9f231dBE53D460f359B2B8CC47574493caA5B7Bf",
			"timestamp": "2022-08-17T15:14:27.000Z",
			"txn": "https://etherscan.io/tx/0xc92882d1eca53d6529f5773049d5d1dde9b0f3901c6ea5e4975f9e7c35bf7b73",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"RewardEscrowV2Storage": {
			"name": "RewardEscrowV2Storage",
			"address": "0x182738BD9eE9810BC11f1c81b07Ec6F3691110BB",
			"source": "RewardEscrowV2Storage",
			"link": "https://etherscan.io/address/0x182738BD9eE9810BC11f1c81b07Ec6F3691110BB",
			"timestamp": "2022-10-20T23:04:35.000Z",
			"txn": "https://etherscan.io/tx/0x68eb646ac70843b64054c7a1e859a8c50a3ab12c08148fb7cfebf3297111857b",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x0000000000000000000000000000000000000000"
			]
		},
		"ExchangeSettlementLib": {
			"name": "ExchangeSettlementLib",
			"address": "0xAa5A3D7F04E15b22Eb3664B56310aA18A3527Ec7",
			"source": "ExchangeSettlementLib",
			"link": "https://etherscan.io/address/0xAa5A3D7F04E15b22Eb3664B56310aA18A3527Ec7",
			"timestamp": "2022-11-03T15:38:35.000Z",
			"txn": "https://etherscan.io/tx/0xfbb27053ef5ad1e8af325ade4c9db5bdf3eb3aa44ba0c043e46a53102dfc427d",
			"network": "mainnet",
			"constructorArgs": []
		},
		"DirectIntegrationManager": {
			"name": "DirectIntegrationManager",
			"address": "0x5F41718459955217df6A02AA8f5C19614ECfA6E7",
			"source": "DirectIntegrationManager",
			"link": "https://etherscan.io/address/0x5F41718459955217df6A02AA8f5C19614ECfA6E7",
			"timestamp": "2022-11-03T15:39:35.000Z",
			"txn": "https://etherscan.io/tx/0x75bd8b9fb9afce02389f9697c69774b8695638cd74b1caa0befd396a2ddce431",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"DebtMigratorOnEthereum": {
			"name": "DebtMigratorOnEthereum",
			"address": "0x94f864e55c77E07C2C7BF7bFBc334b7a8123442A",
			"source": "DebtMigratorOnEthereum",
			"link": "https://etherscan.io/address/0x94f864e55c77E07C2C7BF7bFBc334b7a8123442A",
			"timestamp": "2023-03-22T14:42:23.000Z",
			"txn": "https://etherscan.io/tx/0xbdabbb5b6aeef7ce35456db0217ccd5702a2710d37bc646feb8e1772e90d3e56",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		},
		"DynamicSynthRedeemer": {
			"name": "DynamicSynthRedeemer",
			"address": "0x38c8A4d93757D3D2E0110Cfb5f18B9cC293e0fdA",
			"source": "DynamicSynthRedeemer",
			"link": "https://etherscan.io/address/0x38c8A4d93757D3D2E0110Cfb5f18B9cC293e0fdA",
			"timestamp": "2024-04-16T18:34:11.000Z",
			"txn": "https://etherscan.io/tx/0x2c53357ad2e530fdacb71fdee91776c9cbfac37206b0589b1bb121d9cc9c497f",
			"network": "mainnet",
			"constructorArgs": [
				"0xEb3107117FEAd7de89Cd14D463D340A2E6917769",
				"0x4E3b31eB0E5CB73641EE1E65E7dCEFe520bA3ef2"
			]
		}
	},
	"sources": {
		"StakingRewardsSNXBalancer": {
			"bytecode": "60806040526000600855600060095534801561001a57600080fd5b506040516112843803806112848339818101604052606081101561003d57600080fd5b50805160208201516040909201516001600081905580546001600160a01b0319166001600160a01b0380841691909117909155919291839081166100c8576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050600780546001600160a01b0319166001600160a01b039290921691909117905550611130806101546000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c806372f702f3116100de578063a694fc3a11610097578063d1af0c7d11610071578063d1af0c7d14610342578063df136d651461034a578063e9fad8ee14610352578063ebe2b12b1461035a57610172565b8063a694fc3a14610315578063c8f33c9114610332578063cd3daf9d1461033a57610172565b806372f702f3146102c757806379ba5097146102cf5780637b0a47ee146102d757806380faa57d146102df5780638b876347146102e75780638da5cb5b1461030d57610172565b80632e1a7d4d116101305780632e1a7d4d146102335780633c6b16ab146102505780633d18b9121461026d5780633fc6df6e1461027557806353a47bb71461029957806370a08231146102a157610172565b80628cc262146101775780630700037d146101af5780631627540c146101d557806318160ddd146101fd57806319762143146102055780631be052891461022b575b600080fd5b61019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610362565b60408051918252519081900360200190f35b61019d600480360360208110156101c557600080fd5b50356001600160a01b03166103e8565b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166103fa565b005b61019d610497565b6101fb6004803603602081101561021b57600080fd5b50356001600160a01b031661049e565b61019d610509565b6101fb6004803603602081101561024957600080fd5b5035610510565b6101fb6004803603602081101561026657600080fd5b50356105f7565b6101fb610761565b61027d610833565b604080516001600160a01b039092168252519081900360200190f35b61027d610842565b61019d600480360360208110156102b757600080fd5b50356001600160a01b0316610851565b61027d61086c565b6101fb61087b565b61019d610937565b61019d61093d565b61019d600480360360208110156102fd57600080fd5b50356001600160a01b0316610950565b61027d610962565b6101fb6004803603602081101561032b57600080fd5b5035610971565b61019d610a55565b61019d610a5b565b61027d610aaf565b61019d610abe565b6101fb610ac4565b61019d610adf565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546103e291906103d690670de0b6b3a7640000906103ca906103b5906103a9610a5b565b9063ffffffff610ae516565b6103be88610851565b9063ffffffff610b4216565b9063ffffffff610ba216565b9063ffffffff610c0c16565b92915050565b600d6020526000908152604090205481565b6004546001600160a01b031633146104435760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002545b90565b6004546001600160a01b031633146104e75760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b62093a8081565b33610519610a5b565b600b5561052461093d565b600a556001600160a01b0381161561056b5761053f81610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600082116105b4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b6105bd82610c66565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6006546001600160a01b031633146106405760405162461bcd60e51b815260040180806020018281038252602a8152602001806110a8602a913960400191505060405180910390fd5b600061064a610a5b565b600b5561065561093d565b600a556001600160a01b0381161561069c5761067081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60085442106106c0576106b88262093a8063ffffffff610ba216565b60095561070e565b6008546000906106d6904263ffffffff610ae516565b905060006106ef60095483610b4290919063ffffffff16565b905061070862093a806103ca868463ffffffff610c0c16565b60095550505b42600a8190556107279062093a8063ffffffff610c0c16565b6008556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b3361076a610a5b565b600b5561077561093d565b600a556001600160a01b038116156107bc5761079081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60006107c733610362565b9050801561082f57336000818152600d60205260408120556007546107f8916001600160a01b039091169083610d29565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546001600160a01b031681565b6005546001600160a01b031633146108c45760405162461bcd60e51b81526004018080602001828103825260358152602001806110236035913960400191505060405180910390fd5b600454600554604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600061094b42600854610d80565b905090565b600c6020526000908152604090205481565b6004546001600160a01b031681565b3361097a610a5b565b600b5561098561093d565b600a556001600160a01b038116156109cc576109a081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008211610a12576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610a1b82610d96565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b600a5481565b6000610a65610497565b610a725750600b5461049b565b61094b610aa0610a80610497565b6103ca670de0b6b3a76400006103be6009546103be600a546103a961093d565b600b549063ffffffff610c0c16565b6007546001600160a01b031681565b600b5481565b610ad5610ad033610851565b610510565b610add610761565b565b60085481565b600082821115610b3c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610b51575060006103e2565b82820282848281610b5e57fe5b0414610b9b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110876021913960400191505060405180910390fd5b9392505050565b6000808211610bf8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610c0357fe5b04949350505050565b600082820183811015610b9b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000805460010190819055600254610c84908363ffffffff610ae516565b60025533600090815260036020526040902054610ca7908363ffffffff610ae516565b33600081815260036020526040902091909155600154610cd3916001600160a01b039091169084610d29565b600054811461082f576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d7b908490610e04565b505050565b6000818310610d8f5781610b9b565b5090919050565b6000805460010190819055600254610db4908363ffffffff610c0c16565b60025533600090815260036020526040902054610dd7908363ffffffff610c0c16565b33600081815260036020526040902091909155600154610cd3916001600160a01b03909116903085610fc2565b610e16826001600160a01b031661101c565b610e67576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610ea55780518252601f199092019160209182019101610e86565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f07576040519150601f19603f3d011682016040523d82523d6000602084013e610f0c565b606091505b509150915081610f63576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610fbc57808060200190516020811015610f7f57600080fd5b5051610fbc5760405162461bcd60e51b815260040180806020018281038252602a8152602001806110d2602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610fbc908590610e04565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582020f5794a903f0922bce34e601a6a65292617f8c4088dc06fb54f3e90598520c864736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000815f8ef4863451f4faf34fbc860034812e7377d9",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsToken",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingToken",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staked",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			]
		},
		"StakingRewardsiETH": {
			"bytecode": "60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516119443803806119448339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611785806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610448578063df136d6514610450578063e9fad8ee14610458578063ebe2b12b14610460576101e4565b8063a694fc3a146103fe578063c8f33c911461041b578063cc1a378f14610423578063cd3daf9d14610440576101e4565b80638980f11f116100de5780638980f11f1461039c5780638b876347146103c85780638da5cb5b146103ee57806391b4ded9146103f6576101e4565b806372f702f31461037c57806379ba5097146103845780637b0a47ee1461038c57806380faa57d14610394576101e4565b80632e1a7d4d116101875780633fc6df6e116101565780633fc6df6e1461030e57806353a47bb7146103325780635c975abb1461033a57806370a0823114610356576101e4565b80632e1a7d4d146102c4578063386a9525146102e15780633c6b16ab146102e95780633d18b91214610306576101e4565b806316c38b3c116101c357806316c38b3c1461026f57806318160ddd1461028e57806319762143146102965780631c1f78eb146102bc576101e4565b80628cc262146101e95780630700037d146102215780631627540c14610247575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610468565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b50356001600160a01b03166104fe565b61026d6004803603602081101561025d57600080fd5b50356001600160a01b0316610510565b005b61026d6004803603602081101561028557600080fd5b50351515610579565b61020f610611565b61026d600480360360208110156102ac57600080fd5b50356001600160a01b0316610618565b61020f61064f565b61026d600480360360208110156102da57600080fd5b503561066d565b61020f61081b565b61026d600480360360208110156102ff57600080fd5b5035610821565b61026d610a90565b610316610bce565b604080516001600160a01b039092168252519081900360200190f35b610316610bdd565b610342610bec565b604080519115158252519081900360200190f35b61020f6004803603602081101561036c57600080fd5b50356001600160a01b0316610bf5565b610316610c10565b61026d610c1f565b61020f610ce8565b61020f610cee565b61026d600480360360408110156103b257600080fd5b506001600160a01b038135169060200135610cfc565b61020f600480360360208110156103de57600080fd5b50356001600160a01b0316610db9565b610316610dcb565b61020f610dda565b61026d6004803603602081101561041457600080fd5b5035610de0565b61020f610fcd565b61026d6004803603602081101561043957600080fd5b5035610fd3565b61020f611056565b6103166110b0565b61020f6110c4565b61026d6110ca565b61020f6110ed565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546104f891906104ec90670de0b6b3a7640000906104e0906104bb906104af611056565b9063ffffffff6110f316565b6001600160a01b0388166000908152600f60205260409020549063ffffffff61115016565b9063ffffffff6111b016565b9063ffffffff61121a16565b92915050565b600d6020526000908152604090205481565b610518611274565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610581611274565b60055460ff16151581151514156105975761060e565b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016821515179081905560ff16156105d257426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b610620611274565b6002805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b600061066860095460085461115090919063ffffffff16565b905090565b600380546001019081905533610681611056565b600b5561068c610cee565b600a556001600160a01b038116156106d3576106a781610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610728576040805162461bcd60e51b815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b600e5461073b908463ffffffff6110f316565b600e55336000908152600f602052604090205461075e908463ffffffff6110f316565b336000818152600f602052604090209190915560065461078a916001600160a01b0390911690856112bd565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a2506003548114610817576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b0316331461086a5760405162461bcd60e51b815260040180806020018281038252602a8152602001806116dc602a913960400191505060405180910390fd5b6000610874611056565b600b5561087f610cee565b600a556001600160a01b038116156108c65761089a81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108eb576009546108e390839063ffffffff6111b016565b60085561093a565b600754600090610901904263ffffffff6110f316565b9050600061091a6008548361115090919063ffffffff16565b600954909150610934906104e0868463ffffffff61121a16565b60085550505b600554604080517f70a08231000000000000000000000000000000000000000000000000000000008152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156109a357600080fd5b505afa1580156109b7573d6000803e3d6000fd5b505050506040513d60208110156109cd57600080fd5b50516009549091506109e690829063ffffffff6111b016565b6008541115610a3c576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a819055600954610a55919063ffffffff61121a16565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610aa4611056565b600b55610aaf610cee565b600a556001600160a01b03811615610af657610aca81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b7657336000818152600d6020526040812055600554610b3f916101009091046001600160a01b0316908363ffffffff6112bd16565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050600354811461060e576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c685760405162461bcd60e51b815260040180806020018281038252603581526020018061161b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60085481565b600061066842600754611342565b610d04611274565b6006546001600160a01b0383811691161415610d515760405162461bcd60e51b81526004018080602001828103825260218152602001806117306021913960400191505060405180910390fd5b600054610d71906001600160a01b0384811691168363ffffffff6112bd16565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610e2d5760405162461bcd60e51b815260040180806020018281038252603c8152602001806116a0603c913960400191505060405180910390fd5b33610e36611056565b600b55610e41610cee565b600a556001600160a01b03811615610e8857610e5c81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610edd576040805162461bcd60e51b815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b600e54610ef0908463ffffffff61121a16565b600e55336000908152600f6020526040902054610f13908463ffffffff61121a16565b336000818152600f6020526040902091909155600654610f40916001600160a01b03909116903086611358565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a2506003548114610817576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610fdb611274565b600754421161101b5760405162461bcd60e51b81526004018080602001828103825260588152602001806115c36058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e546000141561106c5750600b54610615565b6106686110a1600e546104e0670de0b6b3a7640000611095600854611095600a546104af610cee565b9063ffffffff61115016565b600b549063ffffffff61121a16565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f60205260409020546110e39061066d565b6110eb610a90565b565b60075481565b60008282111561114a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261115f575060006104f8565b8282028284828161116c57fe5b04146111a95760405162461bcd60e51b815260040180806020018281038252602181526020018061167f6021913960400191505060405180910390fd5b9392505050565b6000808211611206576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161121157fe5b04949350505050565b6000828201838110156111a9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146110eb5760405162461bcd60e51b815260040180806020018281038252602f815260200180611650602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261133d9084906113e6565b505050565b600081831061135157816111a9565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f23b872dd000000000000000000000000000000000000000000000000000000001790526113e09085906113e6565b50505050565b6113f8826001600160a01b03166115bc565b611449576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106114a557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101611468565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611507576040519150601f19603f3d011682016040523d82523d6000602084013e61150c565b606091505b509150915081611563576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156113e05780806020019051602081101561157f57600080fd5b50516113e05760405162461bcd60e51b815260040180806020018281038252602a815260200180611706602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a723158208b83eefb43b089806eff7784b780d70acd17c72f6018ec967b92105af81e30ee64736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe00000000000000000000000029c295b046a73cde593f21f63091b072d407e3f2000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000a9859874e1743a32409f75bb11549892138bba1e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsToken",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingToken",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "token",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Recovered",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "RewardsDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staked",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardForDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "tokenAmount",
							"type": "uint256"
						}
					],
					"name": "recoverERC20",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rewardsDuration",
							"type": "uint256"
						}
					],
					"name": "setRewardsDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			]
		},
		"StakingRewardsiBTC": {
			"bytecode": "60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516118513803806118518339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611692806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610448578063df136d6514610450578063e9fad8ee14610458578063ebe2b12b14610460576101e4565b8063a694fc3a146103fe578063c8f33c911461041b578063cc1a378f14610423578063cd3daf9d14610440576101e4565b80638980f11f116100de5780638980f11f1461039c5780638b876347146103c85780638da5cb5b146103ee57806391b4ded9146103f6576101e4565b806372f702f31461037c57806379ba5097146103845780637b0a47ee1461038c57806380faa57d14610394576101e4565b80632e1a7d4d116101875780633fc6df6e116101565780633fc6df6e1461030e57806353a47bb7146103325780635c975abb1461033a57806370a0823114610356576101e4565b80632e1a7d4d146102c4578063386a9525146102e15780633c6b16ab146102e95780633d18b91214610306576101e4565b806316c38b3c116101c357806316c38b3c1461026f57806318160ddd1461028e57806319762143146102965780631c1f78eb146102bc576101e4565b80628cc262146101e95780630700037d146102215780631627540c14610247575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610468565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b50356001600160a01b03166104fe565b61026d6004803603602081101561025d57600080fd5b50356001600160a01b0316610510565b005b61026d6004803603602081101561028557600080fd5b5035151561056c565b61020f6105e6565b61026d600480360360208110156102ac57600080fd5b50356001600160a01b03166105ed565b61020f610617565b61026d600480360360208110156102da57600080fd5b5035610635565b61020f6107d7565b61026d600480360360208110156102ff57600080fd5b50356107dd565b61026d610a33565b610316610b71565b604080516001600160a01b039092168252519081900360200190f35b610316610b80565b610342610b8f565b604080519115158252519081900360200190f35b61020f6004803603602081101561036c57600080fd5b50356001600160a01b0316610b98565b610316610bb3565b61026d610bc2565b61020f610c7e565b61020f610c84565b61026d600480360360408110156103b257600080fd5b506001600160a01b038135169060200135610c92565b61020f600480360360208110156103de57600080fd5b50356001600160a01b0316610d4f565b610316610d61565b61020f610d70565b61026d6004803603602081101561041457600080fd5b5035610d76565b61020f610f54565b61026d6004803603602081101561043957600080fd5b5035610f5a565b61020f610fdd565b610316611037565b61020f61104b565b61026d611051565b61020f611074565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546104f891906104ec90670de0b6b3a7640000906104e0906104bb906104af610fdd565b9063ffffffff61107a16565b6001600160a01b0388166000908152600f60205260409020549063ffffffff6110d716565b9063ffffffff61113716565b9063ffffffff6111a116565b92915050565b600d6020526000908152604090205481565b6105186111fb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6105746111fb565b60055460ff161515811515141561058a576105e3565b6005805460ff1916821515179081905560ff16156105a757426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b6105f56111fb565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60006106306009546008546110d790919063ffffffff16565b905090565b600380546001019081905533610649610fdd565b600b55610654610c84565b600a556001600160a01b0381161561069b5761066f81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600083116106e4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600e546106f7908463ffffffff61107a16565b600e55336000908152600f602052604090205461071a908463ffffffff61107a16565b336000818152600f6020526040902091909155600654610746916001600160a01b039091169085611244565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25060035481146107d3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b031633146108265760405162461bcd60e51b815260040180806020018281038252602a8152602001806115e9602a913960400191505060405180910390fd5b6000610830610fdd565b600b5561083b610c84565b600a556001600160a01b038116156108825761085681610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108a75760095461089f90839063ffffffff61113716565b6008556108f6565b6007546000906108bd904263ffffffff61107a16565b905060006108d6600854836110d790919063ffffffff16565b6009549091506108f0906104e0868463ffffffff6111a116565b60085550505b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561094657600080fd5b505afa15801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b505160095490915061098990829063ffffffff61113716565b60085411156109df576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a8190556009546109f8919063ffffffff6111a116565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610a47610fdd565b600b55610a52610c84565b600a556001600160a01b03811615610a9957610a6d81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b1957336000818152600d6020526040812055600554610ae2916101009091046001600160a01b0316908363ffffffff61124416565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b505060035481146105e3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c0b5760405162461bcd60e51b81526004018080602001828103825260358152602001806115286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60006106304260075461129b565b610c9a6111fb565b6006546001600160a01b0383811691161415610ce75760405162461bcd60e51b815260040180806020018281038252602181526020018061163d6021913960400191505060405180910390fd5b600054610d07906001600160a01b0384811691168363ffffffff61124416565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610dc35760405162461bcd60e51b815260040180806020018281038252603c8152602001806115ad603c913960400191505060405180910390fd5b33610dcc610fdd565b600b55610dd7610c84565b600a556001600160a01b03811615610e1e57610df281610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610e64576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600e54610e77908463ffffffff6111a116565b600e55336000908152600f6020526040902054610e9a908463ffffffff6111a116565b336000818152600f6020526040902091909155600654610ec7916001600160a01b039091169030866112b1565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25060035481146107d3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610f626111fb565b6007544211610fa25760405162461bcd60e51b81526004018080602001828103825260588152602001806114d06058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e5460001415610ff35750600b546105ea565b610630611028600e546104e0670de0b6b3a764000061101c60085461101c600a546104af610c84565b9063ffffffff6110d716565b600b549063ffffffff6111a116565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f602052604090205461106a90610635565b611072610a33565b565b60075481565b6000828211156110d1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826110e6575060006104f8565b828202828482816110f357fe5b04146111305760405162461bcd60e51b815260040180806020018281038252602181526020018061158c6021913960400191505060405180910390fd5b9392505050565b600080821161118d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161119857fe5b04949350505050565b600082820183811015611130576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146110725760405162461bcd60e51b815260040180806020018281038252602f81526020018061155d602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611296908490611311565b505050565b60008183106112aa5781611130565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261130b908590611311565b50505050565b611323826001600160a01b03166114c9565b611374576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106113b25780518252601f199092019160209182019101611393565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611414576040519150601f19603f3d011682016040523d82523d6000602084013e611419565b606091505b509150915081611470576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561130b5780806020019051602081101561148c57600080fd5b505161130b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611613602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a723158202eb365ebf546576b24ad7d50e8e202c58cf53c658ea8db367bced21890c9efd964736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f000000000000000000000000d6014ea05bde904448b743833ddf07c3c7837481",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsToken",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingToken",
							"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": "token",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Recovered",
					"type": "event",
					"signature": "0x8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "token",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Recovered",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event",
					"signature": "0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event",
					"signature": "0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "RewardsDurationUpdated",
					"type": "event",
					"signature": "0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "RewardsDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staked",
					"type": "event",
					"signature": "0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"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": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x008cc262"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9fad8ee"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d18b912"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardForDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1c1f78eb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x80faa57d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8f33c91"
				},
				{
					"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": "reward",
							"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": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xebe2b12b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "tokenAmount",
							"type": "uint256"
						}
					],
					"name": "recoverERC20",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8980f11f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "tokenAmount",
							"type": "uint256"
						}
					],
					"name": "recoverERC20",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd3daf9d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdf136d65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7b0a47ee"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0700037d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fc6df6e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x386a9525"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd1af0c7d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19762143"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rewardsDuration",
							"type": "uint256"
						}
					],
					"name": "setRewardsDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcc1a378f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rewardsDuration",
							"type": "uint256"
						}
					],
					"name": "setRewardsDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa694fc3a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72f702f3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b876347"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e1a7d4d"
				}
			]
		},
		"StakingRewardssBTCCurve": {
			"bytecode": "60806040526000600855600060095534801561001a57600080fd5b5060405161163b38038061163b8339818101604052608081101561003d57600080fd5b508051602082015160408301516060909301516001600081905580546001600160a01b0319166001600160a01b038084169190911790915592939192849081166100ce576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050600780546001600160a01b039283166001600160a01b03199182161790915560068054939092169216919091179055506114d2806101696000396000f3fe608060405234801561001057600080fd5b50600436106101a85760003560e01c806372f702f3116100f9578063a694fc3a11610097578063d1af0c7d11610071578063d1af0c7d146103ac578063df136d65146103b4578063e9fad8ee146103bc578063ebe2b12b146103c4576101a8565b8063a694fc3a1461037f578063c8f33c911461039c578063cd3daf9d146103a4576101a8565b806380faa57d116100d357806380faa57d1461031d5780638980f11f146103255780638b876347146103515780638da5cb5b14610377576101a8565b806372f702f31461030557806379ba50971461030d5780637b0a47ee14610315576101a8565b80631c1f78eb116101665780633d18b912116101405780633d18b912146102ab5780633fc6df6e146102b357806353a47bb7146102d757806370a08231146102df576101a8565b80631c1f78eb146102695780632e1a7d4d146102715780633c6b16ab1461028e576101a8565b80628cc262146101ad5780630700037d146101e55780631627540c1461020b57806318160ddd14610233578063197621431461023b5780631be0528914610261575b600080fd5b6101d3600480360360208110156101c357600080fd5b50356001600160a01b03166103cc565b60408051918252519081900360200190f35b6101d3600480360360208110156101fb57600080fd5b50356001600160a01b0316610452565b6102316004803603602081101561022157600080fd5b50356001600160a01b0316610464565b005b6101d3610501565b6102316004803603602081101561025157600080fd5b50356001600160a01b0316610508565b6101d3610573565b6101d361057a565b6102316004803603602081101561028757600080fd5b5035610598565b610231600480360360208110156102a457600080fd5b503561067f565b6102316107e9565b6102bb6108bb565b604080516001600160a01b039092168252519081900360200190f35b6102bb6108ca565b6101d3600480360360208110156102f557600080fd5b50356001600160a01b03166108d9565b6102bb6108f4565b610231610903565b6101d36109bf565b6101d36109c5565b6102316004803603604081101561033b57600080fd5b506001600160a01b0381351690602001356109d3565b6101d36004803603602081101561036757600080fd5b50356001600160a01b0316610cc5565b6102bb610cd7565b6102316004803603602081101561039557600080fd5b5035610ce6565b6101d3610dca565b6101d3610dd0565b6102bb610e24565b6101d3610e33565b610231610e39565b6101d3610e54565b6001600160a01b0381166000908152600d6020908152604080832054600c90925282205461044c919061044090670de0b6b3a7640000906104349061041f90610413610dd0565b9063ffffffff610e5a16565b610428886108d9565b9063ffffffff610eb716565b9063ffffffff610f1716565b9063ffffffff610f8116565b92915050565b600d6020526000908152604090205481565b6004546001600160a01b031633146104ad5760405162461bcd60e51b815260040180806020018281038252602f8152602001806113cd602f913960400191505060405180910390fd5b600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002545b90565b6004546001600160a01b031633146105515760405162461bcd60e51b815260040180806020018281038252602f8152602001806113cd602f913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b62093a8081565b6009546000906105939062093a8063ffffffff610eb716565b905090565b336105a1610dd0565b600b556105ac6109c5565b600a556001600160a01b038116156105f3576105c7816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6000821161063c576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b61064582610fdb565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6006546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252602a81526020018061144a602a913960400191505060405180910390fd5b60006106d2610dd0565b600b556106dd6109c5565b600a556001600160a01b03811615610724576106f8816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6008544210610748576107408262093a8063ffffffff610f1716565b600955610796565b60085460009061075e904263ffffffff610e5a16565b9050600061077760095483610eb790919063ffffffff16565b905061079062093a80610434868463ffffffff610f8116565b60095550505b42600a8190556107af9062093a8063ffffffff610f8116565b6008556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b336107f2610dd0565b600b556107fd6109c5565b600a556001600160a01b0381161561084457610818816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600061084f336103cc565b905080156108b757336000818152600d6020526040812055600754610880916001600160a01b03909116908361109e565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546001600160a01b031681565b6005546001600160a01b0316331461094c5760405162461bcd60e51b81526004018080602001828103825260358152602001806113986035913960400191505060405180910390fd5b600454600554604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b6000610593426008546110f5565b6004546001600160a01b03163314610a1c5760405162461bcd60e51b815260040180806020018281038252602f8152602001806113cd602f913960400191505060405180910390fd5b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610a5757600080fd5b505afa158015610a6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610a9457600080fd5b8101908080516040519392919084640100000000821115610ab457600080fd5b908301906020820185811115610ac957600080fd5b8251640100000000811182820188101715610ae357600080fd5b82525081516020918201929091019080838360005b83811015610b10578181015183820152602001610af8565b50505050905090810190601f168015610b3d5780820380516001836020036101000a031916815260200191505b506040818152855160209687012082820190915260038252620a69cb60eb1b959091019490945250506001547fc33e514e79311fe606801af4b4f343c83a3b72dca711239a516f2103673922d19092149250506001600160a01b03848116911614801590610bb957506007546001600160a01b03848116911614155b8015610bc3575080155b610bfe5760405162461bcd60e51b815260040180806020018281038252602d81526020018061141d602d913960400191505060405180910390fd5b600480546040805163a9059cbb60e01b81526001600160a01b039283169381019390935260248301859052519085169163a9059cbb9160448083019260209291908290030181600087803b158015610c5557600080fd5b505af1158015610c69573d6000803e3d6000fd5b505050506040513d6020811015610c7f57600080fd5b50506040805183815290516001600160a01b038516917f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28919081900360200190a2505050565b600c6020526000908152604090205481565b6004546001600160a01b031681565b33610cef610dd0565b600b55610cfa6109c5565b600a556001600160a01b03811615610d4157610d15816103cc565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008211610d87576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610d908261110b565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b600a5481565b6000610dda610501565b610de75750600b54610505565b610593610e15610df5610501565b610434670de0b6b3a7640000610428600954610428600a546104136109c5565b600b549063ffffffff610f8116565b6007546001600160a01b031681565b600b5481565b610e4a610e45336108d9565b610598565b610e526107e9565b565b60085481565b600082821115610eb1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610ec65750600061044c565b82820282848281610ed357fe5b0414610f105760405162461bcd60e51b81526004018080602001828103825260218152602001806113fc6021913960400191505060405180910390fd5b9392505050565b6000808211610f6d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610f7857fe5b04949350505050565b600082820183811015610f10576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000805460010190819055600254610ff9908363ffffffff610e5a16565b6002553360009081526003602052604090205461101c908363ffffffff610e5a16565b33600081815260036020526040902091909155600154611048916001600160a01b03909116908461109e565b60005481146108b7576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526110f0908490611179565b505050565b60008183106111045781610f10565b5090919050565b6000805460010190819055600254611129908363ffffffff610f8116565b6002553360009081526003602052604090205461114c908363ffffffff610f8116565b33600081815260036020526040902091909155600154611048916001600160a01b03909116903085611337565b61118b826001600160a01b0316611391565b6111dc576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b6020831061121a5780518252601f1990920191602091820191016111fb565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461127c576040519150601f19603f3d011682016040523d82523d6000602084013e611281565b606091505b5091509150816112d8576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611331578080602001905160208110156112f457600080fd5b50516113315760405162461bcd60e51b815260040180806020018281038252602a815260200180611474602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611331908590611179565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e6e6f7420776974686472617720746865207374616b696e67206f72207265776172647320746f6b656e7343616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820aada1cb1c0c82d81c5b3d0f4ff242051160255853be3a8f32dfb40eb5ca7e3ea64736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000330416c863f2acce7af9c9314b422d24c672534a000000000000000000000000075b1bb99792c9e1041ba13afef80c91a1e70fb3",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsToken",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingToken",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "token",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Recovered",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staked",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardForDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "tokenAmount",
							"type": "uint256"
						}
					],
					"name": "recoverERC20",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			]
		},
		"StakingRewardssUSDCurve": {
			"bytecode": "6080604052600080546001600160a01b031990811673c25a3a3b969415c80451098fa907ec722572917f1782556005805490911673c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f17905560068190556007556100646001600160e01b036100b516565b600380546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36100b9565b3390565b6111d7806100c86000396000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c80638b876347116100c3578063df136d651161007c578063df136d6514610305578063e7d279981461030d578063e9fad8ee14610315578063ebe2b12b1461031d578063edc9af9514610325578063f2fde38b1461032d57610157565b80638b876347146102725780638da5cb5b146102985780638f32d59b146102bc578063a694fc3a146102d8578063c8f33c91146102f5578063cd3daf9d146102fd57610157565b80633c6b16ab116101155780633c6b16ab1461020f5780633d18b9121461022c57806370a0823114610234578063715018a61461025a5780637b0a47ee1461026257806380faa57d1461026a57610157565b80628cc2621461015c5780630700037d146101945780630d68b761146101ba57806318160ddd146101e25780631be05289146101ea5780632e1a7d4d146101f2575b600080fd5b6101826004803603602081101561017257600080fd5b50356001600160a01b0316610353565b60408051918252519081900360200190f35b610182600480360360208110156101aa57600080fd5b50356001600160a01b03166103d9565b6101e0600480360360208110156101d057600080fd5b50356001600160a01b03166103eb565b005b610182610466565b61018261046d565b6101e06004803603602081101561020857600080fd5b5035610474565b6101e06004803603602081101561022557600080fd5b503561055b565b6101e06106d5565b6101826004803603602081101561024a57600080fd5b50356001600160a01b03166107a7565b6101e06107c2565b610182610865565b61018261086b565b6101826004803603602081101561028857600080fd5b50356001600160a01b031661087e565b6102a0610890565b604080516001600160a01b039092168252519081900360200190f35b6102c461089f565b604080519115158252519081900360200190f35b6101e0600480360360208110156102ee57600080fd5b50356108c5565b6101826109a9565b6101826109af565b610182610a03565b6102a0610a09565b6101e0610a18565b610182610a33565b6102a0610a39565b6101e06004803603602081101561034357600080fd5b50356001600160a01b0316610a48565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103d391906103c790670de0b6b3a7640000906103bb906103a69061039a6109af565b9063ffffffff610aad16565b6103af886107a7565b9063ffffffff610af616565b9063ffffffff610b4f16565b9063ffffffff610b9116565b92915050565b600b6020526000908152604090205481565b6103f361089f565b610444576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001545b90565b62093a8081565b3361047d6109af565b60095561048861086b565b6008556001600160a01b038116156104cf576104a381610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60008211610518576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b61052182610beb565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6004546001600160a01b031661056f610c4c565b6001600160a01b0316146105b45760405162461bcd60e51b81526004018080602001828103825260218152602001806111586021913960400191505060405180910390fd5b60006105be6109af565b6009556105c961086b565b6008556001600160a01b03811615610610576105e481610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60065442106106345761062c8262093a8063ffffffff610b4f16565b600755610682565b60065460009061064a904263ffffffff610aad16565b9050600061066360075483610af690919063ffffffff16565b905061067c62093a806103bb868463ffffffff610b9116565b60075550505b42600881905561069b9062093a8063ffffffff610b9116565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b336106de6109af565b6009556106e961086b565b6008556001600160a01b038116156107305761070481610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600061073b33610353565b905080156107a357336000818152600b602052604081205560055461076c916001600160a01b039091169083610c50565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6001600160a01b031660009081526002602052604090205490565b6107ca61089f565b61081b576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60075481565b600061087942600654610ca7565b905090565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546000906001600160a01b03166108b6610c4c565b6001600160a01b031614905090565b336108ce6109af565b6009556108d961086b565b6008556001600160a01b03811615610920576108f481610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b60008211610966576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b61096f82610cbd565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b60085481565b60006109b9610466565b6109c6575060095461046a565b6108796109f46109d4610466565b6103bb670de0b6b3a76400006103af6007546103af60085461039a61086b565b6009549063ffffffff610b9116565b60095481565b6005546001600160a01b031681565b610a29610a24336107a7565b610474565b610a316106d5565b565b60065481565b6000546001600160a01b031681565b610a5061089f565b610aa1576040805162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610aaa81610d1f565b50565b6000610aef83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610dc0565b9392505050565b600082610b05575060006103d3565b82820282848281610b1257fe5b0414610aef5760405162461bcd60e51b81526004018080602001828103825260218152602001806111376021913960400191505060405180910390fd5b6000610aef83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e57565b600082820183811015610aef576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600154610bfe908263ffffffff610aad16565b60015533600090815260026020526040902054610c21908263ffffffff610aad16565b336000818152600260205260408120929092559054610aaa916001600160a01b039091169083610c50565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610ca2908490610ebc565b505050565b6000818310610cb65781610aef565b5090919050565b600154610cd0908263ffffffff610b9116565b60015533600090815260026020526040902054610cf3908263ffffffff610b9116565b336000818152600260205260408120929092559054610aaa916001600160a01b0390911690308461107a565b6001600160a01b038116610d645760405162461bcd60e51b81526004018080602001828103825260268152602001806111116026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115610e4f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e14578181015183820152602001610dfc565b50505050905090810190601f168015610e415780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60008183610ea65760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315610e14578181015183820152602001610dfc565b506000838581610eb257fe5b0495945050505050565b610ece826001600160a01b03166110d4565b610f1f576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610f5d5780518252601f199092019160209182019101610f3e565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610fbf576040519150601f19603f3d011682016040523d82523d6000602084013e610fc4565b606091505b50915091508161101b576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156110745780806020019051602081101561103757600080fd5b50516110745760405162461bcd60e51b815260040180806020018281038252602a815260200180611179602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611074908590610ebc565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a47081158015906111085750808214155b94935050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742072657761726420646973747269627574696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820ac3d908b8371db272b8a856f99dd80208a2c371be945ec2abe26af8cb455e71064736f6c63430005100032",
			"abi": [
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "previousOwner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnershipTransferred",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staked",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isOwner",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "renounceOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardDistribution",
							"type": "address"
						}
					],
					"name": "setRewardDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "snx",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "transferOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "uni",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			]
		},
		"StakingRewardssXAUUniswapV2": {
			"bytecode": "60806040526000600855600060095534801561001a57600080fd5b506040516112843803806112848339818101604052606081101561003d57600080fd5b50805160208201516040909201516001600081905580546001600160a01b0319166001600160a01b0380841691909117909155919291839081166100c8576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050600780546001600160a01b0319166001600160a01b039290921691909117905550611130806101546000396000f3fe608060405234801561001057600080fd5b50600436106101725760003560e01c806372f702f3116100de578063a694fc3a11610097578063d1af0c7d11610071578063d1af0c7d14610342578063df136d651461034a578063e9fad8ee14610352578063ebe2b12b1461035a57610172565b8063a694fc3a14610315578063c8f33c9114610332578063cd3daf9d1461033a57610172565b806372f702f3146102c757806379ba5097146102cf5780637b0a47ee146102d757806380faa57d146102df5780638b876347146102e75780638da5cb5b1461030d57610172565b80632e1a7d4d116101305780632e1a7d4d146102335780633c6b16ab146102505780633d18b9121461026d5780633fc6df6e1461027557806353a47bb71461029957806370a08231146102a157610172565b80628cc262146101775780630700037d146101af5780631627540c146101d557806318160ddd146101fd57806319762143146102055780631be052891461022b575b600080fd5b61019d6004803603602081101561018d57600080fd5b50356001600160a01b0316610362565b60408051918252519081900360200190f35b61019d600480360360208110156101c557600080fd5b50356001600160a01b03166103e8565b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166103fa565b005b61019d610497565b6101fb6004803603602081101561021b57600080fd5b50356001600160a01b031661049e565b61019d610509565b6101fb6004803603602081101561024957600080fd5b5035610510565b6101fb6004803603602081101561026657600080fd5b50356105f7565b6101fb610761565b61027d610833565b604080516001600160a01b039092168252519081900360200190f35b61027d610842565b61019d600480360360208110156102b757600080fd5b50356001600160a01b0316610851565b61027d61086c565b6101fb61087b565b61019d610937565b61019d61093d565b61019d600480360360208110156102fd57600080fd5b50356001600160a01b0316610950565b61027d610962565b6101fb6004803603602081101561032b57600080fd5b5035610971565b61019d610a55565b61019d610a5b565b61027d610aaf565b61019d610abe565b6101fb610ac4565b61019d610adf565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546103e291906103d690670de0b6b3a7640000906103ca906103b5906103a9610a5b565b9063ffffffff610ae516565b6103be88610851565b9063ffffffff610b4216565b9063ffffffff610ba216565b9063ffffffff610c0c16565b92915050565b600d6020526000908152604090205481565b6004546001600160a01b031633146104435760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002545b90565b6004546001600160a01b031633146104e75760405162461bcd60e51b815260040180806020018281038252602f815260200180611058602f913960400191505060405180910390fd5b600680546001600160a01b0319166001600160a01b0392909216919091179055565b62093a8081565b33610519610a5b565b600b5561052461093d565b600a556001600160a01b0381161561056b5761053f81610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600082116105b4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b6105bd82610c66565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6006546001600160a01b031633146106405760405162461bcd60e51b815260040180806020018281038252602a8152602001806110a8602a913960400191505060405180910390fd5b600061064a610a5b565b600b5561065561093d565b600a556001600160a01b0381161561069c5761067081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60085442106106c0576106b88262093a8063ffffffff610ba216565b60095561070e565b6008546000906106d6904263ffffffff610ae516565b905060006106ef60095483610b4290919063ffffffff16565b905061070862093a806103ca868463ffffffff610c0c16565b60095550505b42600a8190556107279062093a8063ffffffff610c0c16565b6008556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b3361076a610a5b565b600b5561077561093d565b600a556001600160a01b038116156107bc5761079081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60006107c733610362565b9050801561082f57336000818152600d60205260408120556007546107f8916001600160a01b039091169083610d29565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6006546001600160a01b031681565b6005546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6001546001600160a01b031681565b6005546001600160a01b031633146108c45760405162461bcd60e51b81526004018080602001828103825260358152602001806110236035913960400191505060405180910390fd5b600454600554604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160058054600480546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600061094b42600854610d80565b905090565b600c6020526000908152604090205481565b6004546001600160a01b031681565b3361097a610a5b565b600b5561098561093d565b600a556001600160a01b038116156109cc576109a081610362565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008211610a12576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b610a1b82610d96565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b600a5481565b6000610a65610497565b610a725750600b5461049b565b61094b610aa0610a80610497565b6103ca670de0b6b3a76400006103be6009546103be600a546103a961093d565b600b549063ffffffff610c0c16565b6007546001600160a01b031681565b600b5481565b610ad5610ad033610851565b610510565b610add610761565b565b60085481565b600082821115610b3c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082610b51575060006103e2565b82820282848281610b5e57fe5b0414610b9b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110876021913960400191505060405180910390fd5b9392505050565b6000808211610bf8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610c0357fe5b04949350505050565b600082820183811015610b9b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000805460010190819055600254610c84908363ffffffff610ae516565b60025533600090815260036020526040902054610ca7908363ffffffff610ae516565b33600081815260036020526040902091909155600154610cd3916001600160a01b039091169084610d29565b600054811461082f576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052610d7b908490610e04565b505050565b6000818310610d8f5781610b9b565b5090919050565b6000805460010190819055600254610db4908363ffffffff610c0c16565b60025533600090815260036020526040902054610dd7908363ffffffff610c0c16565b33600081815260036020526040902091909155600154610cd3916001600160a01b03909116903085610fc2565b610e16826001600160a01b031661101c565b610e67576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610ea55780518252601f199092019160209182019101610e86565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114610f07576040519150601f19603f3d011682016040523d82523d6000602084013e610f0c565b606091505b509150915081610f63576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115610fbc57808060200190516020811015610f7f57600080fd5b5051610fbc5760405162461bcd60e51b815260040180806020018281038252602a8152602001806110d2602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052610fbc908590610e04565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582087be768b68397d569f14b37b446f70ed273134df91e3555eecbbba3ae1d8423164736f6c63430005110032000000000000000000000000de910777c787903f78c89e7a0bf7f4c435cbb1fe000000000000000000000000c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f00000000000000000000000034a0216c5057bc18e5d34d4405284564efd759b2",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsToken",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingToken",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staked",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			]
		},
		"StakingRewardssETHUniswapV1": {
			"bytecode": "6080604052600080546001600160a01b031990811673e9cf7887b93150d4f2da7dfc6d502b216438f2441782556005805490911673c011a73ee8576fb46f5e1c5751ca3b9fe0af2a6f17905560068190556007556100626100b3602090811b901c565b600380546001600160a01b0319166001600160a01b0392831617908190556040519116906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36100b7565b3390565b611230806100c66000396000f3fe608060405234801561001057600080fd5b50600436106101575760003560e01c80638b876347116100c3578063df136d651161007c578063df136d6514610305578063e7d279981461030d578063e9fad8ee14610315578063ebe2b12b1461031d578063edc9af9514610325578063f2fde38b1461032d57610157565b80638b876347146102725780638da5cb5b146102985780638f32d59b146102bc578063a694fc3a146102d8578063c8f33c91146102f5578063cd3daf9d146102fd57610157565b80633c6b16ab116101155780633c6b16ab1461020f5780633d18b9121461022c57806370a0823114610234578063715018a61461025a5780637b0a47ee1461026257806380faa57d1461026a57610157565b80628cc2621461015c5780630700037d146101945780630d68b761146101ba57806318160ddd146101e25780631be05289146101ea5780632e1a7d4d146101f2575b600080fd5b6101826004803603602081101561017257600080fd5b50356001600160a01b0316610353565b60408051918252519081900360200190f35b610182600480360360208110156101aa57600080fd5b50356001600160a01b03166103d9565b6101e0600480360360208110156101d057600080fd5b50356001600160a01b03166103eb565b005b61018261046b565b610182610472565b6101e06004803603602081101561020857600080fd5b5035610479565b6101e06004803603602081101561022557600080fd5b503561056e565b6101e06106eb565b6101826004803603602081101561024a57600080fd5b50356001600160a01b03166107bd565b6101e06107d8565b610182610880565b610182610886565b6101826004803603602081101561028857600080fd5b50356001600160a01b0316610899565b6102a06108ab565b604080516001600160a01b039092168252519081900360200190f35b6102c46108ba565b604080519115158252519081900360200190f35b6101e0600480360360208110156102ee57600080fd5b50356108e0565b6101826109d5565b6101826109db565b610182610a31565b6102a0610a37565b6101e0610a46565b610182610a61565b6102a0610a67565b6101e06004803603602081101561034357600080fd5b50356001600160a01b0316610a76565b6001600160a01b0381166000908152600b6020908152604080832054600a9092528220546103d391906103c790670de0b6b3a7640000906103bb906103a69061039a6109db565b9063ffffffff610ae016565b6103af886107bd565b9063ffffffff610b2916565b9063ffffffff610b8916565b9063ffffffff610bcb16565b92915050565b600b6020526000908152604090205481565b6103f36108ba565b15156104495760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6001545b90565b62093a8081565b336104826109db565b60095561048d610886565b6008556001600160a01b038116156104d4576104a881610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b81151561052b5760408051600160e51b62461bcd02815260206004820152601160248201527f43616e6e6f742077697468647261772030000000000000000000000000000000604482015290519081900360640190fd5b61053482610c28565b60408051838152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25050565b6004546001600160a01b0316610582610c89565b6001600160a01b0316146105ca57604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111ba6021913960400191505060405180910390fd5b60006105d46109db565b6009556105df610886565b6008556001600160a01b03811615610626576105fa81610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600654421061064a576106428262093a8063ffffffff610b8916565b600755610698565b600654600090610660904263ffffffff610ae016565b9050600061067960075483610b2990919063ffffffff16565b905061069262093a806103bb868463ffffffff610bcb16565b60075550505b4260088190556106b19062093a8063ffffffff610bcb16565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b336106f46109db565b6009556106ff610886565b6008556001600160a01b038116156107465761071a81610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b600061075133610353565b905080156107b957336000818152600b6020526040812055600554610782916001600160a01b039091169083610c8d565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050565b6001600160a01b031660009081526002602052604090205490565b6107e06108ba565b15156108365760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b6003546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600380546001600160a01b0319169055565b60075481565b600061089442600654610ce7565b905090565b600a6020526000908152604090205481565b6003546001600160a01b031690565b6003546000906001600160a01b03166108d1610c89565b6001600160a01b031614905090565b336108e96109db565b6009556108f4610886565b6008556001600160a01b0381161561093b5761090f81610353565b6001600160a01b0382166000908152600b6020908152604080832093909355600954600a909152919020555b8115156109925760408051600160e51b62461bcd02815260206004820152600e60248201527f43616e6e6f74207374616b652030000000000000000000000000000000000000604482015290519081900360640190fd5b61099b82610cfd565b60408051838152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25050565b60085481565b60006109e561046b565b15156109f4575060095461046f565b610894610a22610a0261046b565b6103bb670de0b6b3a76400006103af6007546103af60085461039a610886565b6009549063ffffffff610bcb16565b60095481565b6005546001600160a01b031681565b610a57610a52336107bd565b610479565b610a5f6106eb565b565b60065481565b6000546001600160a01b031681565b610a7e6108ba565b1515610ad45760408051600160e51b62461bcd02815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015290519081900360640190fd5b610add81610d5f565b50565b6000610b2283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e05565b9392505050565b6000821515610b3a575060006103d3565b828202828482811515610b4957fe5b0414610b2257604051600160e51b62461bcd0281526004018080602001828103825260218152602001806111996021913960400191505060405180910390fd5b6000610b2283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610e9f565b600082820183811015610b225760408051600160e51b62461bcd02815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600154610c3b908263ffffffff610ae016565b60015533600090815260026020526040902054610c5e908263ffffffff610ae016565b336000818152600260205260408120929092559054610add916001600160a01b039091169083610c8d565b3390565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b0316600160e01b63a9059cbb02179052610ce2908490610f0c565b505050565b6000818310610cf65781610b22565b5090919050565b600154610d10908263ffffffff610bcb16565b60015533600090815260026020526040902054610d33908263ffffffff610bcb16565b336000818152600260205260408120929092559054610add916001600160a01b039091169030846110d9565b6001600160a01b0381161515610da957604051600160e51b62461bcd0281526004018080602001828103825260268152602001806111736026913960400191505060405180910390fd5b6003546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600380546001600160a01b0319166001600160a01b0392909216919091179055565b60008184841115610e9757604051600160e51b62461bcd0281526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e5c578181015183820152602001610e44565b50505050905090810190601f168015610e895780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b600081831515610ef457604051600160e51b62461bcd02815260040180806020018281038252838181518152602001915080519060200190808383600083811015610e5c578181015183820152602001610e44565b5060008385811515610f0257fe5b0495945050505050565b610f1e826001600160a01b0316611136565b1515610f745760408051600160e51b62461bcd02815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310610fb25780518252601f199092019160209182019101610f93565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611014576040519150601f19603f3d011682016040523d82523d6000602084013e611019565b606091505b50915091508115156110755760408051600160e51b62461bcd02815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156110d35780806020019051602081101561109157600080fd5b505115156110d357604051600160e51b62461bcd02815260040180806020018281038252602a8152602001806111db602a913960400191505060405180910390fd5b50505050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b0316600160e01b6323b872dd021790526110d3908590610f0c565b6000813f7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470811580159061116a5750808214155b94935050505056fe4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616c6c6572206973206e6f742072657761726420646973747269627574696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a165627a7a72305820a31ce0ab98673203ad395f924478fa9cad0f69135c2d8ce70f4c060a6fc9fbf40029",
			"abi": [
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_rewardDistribution",
							"type": "address"
						}
					],
					"name": "setRewardDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DURATION",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "renounceOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isOwner",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "snx",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "uni",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "transferOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staked",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "previousOwner",
							"type": "address"
						},
						{
							"indexed": true,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnershipTransferred",
					"type": "event"
				}
			]
		},
		"SafeDecimalMath": {
			"bytecode": "610159610030600b82828239805160001a6073146000811461002057610022565bfe5b5030600052607381538281f300730000000000000000000000000000000000000000301460806040526004361061008e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663313ce5678114610093578063864029e7146100b1578063907af6c0146100cb5780639d8e2177146100d3578063d5e5e6e6146100db578063def4419d146100e3575b600080fd5b61009b6100eb565b6040805160ff9092168252519081900360200190f35b6100b96100f0565b60408051918252519081900360200190f35b6100b9610100565b6100b961010c565b6100b9610118565b61009b610128565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b815600a165627a7a72305820023667048c98fe84ef9364636c69b3c394dbd0f47bddf5fb1ecd6c0a341f9b840029",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x864029e7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x907af6c0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9d8e2177"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xd5e5e6e6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdef4419d"
				}
			]
		},
		"ExchangeRates": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162004ffd38038062004ffd833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82518660208202830111640100000000821117156200009f57600080fd5b82525081516020918201928201910280838360005b83811015620000ce578181015183820152602001620000b4565b5050505090500160405260200180516040519392919084640100000000821115620000f857600080fd5b9083019060208201858111156200010e57600080fd5b82518660208202830111640100000000821117156200012c57600080fd5b82525081516020918201928201910280838360005b838110156200015b57818101518382015260200162000141565b5050505090500160405250505082808660006001600160a01b0316816001600160a01b03161415620001d4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055508051825114620002905760405162461bcd60e51b815260040180806020018281038252602f81526020018062004f0b602f913960400191505060405180910390fd5b83600560006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062000346631cd554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030857600080fd5b505af41580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b5051426001600160e01b036200036816565b6200035c8282426001600160e01b03620003e116565b50505050505062000c13565b6000838152600b60209081526040808320805460010190819055815180830183526001600160d81b03968716815264ffffffffff958616818501908152978552600484528285209185529252909120905181549451909216600160d81b029183166001600160d81b031990941693909317909116179055565b60008251845114620004255760405162461bcd60e51b815260040180806020018281038252603881526020018062004f8c6038913960400191505060405180910390fd5b610258420182106200047e576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015620005975760008582815181106200049a57fe5b60200260200101519050848281518110620004b157fe5b602002602001015160001415620004fa5760405162461bcd60e51b815260040180806020018281038252603981526020018062004fc46039913960400191505060405180910390fd5b80631cd554d160e21b1415620005425760405162461bcd60e51b815260040180806020018281038252603181526020018062004f3a6031913960400191505060405180910390fd5b62000556816001600160e01b036200066216565b8410156200056557506200058e565b6200058c818684815181106200057757fe5b6020026020010151866200036860201b60201c565b505b60010162000481565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101562000601578181015183820152602001620005e7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156200064257818101518382015260200162000628565b5050505090500194505050505060405180910390a15060015b9392505050565b600062000678826001600160e01b036200068b16565b6020015164ffffffffff1690505b919050565b6200069562000bc9565b6000828152600660205260409020546001600160a01b03168015620008315760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b602083106200071d5780518252601f199092019160209182019101620006fc565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146200077f576040519150601f19603f3d011682016040523d82523d6000602084013e62000784565b606091505b50915091508115620008285760008060008380602001905160a0811015620007ab57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080620008008b620007e781876001600160e01b03620008dd16565b6001600160501b0388166001600160e01b03620009aa16565b6001600160d81b031681526020018264ffffffffff1681525097505050505050505062000686565b505050620008d7565b6000838152600b60205260409020546200084a62000bc9565b5060008481526004602090815260408083208484528252918290208251808401845290546001600160d81b038082168352600160d81b90910464ffffffffff1692820192909252825180840190935280519092918291620008af9189911686620009aa565b6001600160d81b03168152602001826020015164ffffffffff16815250935050505062000686565b50919050565b60008082121562000935576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526007602052604090205460ff1615620009a1576000838152600760209081526040822054620009799160129160ff169062003f6962000b0d821b17901c565b600a0a905062000998818462000b6b60201b620037e31790919060201c565b915050620009a4565b50805b92915050565b6000620009b662000be0565b50600084815260096020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff808216151560608501526101009091041615156080830152158062000a17575083155b1562000a2757839150506200065b565b6000858152600c602052604090205484925080841080159062000a4b575081606001515b1562000a5e578160200151925062000b04565b80841015801562000a70575081608001515b1562000a83578160400151925062000b04565b600062000aa46002846000015162000b6b60201b620037e31790919060201c565b905085811162000ab8576000935062000ad5565b62000ad2868262000b0d60201b62003f691790919060201c565b93505b8260200151841062000aee578260200151935062000b02565b8260400151841162000b0257826040015193505b505b50509392505050565b60008282111562000b65576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008262000b7c57506000620009a4565b8282028284828162000b8a57fe5b04146200065b5760405162461bcd60e51b815260040180806020018281038252602181526020018062004f6b6021913960400191505060405180910390fd5b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b6142e88062000c236000396000f3fe608060405234801561001057600080fd5b50600436106103145760003560e01c8063654a60ac116101a7578063935f4abd116100ee578063c2c8a67611610097578063ce8480ea11610071578063ce8480ea14610c2a578063de02795e14610c47578063fdadbc7e14610c6457610314565b8063c2c8a67614610ace578063c8e5bbd514610b3e578063c8e6f39514610c0d57610314565b8063b199c764116100c8578063b199c7641461099a578063b295ad34146109d9578063bfa005ce14610a0c57610314565b8063935f4abd14610943578063ac82f60814610960578063af3aea861461097d57610314565b80637adbf973116101505780638295016a1161012a5780638295016a146108ec578063899ffef4146109335780638da5cb5b1461093b57610314565b80637adbf973146108945780637dc0d1d0146108c75780637f6e9d15146108cf57610314565b80637418536011610181578063741853601461086757806379ba50971461086f5780637a018a1e1461087757610314565b8063654a60ac146107d55780637103353e146107fe578063728dec291461081b57610314565b80632af64bd31161026b5780633f0e084f116102145780634c36b837116101ee5780634c36b837146107a85780634f72def6146107b057806353a47bb7146107cd57610314565b80633f0e084f1461071c5780634308a94f14610755578063459388491461078b57610314565b80632ea913d4116102455780632ea913d4146106c55780633375fcd1146106e257806338aa1b99146106ff57610314565b80632af64bd3146105e45780632bed9e0c146105ec5780632d7371e11461060957610314565b80630ee4951b116102cd5780632528f0fe116102a75780632528f0fe1461055f578063266da16b1461057c5780632678df96146105b157610314565b80630ee4951b146104e1578063109e46a2146104fb5780631627540c1461052a57610314565b806305a046e5116102fe57806305a046e51461037b5780630a7d36d11461043b5780630c71cd23146104ab57610314565b80629919c01461031957806304f3bcec1461034a575b600080fd5b6103366004803603602081101561032f57600080fd5b5035610c87565b604080519115158252519081900360200190f35b610352610ca2565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6103eb6004803603602081101561039157600080fd5b8101906020810181356401000000008111156103ac57600080fd5b8201836020820111156103be57600080fd5b803590602001918460208302840111640100000000831117156103e057600080fd5b509092509050610cbe565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561042757818101518382015260200161040f565b505050509050019250505060405180910390f35b6103366004803603602081101561045157600080fd5b81019060208101813564010000000081111561046c57600080fd5b82018360208201111561047e57600080fd5b803590602001918460208302840111640100000000831117156104a057600080fd5b509092509050610d40565b6104c8600480360360208110156104c157600080fd5b5035610df3565b6040805192835290151560208301528051918290030190f35b6104e9610eb9565b60408051918252519081900360200190f35b6104e96004803603608081101561051157600080fd5b5080359060208101359060408101359060600135610ec9565b61055d6004803603602081101561054057600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f0c565b005b6103366004803603602081101561057557600080fd5b5035610f8d565b6104e9600480360360a081101561059257600080fd5b5080359060208101359060408101359060608101359060800135610fad565b6103eb600480360360208110156105c757600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661101a565b6103366110db565b61055d6004803603602081101561060257600080fd5b5035611225565b61062c6004803603604081101561061f57600080fd5b5080359060200135611371565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610670578181015183820152602001610658565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106af578181015183820152602001610697565b5050505090500194505050505060405180910390f35b6104e9600480360360208110156106db57600080fd5b5035611462565b610336600480360360208110156106f857600080fd5b5035611480565b6103366004803603602081101561071557600080fd5b5035611546565b61055d6004803603604081101561073257600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff16611554565b6107726004803603602081101561076b57600080fd5b5035611804565b6040805192835260208301919091528051918290030190f35b61055d600480360360208110156107a157600080fd5b5035611850565b61035261193d565b6104e9600480360360208110156107c657600080fd5b5035611947565b610352611954565b6104e9600480360360608110156107eb57600080fd5b5080359060208101359060400135611970565b6103526004803603602081101561081457600080fd5b5035611988565b6108386004803603602081101561083157600080fd5b50356119b0565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61055d6119e3565b61055d611bf6565b6104e96004803603602081101561088d57600080fd5b5035611cf1565b61055d600480360360208110156108aa57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611cfc565b610352611d83565b6104e9600480360360208110156108e557600080fd5b5035611d9f565b6109156004803603606081101561090257600080fd5b5080359060208101359060400135611db1565b60408051938452602084019290925282820152519081900360600190f35b6103eb611dd1565b610352611e4d565b6104e96004803603602081101561095957600080fd5b5035611e69565b6104e96004803603602081101561097657600080fd5b5035611e7b565b6103366004803603602081101561099357600080fd5b5035611eaa565b61055d600480360360c08110156109b057600080fd5b50803590602081013590604081013590606081013590608081013515159060a001351515611eb5565b6109f6600480360360208110156109ef57600080fd5b503561228a565b6040805160ff9092168252519081900360200190f35b61033660048036036060811015610a2257600080fd5b810190602081018135640100000000811115610a3d57600080fd5b820183602082011115610a4f57600080fd5b80359060200191846020830284011164010000000083111715610a7157600080fd5b919390929091602081019035640100000000811115610a8f57600080fd5b820183602082011115610aa157600080fd5b80359060200191846020830284011164010000000083111715610ac357600080fd5b91935091503561229f565b6103eb60048036036020811015610ae457600080fd5b810190602081018135640100000000811115610aff57600080fd5b820183602082011115610b1157600080fd5b80359060200191846020830284011164010000000083111715610b3357600080fd5b509092509050612322565b610bae60048036036020811015610b5457600080fd5b810190602081018135640100000000811115610b6f57600080fd5b820183602082011115610b8157600080fd5b80359060200191846020830284011164010000000083111715610ba357600080fd5b50909250905061239a565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610bf8578181015183820152602001610be0565b50505050905001935050505060405180910390f35b61055d60048036036020811015610c2357600080fd5b503561250e565b6104e960048036036020811015610c4057600080fd5b503561261c565b61055d60048036036020811015610c5d57600080fd5b5035612627565b61077260048036036040811015610c7a57600080fd5b508035906020013561284f565b6000610c9a82610c95612867565b61293a565b90505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60608083839050604051908082528060200260200182016040528015610cee578160200160208202803883390190505b50905060005b83811015610d3657610d17858583818110610d0b57fe5b90506020020135612985565b828281518110610d2357fe5b6020908102919091010152600101610cf4565b5090505b92915050565b600080610d4b612867565b90506060610d8b8585808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506129a192505050565b905060005b84811015610de757818181518110610da457fe5b602002602001015180610dce5750610dce868683818110610dc157fe5b905060200201358461293a565b15610ddf5760019350505050610d3a565b600101610d90565b50600095945050505050565b600080610dfe614030565b610e0784612c4f565b9050837f73555344000000000000000000000000000000000000000000000000000000001415610e5a57517affffffffffffffffffffffffffffffffffffffffffffffffffffff16915060009050610eb4565b8051610e78610e67612867565b836020015164ffffffffff16612f32565b80610e8f5750610e8f85610e8a612f4d565b612fef565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b6000610ec3612867565b90505b90565b600083815b610edb8783600101613127565b915050801580610eec575083850181115b15610ef957509050610f04565b600190910190610ece565b949350505050565b610f1461338f565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610f9b82610c95612867565b80610c9a5750610c9a82610e8a612f4d565b600083861415610fbe575083611011565b6000610fca8785613127565b5090506000610fd98685613127565b50905080610fec57600092505050611011565b61100c81611000898563ffffffff6133e716565b9063ffffffff6133fc16565b925050505b95945050505050565b60085460408051828152602080840282010190915260609160009190801561104c578160200160208202803883390190505b50915060005b6008548110156110d45760006008828154811061106b57fe5b6000918252602080832090910154808352600690915260409091205490915073ffffffffffffffffffffffffffffffffffffffff90811690861614156110cb57808484806001019550815181106110be57fe5b6020026020010181815250505b50600101611052565b5050919050565b600060606110e7611dd1565b905060005b815181101561121c57600082828151811061110357fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a72100000000000000000000000000000000000000000000000000000000815260048101859052925193955073ffffffffffffffffffffffffffffffffffffffff918216949116926321f8a721926024808201939291829003018186803b15801561119157600080fd5b505afa1580156111a5573d6000803e3d6000fd5b505050506040513d60208110156111bb57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141580611202575060008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16155b156112135760009350505050610ec6565b506001016110ec565b50600191505090565b61122d61338f565b60008181526006602052604090205473ffffffffffffffffffffffffffffffffffffffff16806112a4576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260066020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556007909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055611313836008613411565b9050801561136c576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b6060808260405190808252806020026020018201604052801561139e578160200160208202803883390190505b509150826040519080825280602002602001820160405280156113cb578160200160208202803883390190505b50905060006113d9856134f1565b905060005b84811015611458576113f08683613127565b8583815181106113fc57fe5b6020026020010185848151811061140f57fe5b6020908102919091010191909152528161142b575061145b9050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909101906001016113de565b50505b9250929050565b600a818154811061146f57fe5b600091825260209091200154905081565b600061148a614047565b50600082815260096020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff80821615156060850152610100909104161515608083015215806114ed575080606001515b806114f9575080608001515b15611508576000915050610c9d565b600061151384611e7b565b90506000811180156115375750816020015181101580611537575081604001518111155b92505050610c9d565b50919050565b6000610c9a82610e8a612f4d565b61155c61338f565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b1580156115a957600080fd5b505afa1580156115bd573d6000803e3d6000fd5b505050506040513d60208110156115d357600080fd5b50511015611628576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561167057600080fd5b505afa158015611684573d6000803e3d6000fd5b505050506040513d602081101561169a57600080fd5b50519050601260ff821611156116e15760405162461bcd60e51b81526004018080602001828103825260328152602001806142226032913960400191505060405180910390fd5b60008481526006602052604090205473ffffffffffffffffffffffffffffffffffffffff1661174057600880546001810182556000919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee3018490555b600084815260066020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155600783529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b60008061180f614030565b61181884612c4f565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b6118586135ad565b600061186382611e7b565b116118b5576040805162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b6000818152600460209081526040808320600b808452828520805486529184528285208590559385905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6000610ec3612f4d565b6008818154811061146f57fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b600061197d848484613603565b509095945050505050565b60066020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60096020526000908152604090208054600182015460028301546003909301549192909160ff8082169161010090041685565b60606119ed611dd1565b905060005b8151811015611bf2576000828281518110611a0957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d840152815195975060009673ffffffffffffffffffffffffffffffffffffffff9095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611ae5578181015183820152602001611acd565b50505050905090810190601f168015611b125780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611b3057600080fd5b505afa158015611b44573d6000803e3d6000fd5b505050506040513d6020811015611b5a57600080fd5b505160008381526003602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016119f2565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611c4c5760405162461bcd60e51b81526004018080602001828103825260358152602001806140b86035913960400191505060405180910390fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b6000610c9a826134f1565b611d0461338f565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020526000908152604090205481565b6000806000611dc1868686613603565b9250925092505b93509350939050565b606080611ddc613655565b60408051600180825281830190925291925060609190602080830190803883390190505090507f45786368616e676572000000000000000000000000000000000000000000000081600081518110611e3057fe5b602002602001018181525050611e4682826136b4565b9250505090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600b6020526000908152604090205481565b6000611e8682612c4f565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000610c9a82613770565b611ebd61338f565b60008311611f12576040805162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b848411611f505760405162461bcd60e51b815260040180806020018281038252602781526020018061428d6027913960400191505060405180910390fd5b611f6185600263ffffffff6137e316565b8410611f9e5760405162461bcd60e51b815260040180806020018281038252602e8152602001806141f4602e913960400191505060405180910390fd5b848310611fdc5760405162461bcd60e51b81526004018080602001828103825260278152602001806141cd6027913960400191505060405180910390fd5b818015611fe65750805b15612038576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420667265657a6520617420626f7468206c696d69747300000000604482015290519081900360640190fd5b6000868152600960205260409020805461208257600a80546001810182556000919091527fc65a7bb8d6351c1cf70c95a316cc6a92839c986682d98bc35f958f4883f9d2a8018790555b8581556001810185905560028101849055828061209c5750815b15612171576003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100841515021790556000612104886134f1565b6000898152600c6020526040902081905590507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df088856121445786612146565b875b604080519283526020830191909152818101849052336060830152519081900360800190a1506121ab565b6003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556000878152600c60205260408120555b60006121b688611e7b565b90508015612239576121c661383c565b73ffffffffffffffffffffffffffffffffffffffff1663ce09694089836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561222057600080fd5b505af1158015612234573d6000803e3d6000fd5b505050505b60408051898152602081018990528082018890526060810187905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050505050505050565b60076020526000908152604090205460ff1681565b60006122a96135ad565b61231886868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a02828101820190935289825290935089925088918291850190849080828437600092019190915250879250613867915050565b9695505050505050565b60608083839050604051908082528060200260200182016040528015612352578160200160208202803883390190505b50905060005b83811015610d365761237b85858381811061236f57fe5b90506020020135611e7b565b82828151811061238757fe5b6020908102919091010152600101612358565b60606000838390506040519080825280602002602001820160405280156123cb578160200160208202803883390190505b50915060006123d8612867565b905060606124188686808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506129a192505050565b905060005b858110156125045761242d614030565b61244888888481811061243c57fe5b90506020020135612c4f565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff1686838151811061247857fe5b602002602001018181525050841580156124c4575087878381811061249957fe5b905060200201357f735553440000000000000000000000000000000000000000000000000000000014155b156124fb578282815181106124d557fe5b6020026020010151806124f857506124f884826020015164ffffffffff16612f32565b94505b5060010161241d565b5050509250929050565b61251661338f565b600081815260096020526040902054612576576040805162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000818152600960205260408120818155600181018290556002810182905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556125c982600a613411565b90508015611bf25760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050565b6000610c9a82612985565b60008181526009602052604090208054612688576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420667265657a65206e6f6e2d696e766572736520726174650000604482015290519081900360640190fd5b600381015460ff161580156126a757506003810154610100900460ff16155b6126f8576040805162461bcd60e51b815260206004820152601a60248201527f546865207261746520697320616c72656164792066726f7a656e000000000000604482015290519081900360640190fd5b600061270383611e7b565b90506000811180156127275750816001015481101580612727575081600201548111155b1561280257600182015460038301805460028501548414610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00909216938514939093171691909117905560006127a0846134f1565b6000858152600c6020908152604091829020839055815187815290810185905280820183905233606082015290519192507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0919081900360800190a15061136c565b6040805162461bcd60e51b815260206004820152601260248201527f526174652077697468696e20626f756e64730000000000000000000000000000604482015290519081900360640190fd5b60008061285c8484613127565b915091509250929050565b6000612871613adb565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290957600080fd5b505afa15801561291d573d6000803e3d6000fd5b505050506040513d602081101561293357600080fd5b5051905090565b6000827f7355534400000000000000000000000000000000000000000000000000000000141561296c57506000610d3a565b61297e8261297985612985565b612f32565b9392505050565b600061299082612c4f565b6020015164ffffffffff1692915050565b606060006129ad612f4d565b905073ffffffffffffffffffffffffffffffffffffffff811615612c1c57606083516040519080825280602002602001820160405280156129f8578160200160208202803883390190505b50905060005b8451811015612a875760066000868381518110612a1757fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110612a5a57fe5b73ffffffffffffffffffffffffffffffffffffffff909216602092830291909101909101526001016129fe565b506040517f7d723cac00000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835173ffffffffffffffffffffffffffffffffffffffff861693637d723cac93869392839260440191808601910280838360005b83811015612b0a578181015183820152602001612af2565b505050509050019250505060006040518083038186803b158015612b2d57600080fd5b505afa158015612b41573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612b8857600080fd5b8101908080516040519392919084640100000000821115612ba857600080fd5b908301906020820185811115612bbd57600080fd5b8251866020820283011164010000000082111715612bda57600080fd5b82525081516020918201928201910280838360005b83811015612c07578181015183820152602001612bef565b50505050905001604052505050925050611540565b8251604051908082528060200260200182016040528015612c47578160200160208202803883390190505b509392505050565b612c57614030565b60008281526006602052604090205473ffffffffffffffffffffffffffffffffffffffff168015612e515760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffeaf968c0000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b60208310612d4257805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612d05565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612da2576040519150601f19603f3d011682016040523d82523d6000602084013e612da7565b606091505b50915091508115612e495760008060008380602001905160a0811015612dcc57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080612e0e8b612dfc8187613b06565b8769ffffffffffffffffffff16613baf565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff16815250975050505050505050610c9d565b505050611540565b6000838152600b6020526040902054612e68614030565b5060008481526004602090815260408083208484528252918290208251808401845290547affffffffffffffffffffffffffffffffffffffffffffffffffffff80821683527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff1692820192909252825180840190935280519092918291612ef79189911686613baf565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001826020015164ffffffffff168152509350505050610c9d565b600042612f45838563ffffffff613ced16565b109392505050565b6000612f57613adb565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561290957600080fd5b6000827f7355534400000000000000000000000000000000000000000000000000000000141561302157506000610d3a565b60008381526006602052604090205473ffffffffffffffffffffffffffffffffffffffff16801580613067575073ffffffffffffffffffffffffffffffffffffffff8316155b15613076576000915050610d3a565b8273ffffffffffffffffffffffffffffffffffffffff1663357e47fe826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156130f357600080fd5b505afa158015613107573d6000803e3d6000fd5b505050506040513d602081101561311d57600080fd5b5051949350505050565b600082815260066020526040812054819073ffffffffffffffffffffffffffffffffffffffff1680156132e75760408051602480820187905282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9a6fc8f50000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b6020831061322357805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016131e6565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613283576040519150601f19603f3d011682016040523d82523d6000602084013e613288565b606091505b509150915081156132df576000808280602001905160a08110156132ab57600080fd5b50602081015160609091015190925090506132d08a6132ca8185613b06565b8b613baf565b9750955061145b945050505050565b505050613387565b6132ef614030565b5060008581526004602090815260408083208784528252918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff81168084527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff169183019190915261336e90879087613baf565b60209091015190935064ffffffffff16915061145b9050565b509250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146133e55760405162461bcd60e51b815260040180806020018281038252602f815260200180614145602f913960400191505060405180910390fd5b565b600061297e8383670de0b6b3a7640000613d47565b600061297e8383670de0b6b3a7640000613d84565b6000805b82548110156134e7578383828154811061342b57fe5b906000526020600020015414156134df5782818154811061344857fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061348357fe5b906000526020600020015483828154811061349a57fe5b60009182526020909120015582546134d4847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830161407a565b506001915050610d3a565b600101613415565b5060009392505050565b60008181526006602052604081205473ffffffffffffffffffffffffffffffffffffffff168015613597578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561356257600080fd5b505afa158015613576573d6000803e3d6000fd5b505050506040513d602081101561358c57600080fd5b50519150610c9d9050565b50506000818152600b6020526040902054610c9d565b60055473ffffffffffffffffffffffffffffffffffffffff1633146133e55760405162461bcd60e51b815260040180806020018281038252602781526020018061411e6027913960400191505060405180910390fd5b600080600061361186611e7b565b915083861415613625575083915080611dc8565b61362e84611e7b565b90508015611dc85761364a81611000878563ffffffff6133e716565b925093509350939050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f726167650000000000000000000000000000000000816000815181106136a557fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156136e4578160200160208202803883390190505b50905060005b8351811015613726578381815181106136ff57fe5b602002602001015182828151811061371357fe5b60209081029190910101526001016136ea565b5060005b82518110156137695782818151811061373f57fe5b602002602001015182828651018151811061375657fe5b602090810291909101015260010161372a565b5092915050565b600061377a614047565b50600082815260096020908152604091829020825160a0810184528154815260018201549281019290925260028101549282019290925260039091015460ff80821615156060840181905261010090920416151560808301528061297e57506080015192915050565b6000826137f257506000610d3a565b828202828482816137ff57fe5b041461297e5760405162461bcd60e51b81526004018080602001828103825260218152602001806141746021913960400191505060405180910390fd5b6000610ec37f45786368616e6765720000000000000000000000000000000000000000000000613db6565b600082518451146138a95760405162461bcd60e51b81526004018080602001828103825260388152602001806141956038913960400191505060405180910390fd5b61025842018210613901576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015613a1557600085828151811061391b57fe5b6020026020010151905084828151811061393157fe5b6020026020010151600014156139785760405162461bcd60e51b81526004018080602001828103825260398152602001806142546039913960400191505060405180910390fd5b807f735553440000000000000000000000000000000000000000000000000000000014156139d75760405162461bcd60e51b81526004018080602001828103825260318152602001806140ed6031913960400191505060405180910390fd5b6139e081612985565b8410156139ed5750613a0d565b613a0b818684815181106139fd57fe5b602002602001015186613eac565b505b600101613904565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613a7d578181015183820152602001613a65565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613abc578181015183820152602001613aa4565b5050505090500194505050505060405180910390a15060019392505050565b6000610ec37f466c657869626c6553746f726167650000000000000000000000000000000000613db6565b600080821215613b5d576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526007602052604090205460ff161561154057600083815260076020526040812054613b929060129060ff16613f69565b600a0a9050613ba7838263ffffffff6137e316565b915050610d3a565b6000613bb9614047565b50600084815260096020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580613c19575083155b15613c27578391505061297e565b6000858152600c6020526040902054849250808410801590613c4a575081606001515b15613c5b5781602001519250613ce4565b808410158015613c6c575081608001515b15613c7d5781604001519250613ce4565b8151600090613c9390600263ffffffff6137e316565b9050858111613ca55760009350613cb8565b613cb5818763ffffffff613f6916565b93505b82602001518410613ccf5782602001519350613ce2565b82604001518411613ce257826040015193505b505b50509392505050565b60008282018381101561297e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613d5e868663ffffffff6137e316565b81613d6557fe5b0490506005600a825b0610613d7857600a015b600a9004949350505050565b600080613daa84613d9e87600a870263ffffffff6137e316565b9063ffffffff613fc616565b90506005600a82613d6e565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a2000000000000000000000000000000093810193909352603180840186905282518085039091018152605190930190915273ffffffffffffffffffffffffffffffffffffffff1690816137695760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e71578181015183820152602001613e59565b50505050905090810190601f168015613e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000838152600b60209081526040808320805460010190819055815180830183527affffffffffffffffffffffffffffffffffffffffffffffffffffff968716815264ffffffffff9586168185019081529785526004845282852091855292529091209051815494519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090941693909317909116179055565b600082821115613fc0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080821161401c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161402757fe5b04949350505050565b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b81548183558181111561136c5760008381526020902061136c918101908301610ec691905b808211156140b3576000815560010161409f565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e4f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7441676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e74a265627a7a723158200a2e6f6efc1deccf7bc3b5b010a673956c15192ee688307d6e848fc718ba988f64736f6c6343000510003243757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e52617465206f6620735553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e",
			"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": "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": "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": "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": "0x6c13c44ff3c52644f0b7006484742be9349727f83ab458189e89834055016dad",
				"urls": [
					"bzz-raw://f8a1fddb5e2cd7fa77ce758050245be569ce2b9a40f2866dfaf20f33b740c4d0",
					"dweb:/ipfs/QmWCq7NCtE1jd4ffiZd4u3DzSRuWH89UuwBqsfauqHxmne"
				]
			},
			"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": "0x6c13c44ff3c52644f0b7006484742be9349727f83ab458189e89834055016dad",
						"urls": [
							"bzz-raw://f8a1fddb5e2cd7fa77ce758050245be569ce2b9a40f2866dfaf20f33b740c4d0",
							"dweb:/ipfs/QmWCq7NCtE1jd4ffiZd4u3DzSRuWH89UuwBqsfauqHxmne"
						]
					}
				},
				"version": 1
			}
		},
		"Proxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516020806108dc833981016040525180600160a060020a038116151561009a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506107d9806101036000396000f3006080604052600436106100985763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461018357806353a47bb7146101a4578063776d1a01146101d557806379ba5097146101f65780638da5cb5b1461020b578063907dff971461022057806395578ebd14610250578063befff6af14610279578063d4b8399214610293575b60025474010000000000000000000000000000000000000000900460ff16156100e157604051366000823760008036836002545af43d6000833e8015156100dd573d82fd5b3d82f35b600254604080517fbc67f8320000000000000000000000000000000000000000000000000000000081523360048201529051600160a060020a039092169163bc67f8329160248082019260009290919082900301818387803b15801561014657600080fd5b505af115801561015a573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e8015156100dd573d82fd5b005b34801561018f57600080fd5b50610181600160a060020a03600435166102a8565b3480156101b057600080fd5b506101b9610391565b60408051600160a060020a039092168252519081900360200190f35b3480156101e157600080fd5b50610181600160a060020a03600435166103a0565b34801561020257600080fd5b50610181610489565b34801561021757600080fd5b506101b9610591565b34801561022c57600080fd5b5061018160246004803582810192910135903560443560643560843560a4356105a0565b34801561025c57600080fd5b506102656106b5565b604080519115158252519081900360200190f35b34801561028557600080fd5b5061018160043515156106d6565b34801561029f57600080fd5b506101b961079e565b600054600160a060020a03163314610330576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600154600160a060020a031681565b600054600160a060020a03163314610428576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b600154600160a060020a03163314610511576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600090606090600160a060020a03163314610608576040805160e560020a62461bcd02815260206004820152601460248201527f4d7573742062652070726f787920746172676574000000000000000000000000604482015290519081900360640190fd5b604080516020601f8b01819004810282018101909252898152899350908a908490819084018382808284378201915050505050509050866000811461066c576001811461067757600281146106835760038114610690576004811461069e576106a9565b8260208301a06106a9565b868360208401a16106a9565b85878460208501a26106a9565b8486888560208601a36106a9565b838587898660208701a45b50505050505050505050565b60025474010000000000000000000000000000000000000000900460ff1681565b600054600160a060020a0316331461075e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054911515740100000000000000000000000000000000000000000274ff000000000000000000000000000000000000000019909216919091179055565b600254600160a060020a0316815600a165627a7a723058201f732d524629d6f5803735fcd435c54afab71cca4ed5b01f82e508f9084bf99b0029",
			"abi": [
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "callData",
							"type": "bytes"
						},
						{
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "useDELEGATECALL",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95578ebd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setUseDELEGATECALL",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbefff6af"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"FeePool": {
			"bytecode": "6080604052631cd554d160e21b6007553480156200001c57600080fd5b506040516200456d3803806200456d8339810160408190526200003f9162000226565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000348565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000310565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000336565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200014790839062000300565b60405180910390a1504201600455600580546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e7565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e7565b80546001600160401b03929092166801000000000000000002600160401b600160801b031990921691909117905550620003a3915050565b60006008600260ff16836016540181620001fd57fe5b06600281106200020957fe5b6007020192915050565b8051620002208162000389565b92915050565b6000806000606084860312156200023c57600080fd5b60006200024a868662000213565b93505060206200025d8682870162000213565b9250506040620002708682870162000213565b9150509250925092565b620002858162000375565b82525050565b620002858162000363565b6000620002a56011836200035a565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002d46019836200035a565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200022082846200027a565b604081016200032082856200027a565b6200032f60208301846200028b565b9392505050565b60208082528101620002208162000296565b602080825281016200022081620002c5565b90815260200190565b60006001600160a01b03821662000220565b600062000220826000620002208262000363565b620003948162000363565b8114620003a057600080fd5b50565b6141ba80620003b36000396000f3fe608060405234801561001057600080fd5b50600436106102c85760003560e01c80636de813f11161017b578063b410a034116100d8578063e0e6393d1161008c578063ec55688911610071578063ec55688914610516578063f43d41611461051e578063fd1f498d14610531576102c8565b8063e0e6393d14610506578063eb1edd611461050e576102c8565b8063cff2ddad116100bd578063cff2ddad146104e1578063d294f093146104f6578063d67bdd25146104fe576102c8565b8063b410a034146104c6578063bc67f832146104ce576102c8565b8063899ffef41161012f57806397107d6d1161011457806397107d6d14610498578063a419b69a146104ab578063ac834193146104be576102c8565b8063899ffef41461047b5780638da5cb5b14610490576102c8565b806373941b961161016057806373941b9614610458578063741853601461046b57806379ba509714610473576102c8565b80636de813f11461044857806372ccd69e14610450576102c8565b80633ebc457a11610229578063569249d0116101dd578063614d08f8116101c2578063614d08f81461041a578063642fbd8b146104225780636466f45e14610435576102c8565b8063569249d0146103ff57806359a2f19f14610407576102c8565b806341c178c31161020e57806341c178c3146103da57806346ba2d90146103e257806353a47bb7146103ea576102c8565b80633ebc457a146103ac5780633fcd2240146103b4576102c8565b806322425fa4116102805780632af64bd3116102655780632af64bd31461036f5780632e227eeb14610384578063331400161461038c576102c8565b806322425fa41461035457806322bf55ef1461035c576102c8565b80630813071c116102b15780630813071c1461030b5780630de586151461031e5780631627540c1461033f576102c8565b806304f3bcec146102cd57806307ea50cd146102eb575b600080fd5b6102d5610544565b6040516102e29190613e6a565b60405180910390f35b6102fe6102f936600461319a565b610553565b6040516102e29190613d87565b6102fe6103193660046131de565b610628565b61033161032c36600461319a565b61073a565b6040516102e2929190613dbe565b61035261034d36600461319a565b6107bc565b005b6102fe61081a565b61035261036a366004613254565b61082a565b610377610887565b6040516102e29190613d79565b61033161099e565b61039f61039a36600461319a565b610b25565b6040516102e29190613d5a565b610352610d1c565b6103c76103c2366004613254565b610f24565b6040516102e29796959493929190613fe7565b610331610fd2565b6102fe611080565b6103f2611086565b6040516102e29190613ce0565b6102fe611095565b61037761041536600461319a565b6110f0565b6102fe611102565b6102fe61043036600461319a565b611126565b61037761044336600461319a565b6111c7565b6102fe6112f3565b6102fe611348565b6103526104663660046132a2565b61135d565b610352611445565b610352611597565b610483611633565b6040516102e29190613d68565b6103f261198d565b6103526104a636600461319a565b61199c565b6102fe6104b936600461319a565b6119ef565b6102fe611a0e565b6102fe611aba565b6103526104dc36600461319a565b611ac4565b6104e9611aee565b6040516102e2919061404f565b610377611af3565b6103f2611b6a565b6102fe611b79565b6103f2611b83565b6102d5611b9b565b61035261052c3660046132c1565b611baa565b61035261053f366004613254565b611d5a565b6005546001600160a01b031681565b600061055d611dc6565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200161059e929190613c79565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105d09190613d87565b60206040518083038186803b1580156105e857600080fd5b505afa1580156105fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106209190810190613236565b90505b919050565b6000811580610638575060028210155b1561064557506000610734565b61065160018303611df1565b5468010000000000000000900467ffffffffffffffff1661067457506000610734565b61067c611e1b565b6001600160a01b0316638ced14df846008856002811061069857fe5b60070201546040517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526106e1929167ffffffffffffffff1690600401613d17565b60206040518083038186803b1580156106f957600080fd5b505afa15801561070d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107319190810190613236565b90505b92915050565b6000806107456130b4565b61074e84610b25565b905060008060015b60028110156107af5761077b84826002811061076e57fe5b6020020151518490611e46565b92506107a584826002811061078c57fe5b602002015160016020020151839063ffffffff611e4616565b9150600101610756565b509093509150505b915091565b6107c4611e6b565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061080f908390613ce0565b60405180910390a150565b6000610824611e97565b90505b90565b61083333611f5e565b6108585760405162461bcd60e51b815260040161084f90613e89565b60405180910390fd5b610876816108666000611df1565b600301549063ffffffff611e4616565b6108806000611df1565b6003015550565b60006060610893611633565b905060005b81518110156109955760008282815181106108af57fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610900908590600401613d87565b60206040518083038186803b15801561091857600080fd5b505afa15801561092c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095091908101906131c0565b6001600160a01b031614158061097b57506000818152600660205260409020546001600160a01b0316155b1561098c5760009350505050610827565b50600101610898565b50600191505090565b6000806000806109cd7f6578743a41676772656761746f7249737375656453796e746873000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610a0557600080fd5b505afa158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d919081019061335d565b50935050925050600080610a707f6578743a41676772656761746f7244656274526174696f000000000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b158015610aa857600080fd5b505afa158015610abc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae0919081019061335d565b50919450909250859150508215610b0657610b01818463ffffffff61215f16565b610b09565b60005b9650818410610b185781610b1a565b835b955050505050509091565b610b2d6130b4565b600080610b38611e1b565b6040517fe6d24bbd0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063e6d24bbd90610b80908790600401613ce0565b60206040518083038186803b158015610b9857600080fd5b505afa158015610bac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bd09190810190613236565b9150600080610be0600085612178565b8651829052865160200181905290925090506000610bfd87610553565b905060015b8015610d11576000610c1382611df1565b5467ffffffffffffffff16905080831015610d07576040517f8ced14df0000000000000000000000000000000000000000000000000000000081526001600160a01b03871690638ced14df90610c79908c9067ffffffffffffffff861690600401613d17565b60206040518083038186803b158015610c9157600080fd5b505afa158015610ca5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cc99190810190613236565b9650610cd58288612178565b909550935084888360028110610ce757fe5b60200201515283888360028110610cfa57fe5b6020020151600160200201525b5060001901610c02565b505050505050919050565b610d246121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506000610d7e611e97565b11610d9b5760405162461bcd60e51b815260040161084f90613fc9565b610da3611e97565b4203610daf6000611df1565b5468010000000000000000900467ffffffffffffffff161115610de45760405162461bcd60e51b815260040161084f90613ea9565b6000610dee610fd2565b5090506000610dfb61099e565b509050610e088282612207565b6005546040517fdacb2d010000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063dacb2d0190610e71907f53796e746865746978427269646765546f4f7074696d69736d0000000000000090600401613dec565b60206040518083038186803b158015610e8957600080fd5b505afa158015610e9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ec191908101906131c0565b6001600160a01b031663b9958ab883836040518363ffffffff1660e01b8152600401610eee929190613dbe565b600060405180830381600087803b158015610f0857600080fd5b505af1158015610f1c573d6000803e3d6000fd5b505050505050565b6000806000806000806000610f376130e1565b610f4089611df1565b6040805161010081018252825467ffffffffffffffff80821680845268010000000000000000909204166020830181905260018501549383019390935260028401546060830152600384015460808301819052600485015460a08401819052600586015460c0850181905260069096015460e0909401849052919e60009e50939c509a50985091965090945092505050565b6000806000806110017f6578743a41676772656761746f7249737375656453796e746873000000000000612102565b6001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561103957600080fd5b505afa15801561104d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611071919081019061335d565b50919791965090945050505050565b60045481565b6001546001600160a01b031681565b60008060015b60028110156110ea576110c16110b082611df1565b60030154839063ffffffff611e4616565b91506110e06110cf82611df1565b60040154839063ffffffff6125cd16565b915060010161109b565b50905090565b60006110fb826125f5565b5092915050565b7f466565506f6f6c0000000000000000000000000000000000000000000000000081565b600080611131611e1b565b90506000816001600160a01b031663e6d24bbd856040518263ffffffff1660e01b81526004016111619190613ce0565b60206040518083038186803b15801561117957600080fd5b505afa15801561118d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111b19190810190613236565b90506111be600082612178565b50949350505050565b60006111d16121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561120957600080fd5b505afa15801561121d573d6000803e3d6000fd5b505050506112296126e9565b611231612728565b6003546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03928316926321f4ae579261127e92879290911690600401613cfc565b60206040518083038186803b15801561129657600080fd5b505afa1580156112aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112ce9190810190613218565b6112ea5760405162461bcd60e51b815260040161084f90613f39565b61062082612753565b60008060015b60028110156110ea5761131f61130e82611df1565b60050154839063ffffffff611e4616565b915061133e61132d82611df1565b60060154839063ffffffff6125cd16565b91506001016112f9565b60006113546001611df1565b60040154905090565b3330148061141b57506005546040516321f8a72160e01b81526001600160a01b03909116906321f8a721906113b6907f53796e746865746978427269646765546f42617365000000000000000000000090600401613d87565b60206040518083038186803b1580156113ce57600080fd5b505afa1580156113e2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061140691908101906131c0565b6001600160a01b0316336001600160a01b0316145b6114375760405162461bcd60e51b815260040161084f90613f79565b6114418282612207565b5050565b606061144f611633565b905060005b815181101561144157600082828151811061146b57fe5b602002602001015190506000600560009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016114ad9190613cca565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016114d9929190613dcc565b60206040518083038186803b1580156114f157600080fd5b505afa158015611505573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061152991908101906131c0565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906115859084908490613d95565b60405180910390a15050600101611454565b6001546001600160a01b031633146115c15760405162461bcd60e51b815260040161084f90613e99565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611604926001600160a01b0391821692911690613cfc565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60608061163e612833565b60408051600e8082526101e0820190925291925060609190602082016101c0803883390190505090507f53797374656d53746174757300000000000000000000000000000000000000008160008151811061169557fe5b6020026020010181815250507f53796e7468657469784465627453686172650000000000000000000000000000816001815181106116cf57fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f7261676500000000000000000000008160028151811061170957fe5b6020026020010181815250507f45786368616e67657200000000000000000000000000000000000000000000008160038151811061174357fe5b6020026020010181815250506524b9b9bab2b960d11b8160048151811061176657fe5b6020026020010181815250507f526577617264457363726f775632000000000000000000000000000000000000816005815181106117a057fe5b6020026020010181815250507f44656c6567617465417070726f76616c73000000000000000000000000000000816006815181106117da57fe5b6020026020010181815250507f52657761726473446973747269627574696f6e000000000000000000000000008160078151811061181457fe5b6020026020010181815250507f436f6c6c61746572616c4d616e616765720000000000000000000000000000008160088151811061184e57fe5b6020026020010181815250507f57726170706572466163746f72790000000000000000000000000000000000008160098151811061188857fe5b6020026020010181815250507f457468657257726170706572000000000000000000000000000000000000000081600a815181106118c257fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600b815181106118fc57fe5b6020026020010181815250507f6578743a41676772656761746f7244656274526174696f00000000000000000081600c8151811061193657fe5b6020026020010181815250507f467574757265734d61726b65744d616e6167657200000000000000000000000081600d8151811061197057fe5b6020026020010181815250506119868282612892565b9250505090565b6000546001600160a01b031681565b6119a4611e6b565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9061080f908390613cee565b60006119f96130b4565b611a0283610b25565b60200151519392505050565b6000610824611aa6611a1e612947565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611a6257600080fd5b505af4158015611a76573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a9a9190810190613236565b9063ffffffff611e4616565b611aae6129be565b9063ffffffff612a3516565b60006108246129be565b611acc612a5f565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b6000611afd6121dc565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611b3557600080fd5b505afa158015611b49573d6000803e3d6000fd5b50505050611b556126e9565b600354610824906001600160a01b0316612753565b6003546001600160a01b031681565b6000610824612947565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611bb2612a89565b6004544210611bd35760405162461bcd60e51b815260040161084f90613f89565b60028710611bf35760405162461bcd60e51b815260040161084f90613fa9565b6040518061010001604052808767ffffffffffffffff1681526020018667ffffffffffffffff16815260200160008152602001600081526020018581526020018481526020018381526020018281525060088860028110611c5057fe5b8251600791909102919091018054602084015167ffffffffffffffff90811668010000000000000000026fffffffffffffffff0000000000000000199190941667ffffffffffffffff19909216919091171691909117815560408201516001820155606082015160028201556080820151600382015560a0820151600482015560c0820151600582015560e09091015160069091015586611d5157611cf3612af7565b6001600160a01b03166331e6da5a876040518263ffffffff1660e01b8152600401611d1e9190613fd9565b600060405180830381600087803b158015611d3857600080fd5b505af1158015611d4c573d6000803e3d6000fd5b505050505b50505050505050565b611d626126e9565b611d6a612b0b565b6003546001600160a01b03908116911614611d975760405162461bcd60e51b815260040161084f90613f09565b611db581611da56000611df1565b600501549063ffffffff611e4616565b611dbf6000611df1565b6005015550565b60006108247f466565506f6f6c457465726e616c53746f726167650000000000000000000000612102565b60006008600260ff16836016540181611e0657fe5b0660028110611e1157fe5b6007020192915050565b60006108247f53796e7468657469784465627453686172650000000000000000000000000000612102565b6000828201838110156107315760405162461bcd60e51b815260040161084f90613ec9565b6000546001600160a01b03163314611e955760405162461bcd60e51b815260040161084f90613f49565b565b6000611ea1612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b60206040518083038186803b158015611f2657600080fd5b505afa158015611f3a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108249190810190613236565b6000611f68612b61565b6001600160a01b0316826001600160a01b0316148061200a57506000611f8c612af7565b6001600160a01b03166316b2213f846040518263ffffffff1660e01b8152600401611fb79190613ce0565b60206040518083038186803b158015611fcf57600080fd5b505afa158015611fe3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120079190810190613236565b14155b806120935750612018612b8c565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b81526004016120439190613ce0565b60206040518083038186803b15801561205b57600080fd5b505afa15801561206f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120939190810190613218565b806120b657506120a1612bb7565b6001600160a01b0316826001600160a01b0316145b806120d957506120c4612be2565b6001600160a01b0316826001600160a01b0316145b8061062057506120e7612c0d565b6001600160a01b0316826001600160a01b0316149050919050565b60008181526006602090815260408083205490516001600160a01b03909116918215159161213291869101613caa565b604051602081830303815290604052906110fb5760405162461bcd60e51b815260040161084f9190613e78565b600061073183836b033b2e3c9fd0803ce8000000612c38565b6000808261218b575060009050806121d5565b600061219685611df1565b905060006121b1858360030154612a3590919063ffffffff16565b905060006121cc868460050154612a3590919063ffffffff16565b91945090925050505b9250929050565b60006108247f53797374656d5374617475730000000000000000000000000000000000000000612102565b61220f612c0d565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561224957600080fd5b505af115801561225d573d6000803e3d6000fd5b50505050612269612be2565b6001600160a01b031663bb57ad206040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156122a357600080fd5b505af11580156122b7573d6000803e3d6000fd5b50505050806122c66000611df1565b60020155816122d56000611df1565b6001015560006122e481611df1565b905060006122f26001611df1565b90506123178260030154611a9a836004015484600301546125cd90919063ffffffff16565b6123216000611df1565b6003015560058083015460068301549183015461234892611a9a919063ffffffff6125cd16565b6123526000611df1565b60050155600061236181611df1565b60030154111561243557612373612af7565b6001600160a01b031663c81ff8fa60075473feefeefeefeefeefeefeefeefeefeefeefeefeef6123a36000611df1565b600301546040518463ffffffff1660e01b81526004016123c593929190613da3565b602060405180830381600087803b1580156123df57600080fd5b505af11580156123f3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124179190810190613218565b506124226000611df1565b600301546124306000611df1565b600401555b60165461246e9060029061246290600190612456908463ffffffff611e4616565b9063ffffffff6125cd16565b9063ffffffff612c7d16565b60168190556008906002811061248057fe5b6007020180547fffffffffffffffffffffffffffffffff00000000000000000000000000000000168155600060018201819055600282018190556003820181905560048201819055600582018190556006909101819055429081906124e490611df1565b805467ffffffffffffffff191667ffffffffffffffff929092169190911790554261250f6000611df1565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff00000000000000001990921691909117905561254c612af7565b6001600160a01b03166331e6da5a826040518263ffffffff1660e01b81526004016125779190613fd9565b600060405180830381600087803b15801561259157600080fd5b505af11580156125a5573d6000803e3d6000fd5b505050506125c66125b66001611df1565b5467ffffffffffffffff16612cad565b5050505050565b6000828211156125ef5760405162461bcd60e51b815260040161084f90613ed9565b50900390565b600080600080612603612af7565b6001600160a01b031663ae3bbbbb866040518263ffffffff1660e01b815260040161262e9190613ce0565b604080518083038186803b15801561264557600080fd5b505afa158015612659573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061267d9190810190613272565b91509150600061268b6129be565b9050808310156126a357506001935091506107b79050565b60006126c06126b3611a1e612947565b839063ffffffff612a3516565b9050808411156126da5760008395509550505050506107b7565b50600194509092505050915091565b6002546001600160a01b0316331480159061270f57506003546001600160a01b03163314155b15611e9557600380546001600160a01b03191633179055565b60006108247f44656c6567617465417070726f76616c73000000000000000000000000000000612102565b6000808080808080612764886125f5565b91509150816127855760405162461bcd60e51b815260040161084f90613f59565b80156127a35760405162461bcd60e51b815260040161084f90613f19565b6127ac8861073a565b9094509250831515806127bf5750600083115b6127db5760405162461bcd60e51b815260040161084f90613ef9565b6127f9886127e96001611df1565b5467ffffffffffffffff16612d65565b839450600083111561281a5761280e83612de2565b955061281a8887612eac565b612825888688612f5e565b506001979650505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061288357fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156128c2578160200160208202803883390190505b50905060005b8351811015612904578381815181106128dd57fe5b60200260200101518282815181106128f157fe5b60209081029190910101526001016128c8565b5060005b82518110156110fb5782818151811061291d57fe5b602002602001015182828651018151811061293457fe5b6020908102919091010152600101612908565b6000612951612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b60006129c8612b36565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401611f0e929190613dbe565b6000670de0b6b3a7640000612a50848463ffffffff61301a16565b81612a5757fe5b049392505050565b6002546001600160a01b03163314611e955760405162461bcd60e51b815260040161084f90613fb9565b6002546001600160a01b03163314801590612aaf57506003546001600160a01b03163314155b15612ac757600380546001600160a01b031916331790555b6000546003546001600160a01b03908116911614611e955760405162461bcd60e51b815260040161084f90613eb9565b60006108246524b9b9bab2b960d11b612102565b60006108247f52657761726473446973747269627574696f6e00000000000000000000000000612102565b60006108247f466c657869626c6553746f726167650000000000000000000000000000000000612102565b60006108247f45786368616e6765720000000000000000000000000000000000000000000000612102565b60006108247f436f6c6c61746572616c4d616e61676572000000000000000000000000000000612102565b60006108247f467574757265734d61726b65744d616e61676572000000000000000000000000612102565b60006108247f57726170706572466163746f7279000000000000000000000000000000000000612102565b60006108247f4574686572577261707065720000000000000000000000000000000000000000612102565b600080612c5e84612c5287600a870263ffffffff61301a16565b9063ffffffff61305416565b90506005600a820610612c6f57600a015b600a900490505b9392505050565b600081612c9c5760405162461bcd60e51b815260040161084f90613f29565b818381612ca557fe5b069392505050565b6002546040516001600160a01b039091169063907dff9790612cd3908490602001613d87565b6040516020818303038152906040526001604051612cf090613cd5565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612d3793929160009081908190600401613e0b565b600060405180830381600087803b158015612d5157600080fd5b505af11580156125c6573d6000803e3d6000fd5b612d6d611dc6565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001612dae929190613c79565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401610eee929190613dbe565b6000818160015b6002811015612ea4576000612e1d612e0083611df1565b60060154612e0d84611df1565b600501549063ffffffff6125cd16565b90508015612e9a576000848210612e345784612e36565b815b9050612e5581612e4585611df1565b600601549063ffffffff611e4616565b612e5e84611df1565b60060155612e72858263ffffffff6125cd16565b9450612e84848263ffffffff611e4616565b935084612e98578395505050505050610623565b505b5060001901612de9565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612eea5760405162461bcd60e51b815260040161084f90613f99565b6301dfe200612ef7613089565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b8152600401612f2693929190613d32565b600060405180830381600087803b158015612f4057600080fd5b505af1158015612f54573d6000803e3d6000fd5b5050505050505050565b6002546040516001600160a01b039091169063907dff9790612f8890869086908690602001613d32565b6040516020818303038152906040526001604051612fa590613c9f565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612fec93929160009081908190600401613e0b565b600060405180830381600087803b15801561300657600080fd5b505af1158015611d51573d6000803e3d6000fd5b60008261302957506000610734565b8282028284828161303657fe5b04146107315760405162461bcd60e51b815260040161084f90613f69565b60008082116130755760405162461bcd60e51b815260040161084f90613ee9565b600082848161308057fe5b04949350505050565b60006108247f526577617264457363726f775632000000000000000000000000000000000000612102565b60405180604001604052806002905b6130cb61313a565b8152602001906001900390816130c35790505090565b604051806101000160405280600067ffffffffffffffff168152602001600067ffffffffffffffff1681526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b803561073481614145565b805161073481614145565b80516107348161415c565b805161073481614165565b803561073481614165565b80516107348161416e565b6000602082840312156131ac57600080fd5b60006131b88484613158565b949350505050565b6000602082840312156131d257600080fd5b60006131b88484613163565b600080604083850312156131f157600080fd5b60006131fd8585613158565b925050602061320e85828601613184565b9150509250929050565b60006020828403121561322a57600080fd5b60006131b8848461316e565b60006020828403121561324857600080fd5b60006131b88484613179565b60006020828403121561326657600080fd5b60006131b88484613184565b6000806040838503121561328557600080fd5b60006132918585613179565b925050602061320e8582860161316e565b600080604083850312156132b557600080fd5b60006131fd8585613184565b600080600080600080600060e0888a0312156132dc57600080fd5b60006132e88a8a613184565b97505060206132f98a828b01613184565b965050604061330a8a828b01613184565b955050606061331b8a828b01613184565b945050608061332c8a828b01613184565b93505060a061333d8a828b01613184565b92505060c061334e8a828b01613184565b91505092959891949750929550565b600080600080600060a0868803121561337557600080fd5b6000613381888861318f565b955050602061339288828901613179565b94505060406133a388828901613179565b93505060606133b488828901613179565b92505060806133c58882890161318f565b9150509295509295909350565b60006133de83836134c8565b505060400190565b60006133f2838361351d565b505060200190565b613403816140c9565b82525050565b61340381614076565b61340361341e82614076565b614124565b61342c81614063565b6134368184610623565b925061344182610827565b8060005b83811015610f1c57815161345987826133d2565b96506134648361405d565b925050600101613445565b600061347a82614069565b613484818561406d565b935061348f8361405d565b8060005b838110156134bd5781516134a788826133e6565b97506134b28361405d565b925050600101613493565b509495945050505050565b6134d181614063565b6134db8184610623565b92506134e682610827565b8060005b83811015610f1c5781516134fe87826133e6565b96506135098361405d565b9250506001016134ea565b61340381614081565b61340381610827565b61340361353282610827565b610827565b600061354282614069565b61354c818561406d565b935061355c8185602086016140f4565b61356581614135565b9093019392505050565b613403816140d0565b613403816140db565b613403816140e9565b600061359760178361406d565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b60006135d060358361406d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b600061362f601d8361406d565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b600061366860138361406d565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b60006136a1602483610623565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b6000613700601b8361406d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613739601e8361406d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613772601a8361406d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006137ab60408361406d565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b600061380a602b8361406d565b7f4d697373696e6720636f6e74726163743a2053796e746865746978427269646781527f65546f4f7074696d69736d000000000000000000000000000000000000000000602082015260400192915050565b6000613869601183610623565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b60006138a260188361406d565b7f52657761726473446973747269627574696f6e206f6e6c790000000000000000815260200192915050565b60006138db601e8361406d565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b600061391460188361406d565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b600061394d601f8361406d565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b6000613986602f8361406d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b60006139e5601f8361406d565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b6000613a1e60218361406d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613a7d601b8361406d565b7f4f6e6c792076616c69642072656c617965722063616e2063616c6c0000000000815260200192915050565b6000613ab660298361406d565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000613b15601983610623565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613b4e60178361406d565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b6000613b8760188361406d565b7f696e76616c69642066656520706572696f6420696e6465780000000000000000815260200192915050565b6000613bc0601883610623565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000613bf960178361406d565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613c32601b8361406d565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b61340381614086565b613403816140a7565b613403816140b4565b6000613c858285613526565b602082019150613c958284613412565b5060140192915050565b600061073482613694565b6000613cb58261385c565b9150613cc18284613526565b50602001919050565b6000613cb582613b08565b600061073482613bb3565b602081016107348284613409565b6020810161073482846133fa565b60408101613d0a8285613409565b612c766020830184613409565b60408101613d258285613409565b612c76602083018461351d565b60608101613d408286613409565b613d4d602083018561351d565b6131b8604083018461351d565b608081016107348284613423565b60208082528101610731818461346f565b602081016107348284613514565b60208101610734828461351d565b60408101613d0a828561351d565b60608101613db1828661351d565b613d4d6020830185613409565b60408101613d25828561351d565b60408101613dda828561351d565b81810360208301526131b88184613537565b60408101613dfa828461351d565b8181036020830152610731816137fd565b60c08082528101613e1c8189613537565b9050613e2b6020830188613581565b613e38604083018761351d565b613e456060830186613578565b613e526080830185613578565b613e5f60a0830184613578565b979650505050505050565b60208101610734828461356f565b602080825281016107318184613537565b602080825281016106208161358a565b60208082528101610620816135c3565b6020808252810161062081613622565b602080825281016106208161365b565b60208082528101610620816136f3565b602080825281016106208161372c565b6020808252810161062081613765565b602080825281016106208161379e565b6020808252810161062081613895565b60208082528101610620816138ce565b6020808252810161062081613907565b6020808252810161062081613940565b6020808252810161062081613979565b60208082528101610620816139d8565b6020808252810161062081613a11565b6020808252810161062081613a70565b6020808252810161062081613aa9565b6020808252810161062081613b41565b6020808252810161062081613b7a565b6020808252810161062081613bec565b6020808252810161062081613c25565b602081016107348284613c5e565b60e08101613ff5828a613c67565b6140026020830189613c67565b61400f6040830188613c67565b61401c606083018761351d565b614029608083018661351d565b61403660a083018561351d565b61404360c083018461351d565b98975050505050505050565b602081016107348284613c70565b60200190565b50600290565b5190565b90815260200190565b60006106208261409b565b151590565b6fffffffffffffffffffffffffffffffff1690565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b69ffffffffffffffffffff1690565b6000610620825b600061062082614076565b600061062061353283610827565b600061062082610827565b60005b8381101561410f5781810151838201526020016140f7565b8381111561411e576000848401525b50505050565b60006106208260006106208261413f565b601f01601f191690565b60601b90565b61414e81614076565b811461415957600080fd5b50565b61414e81614081565b61414e81610827565b61414e816140ba56fea365627a7a72315820fdec90e44ed431bbf5ea0297b49b511a2d21a4bf1968c973454b01e7cf2d08246c6578706572696d656e74616cf564736f6c63430005100040",
			"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "sUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "snxRewards",
							"type": "uint256"
						}
					],
					"name": "FeesClaimed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allNetworksDebtSharesSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "sharesSupply",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "updatedAt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allNetworksSnxBackedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "updatedAt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimFees",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "claimingForAddress",
							"type": "address"
						}
					],
					"name": "claimOnBehalf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeCurrentFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "allNetworksSnxBackedDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "allNetworksDebtSharesSupply",
							"type": "uint256"
						}
					],
					"name": "closeSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesBurned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesToBurn",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "feesFromPeriod",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_claimingAddress",
							"type": "address"
						}
					],
					"name": "getLastFeeWithdrawal",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPenaltyThresholdRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "feePeriodIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodId",
							"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFeesClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "feesClaimable",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "recentFeePeriods",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "feePeriodId",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "unused",
							"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "recordFeePaid",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setRewardsToDistribute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalFeesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalFeesBurned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalRewardsAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x98eccd224f7660cfe5f5f6be8e53186b21166b5d2b3c40e7afa136afc0110d13",
				"urls": [
					"bzz-raw://499665ed3250cea89dd15fa18cdb7b361aaa01595ab97368d0f1e4b147728e22",
					"dweb:/ipfs/QmaMZ6pepbmEd2CPEudBmQjjVnEPfAW76im73DtBLTFz7z"
				]
			},
			"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": "0x98eccd224f7660cfe5f5f6be8e53186b21166b5d2b3c40e7afa136afc0110d13",
						"urls": [
							"bzz-raw://499665ed3250cea89dd15fa18cdb7b361aaa01595ab97368d0f1e4b147728e22",
							"dweb:/ipfs/QmaMZ6pepbmEd2CPEudBmQjjVnEPfAW76im73DtBLTFz7z"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixState": {
			"bytecode": "608060408190527f907af6c000000000000000000000000000000000000000000000000000000000815260059073__SynthetixState.sol:SafeDecimalMath____9063907af6c09060849060209060048186803b15801561006057600080fd5b505af4158015610074573d6000803e3d6000fd5b505050506040513d602081101561008a57600080fd5b505181151561009557fe5b046008553480156100a557600080fd5b506040516040806110d783398101604052805160209091015162093a80828281600160a060020a038116151561013c57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505042016003555050610ed9806101fe6000396000f3006080604052600436106101195763ffffffff60e060020a600035041663054be0b7811461011e57806308d95cd5146101385780631627540c1461016257806316b29c57146101835780631bfba595146101985780633d31e97b146101ad57806346317712146101c557806351dc7f7d146101da57806352f445ca1461021d57806353a47bb71461023e57806379ba50971461026f5780638b3f8088146102845780638da5cb5b146102be5780639371bede146102d35780639e49e976146102e8578063a764eb4514610314578063aefc4ccb14610338578063b16c09f01461034d578063b410a0341461036e578063b992812e14610383578063ba08f299146103b8578063caca2516146103cd578063cd92eba914610420575b600080fd5b34801561012a57600080fd5b50610136600435610435565b005b34801561014457600080fd5b506101506004356105c4565b60408051918252519081900360200190f35b34801561016e57600080fd5b50610136600160a060020a03600435166105e3565b34801561018f57600080fd5b506101506106a8565b3480156101a457600080fd5b506101366106ae565b3480156101b957600080fd5b5061013660043561072b565b3480156101d157600080fd5b506101506107c4565b3480156101e657600080fd5b50610136600160a060020a03600435167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19602435166107ea565b34801561022957600080fd5b50610136600160a060020a0360043516610881565b34801561024a57600080fd5b50610253610946565b60408051600160a060020a039092168252519081900360200190f35b34801561027b57600080fd5b50610136610955565b34801561029057600080fd5b506102a5600160a060020a0360043516610a5d565b6040805192835260208301919091528051918290030190f35b3480156102ca57600080fd5b50610253610a76565b3480156102df57600080fd5b50610150610a85565b3480156102f457600080fd5b506101366024600480358281019290820135918135918201910135610a8b565b34801561032057600080fd5b50610136600160a060020a0360043516602435610c23565b34801561034457600080fd5b50610253610cae565b34801561035957600080fd5b50610136600160a060020a0360043516610cbd565b34801561037a57600080fd5b50610150610d41565b34801561038f57600080fd5b506103a4600160a060020a0360043516610d47565b604080519115158252519081900360200190f35b3480156103c457600080fd5b50610136610d63565b3480156103d957600080fd5b506103ee600160a060020a0360043516610ddb565b604080517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff199092168252519081900360200190f35b34801561042c57600080fd5b50610150610df3565b600054600160a060020a03163314610499576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b73__SynthetixState.sol:SafeDecimalMath____63907af6c06040518163ffffffff1660e060020a02815260040160206040518083038186803b1580156104e057600080fd5b505af41580156104f4573d6000803e3d6000fd5b505050506040513d602081101561050a57600080fd5b5051811115610589576040805160e560020a62461bcd02815260206004820152603360248201527f4e65772069737375616e636520726174696f2063616e6e6f742065786365656460448201527f204d41585f49535355414e43455f524154494f00000000000000000000000000606482015290519081900360840190fd5b60088190556040805182815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529181900360200190a150565b60068054829081106105d257fe5b600091825260209091200154905081565b600054600160a060020a03163314610647576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60075481565b600254600160a060020a03163314610712576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b60055461072690600163ffffffff610df916565b600555565b600254600160a060020a0316331461078f576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0155565b600680546000919060001981019081106107da57fe5b9060005260206000200154905090565b600254600160a060020a0316331461084e576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600160a060020a03919091166000908152600960205260409020805463ffffffff191660e060020a909204919091179055565b600054600160a060020a031633146108e5576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600154600160a060020a031633146109dd576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b6004602052600090815260409020805460019091015482565b600054600160a060020a031681565b60055481565b60008054600160a060020a03163314610af0576040805160e560020a62461bcd02815260206004820152602f6024820152600080516020610e2e8339815191526044820152600080516020610e4e833981519152606482015290519081900360840190fd5b6003544210610b6f576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757260448201527f696e672073657475700000000000000000000000000000000000000000000000606482015290519081900360840190fd5b838214610bc6576040805160e560020a62461bcd02815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b5060005b60ff8116841115610c1c57610c14858560ff8416818110610be757fe5b90506020020135600160a060020a031684848460ff168181101515610c0857fe5b90506020020135610e12565b600101610bca565b5050505050565b600254600160a060020a03163314610c87576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600160a060020a039091166000908152600460205260409020908155600654600190910155565b600254600160a060020a031681565b600254600160a060020a03163314610d21576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b600160a060020a0316600090815260046020526040812081815560010155565b60085481565b600160a060020a03166000908152600460205260408120541190565b600254600160a060020a03163314610dc7576040805160e560020a62461bcd0281526020600482015260346024820152600080516020610e6e8339815191526044820152600080516020610e8e833981519152606482015290519081900360840190fd5b60055461072690600163ffffffff610e1616565b60096020526000908152604090205460e060020a0281565b60065490565b600082820183811015610e0b57600080fd5b9392505050565b5050565b60008083831115610e2657600080fd5b505090039056004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e00000000000000000000000000000000004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820c9f0f45bbef3afdc30a9413c57bc1cebec8d88bec82aaddadb8d9b1726f8b5020029",
			"abi": [
				{
					"constant": false,
					"inputs": [
						{
							"name": "_issuanceRatio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x054be0b7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"name": "debtLedger",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x08d95cd5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "importedXDRAmount",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x16b29c57"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bfba595"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "appendDebtLedgerValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d31e97b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtLedgerEntry",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46317712"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "currencyKey",
							"type": "bytes4"
						}
					],
					"name": "setPreferredCurrency",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x51dc7f7d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "issuanceData",
					"outputs": [
						{
							"name": "initialDebtOwnership",
							"type": "uint256"
						},
						{
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b3f8088"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuerCount",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9371bede"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "accounts",
							"type": "address[]"
						},
						{
							"name": "sUSDAmounts",
							"type": "uint256[]"
						}
					],
					"name": "importIssuerData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9e49e976"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "initialDebtOwnership",
							"type": "uint256"
						}
					],
					"name": "setCurrentIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa764eb45"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb16c09f0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "hasIssued",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb992812e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "decrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba08f299"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "preferredCurrency",
					"outputs": [
						{
							"name": "",
							"type": "bytes4"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcaca2516"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtLedgerLength",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd92eba9"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event",
					"signature": "0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"LegacyTokenState": {
			"bytecode": "0x608060405234801561001057600080fd5b50604051604080610b47833981018060405281019080805190602001909291908051906020019092919050505081806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505080600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0381604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a15050610a13806101346000396000f3006080604052600436106100a4576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806352f445ca146100a957806353a47bb7146100ec5780635b94db271461014357806370a082311461018657806379ba5097146101dd5780638da5cb5b146101f4578063aefc4ccb1461024b578063b46310f6146102a2578063da46098c146102ef578063dd62ed3e1461035c575b600080fd5b3480156100b557600080fd5b506100ea600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506103d3565b005b3480156100f857600080fd5b506101016104d5565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561014f57600080fd5b50610184600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506104fb565b005b34801561019257600080fd5b506101c7600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506105fd565b6040518082815260200191505060405180910390f35b3480156101e957600080fd5b506101f2610615565b005b34801561020057600080fd5b506102096107f1565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b34801561025757600080fd5b50610260610816565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156102ae57600080fd5b506102ed600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291908035906020019092919050505061083c565b005b3480156102fb57600080fd5b5061035a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803590602001909291905050506108e0565b005b34801561036857600080fd5b506103bd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109c2565b6040518082815260200191505060405180910390f35b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561042e57600080fd5b80600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0381604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561055657600080fd5b80600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2281604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390a150565b60036020528060005260406000206000915090505481565b600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561067157600080fd5b7fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff16600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16604051808373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020018273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019250505060405180910390a1600160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561089857600080fd5b80600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614151561093c57600080fd5b80600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550505050565b60046020528160005260406000206020528060005260406000206000915091505054815600a165627a7a7230582075e885147ce472e429b7afa787a02ccc5f81ae0af8bc28ba37737c00bdc0a6fd0029",
			"abi": [
				{
					"constant": false,
					"inputs": [
						{
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5b94db27"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setBalanceOf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb46310f6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "tokenOwner",
							"type": "address"
						},
						{
							"name": "spender",
							"type": "address"
						},
						{
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setAllowance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xda46098c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						},
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820030e1123711506f5827f299497b58bf4619b88e1a6ea8d2aabdd179e945b810964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setBalanceOf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3",
				"urls": [
					"bzz-raw://93bf0064dec628d8353bdd383a390e4a71fc2e2cd0372928d10e85bcabe69507",
					"dweb:/ipfs/QmVqc3MxPwaGP1ev4yegbGdon2VAUsbHT7Vi1pgYT1bAiz"
				]
			},
			"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": "0x10a63d041fa9899b429b12dddcf047b55c23fe62019c08abbba9fa1f603738d3",
						"urls": [
							"bzz-raw://93bf0064dec628d8353bdd383a390e4a71fc2e2cd0372928d10e85bcabe69507",
							"dweb:/ipfs/QmVqc3MxPwaGP1ev4yegbGdon2VAUsbHT7Vi1pgYT1bAiz"
						]
					}
				},
				"version": 1
			}
		},
		"Synthetix": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200648838038062006488833981016040819052620000349162000315565b84848484848085856040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e000000000000000000815250604051806040016040528060038152602001620a69cb60eb1b81525086601289868160006001600160a01b0316816001600160a01b03161415620000d35760405162461bcd60e51b8152600401620000ca9062000463565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620001209184906200042b565b60405180910390a1506000546001600160a01b0316620001545760405162461bcd60e51b8152600401620000ca9062000451565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001a19083906200041b565b60405180910390a150600480546001600160a01b0319166001600160a01b0388161790558451620001da90600590602088019062000243565b508351620001f090600690602087019062000243565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004e19c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200028657805160ff1916838001178555620002b6565b82800160010185558215620002b6579182015b82811115620002b657825182559160200191906001019062000299565b50620002c4929150620002c8565b5090565b620002e591905b80821115620002c45760008155600101620002cf565b90565b8051620002f581620004b1565b92915050565b8051620002f581620004cb565b8051620002f581620004d6565b600080600080600060a086880312156200032e57600080fd5b60006200033c8888620002e8565b95505060206200034f88828901620002fb565b94505060406200036288828901620002e8565b9350506060620003758882890162000308565b92505060806200038888828901620002e8565b9150509295509295909350565b620003a081620004a4565b82525050565b620003a0816200047e565b6000620003c060118362000475565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003ef60198362000475565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002f5828462000395565b604081016200043b828562000395565b6200044a6020830184620003a6565b9392505050565b60208082528101620002f581620003b1565b60208082528101620002f581620003e0565b90815260200190565b6000620002f58262000498565b6000620002f5826200047e565b6001600160a01b031690565b6000620002f5826200048b565b620004bc816200047e565b8114620004c857600080fd5b50565b620004bc816200048b565b620004bc81620002e5565b615f9780620004f16000396000f3fe608060405234801561001057600080fd5b50600436106104495760003560e01c80636c00f310116102415780639f7698071161013b578063d37c4d8b116100c3578063e8e09b8b11610087578063e8e09b8b146108f3578063e90dd9e214610906578063ec5568891461090e578063edef719a146106b0578063ee52a2f31461091657610449565b8063d37c4d8b146108aa578063d67bdd25146108bd578063d8a1f76f146108c5578063dbf63340146108d8578063dd62ed3e146108e057610449565b8063ace88afd1161010a578063ace88afd14610856578063af086c7e14610869578063bc67f83214610871578063c2bf388014610884578063c836fa0a1461089757610449565b80639f7698071461080a578063a311c7c21461081d578063a5fdc5de14610830578063a9059cbb1461084357610449565b806384358843116101c95780639324cac71161018d5780639324cac7146107cc57806395d89b41146107d457806397107d6d146107dc5780639741fb22146107ef578063987757dd146107f757610449565b80638435884314610775578063899ffef4146107965780638a2900141461079e5780638da5cb5b146107b157806391e56b68146107b957610449565b806372cb051f1161021057806372cb051f1461072a578063741853601461073f57806379ba509714610747578063835e119c1461074f57806383d625d41461076257610449565b80636c00f310146106de5780636f01a986146106f1578063704e7b851461070457806370a082311461071757610449565b80632c955fa71161035257806344b3e923116102da5780635e22846a1161029e5780635e22846a14610695578063614d08f8146106a8578063666ed4f1146106b05780636ac0bf9c146106c35780636b76222f146106d657610449565b806344b3e9231461064a5780634e99bda91461065d578063528c7efb1461066557806353a47bb71461066d5780635af090ef1461068257610449565b806330ead7601161032157806330ead760146105f6578063313ce56714610609578063320223db1461061157806332608039146106245780633e89b9e51461063757610449565b80632c955fa7146105a85780632d3169eb146105bb5780632e0f2625146105ce5780632f7206ce146105e357610449565b806316b2213f116103d557806323b872dd116103a457806323b872dd1461055f5780632621716f14610572578063295da87d146105855780632a905318146105985780632af64bd3146105a057610449565b806316b2213f1461052957806318160ddd1461053c57806318821400146105445780631fce304d1461054c57610449565b8063095ea7b31161041c578063095ea7b3146104ab5780630e30963c146104cb5780631137aedf146104ec5780631249c58b1461050e5780631627540c1461051657610449565b806303fbc5471461044e57806304f3bcec1461045857806305b3c1c91461047657806306fdde0314610496575b600080fd5b610456610929565b005b610460610b16565b60405161046d9190615bdf565b60405180910390f35b6104896104843660046147a5565b610b2a565b60405161046d9190615a40565b61049e610bb7565b60405161046d9190615bed565b6104be6104b9366004614868565b610c45565b60405161046d9190615a32565b6104de6104d9366004614abb565b610cd2565b60405161046d929190615de8565b6104ff6104fa3660046147a5565b610de1565b60405161046d93929190615ae4565b6104be610e76565b6104566105243660046147a5565b611230565b6104896105373660046147a5565b61128e565b6104896112c3565b61049e6112c9565b6104be61055a366004614a7f565b611302565b6104be61056d36600461481b565b611397565b6104896105803660046147a5565b6113d6565b610456610593366004614a7f565b6115b7565b61049e611638565b6104be611657565b6104566105b63660046147a5565b611773565b6104566105c9366004614abb565b6117bf565b6105d6611875565b60405161046d9190615e2b565b6104566105f13660046149b2565b61187a565b610489610604366004614afe565b61193c565b6105d66119fa565b61045661061f3660046147a5565b611a03565b610460610632366004614a7f565b611a4f565b610489610645366004614a7f565b611ad4565b610489610658366004614b73565b611b0c565b6104be611bc4565b6104be611c43565b610675611ede565b60405161046d91906157d9565b610489610690366004614afe565b611eed565b6104be6106a33660046147a5565b611f4d565b610489611f79565b6104566106be366004614868565b611f89565b6104896106d13660046147a5565b611f95565b61045661209d565b6104566106ec3660046149b2565b612148565b6104566106ff366004614898565b61219b565b6104be610712366004614868565b612254565b6104896107253660046147a5565b61227f565b6107326122b1565b60405161046d9190615a21565b61045661232f565b610456612481565b61046061075d366004614a7f565b61251d565b610489610770366004614a7f565b612552565b6107886107833660046147a5565b61258a565b60405161046d929190615a6a565b6107326128bf565b6104566107ac366004614a7f565b612953565b61067561299d565b6104896107c736600461492b565b6129ac565b610489612a6c565b61049e612a77565b6104566107ea3660046147a5565b612ad2565b610456612b25565b6104ff610805366004614a7f565b612b9e565b610456610818366004614be8565b612c14565b61048961082b3660046147a5565b612c40565b61048961083e3660046147a5565b612c75565b6104be610851366004614868565b612caa565b610456610864366004614898565b612cf4565b610456612d41565b61045661087f3660046147a5565b612d8a565b610456610892366004614868565b612db4565b6104896108a53660046148ca565b612e38565b6104896108b8366004614868565b612ef6565b610675612f7d565b6104566108d3366004614a7f565b612f8c565b610489612f94565b6104896108ee3660046147e1565b61300e565b610456610901366004614868565b613042565b610460613090565b61046061309f565b610489610924366004614add565b6130ae565b61093161316a565b60085460405163dacb2d0160e01b815260009161010090046001600160a01b03169063dacb2d019061096590600401615dca565b60206040518083038186803b15801561097d57600080fd5b505afa158015610991573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109b591908101906147c3565b60085460405163dacb2d0160e01b81529192506000916101009091046001600160a01b03169063dacb2d01906109ed90600401615d42565b60206040518083038186803b158015610a0557600080fd5b505afa158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d91908101906147c3565b9050816001600160a01b0316816001600160a01b03161415610a7a5760405162461bcd60e51b8152600401610a7190615dba565b60405180910390fd5b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a0823191610aac918791016157d9565b60206040518083038186803b158015610ac457600080fd5b505afa158015610ad8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610afc9190810190614a9d565b90508015610b1157610b0f838383613194565b505b505050565b60085461010090046001600160a01b031681565b6000610b34613370565b6001600160a01b03166305b3c1c9836040518263ffffffff1660e01b8152600401610b5f91906157d9565b60206040518083038186803b158015610b7757600080fd5b505afa158015610b8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610baf9190810190614a9d565b90505b919050565b6005805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c3d5780601f10610c1257610100808354040283529160200191610c3d565b820191906000526020600020905b815481529060010190602001808311610c2057829003601f168201915b505050505081565b6000610c4f613384565b60035460048054604051633691826360e21b81526001600160a01b03938416939091169163da46098c91610c89918591899189910161593f565b600060405180830381600087803b158015610ca357600080fd5b505af1158015610cb7573d6000803e3d6000fd5b50505050610cc68185856133c3565b60019150505b92915050565b6000808584610ce18282613443565b610ce9613384565b610cf16134a4565b6001600160a01b0316634f8633d2600360009054906101000a90046001600160a01b0316600360009054906101000a90046001600160a01b03168b8b8b600360009054906101000a90046001600160a01b03166001600360009054906101000a90046001600160a01b03168e6040518a63ffffffff1660e01b8152600401610d81999897969594939291906158ef565b6040805180830381600087803b158015610d9a57600080fd5b505af1158015610dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd29190810190614c54565b93509350505094509492505050565b6000806000610dee613370565b6001600160a01b0316631137aedf856040518263ffffffff1660e01b8152600401610e1991906157d9565b60606040518083038186803b158015610e3157600080fd5b505afa158015610e45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e699190810190614c84565b9250925092509193909250565b6000610e806134bb565b6000610e8a61350f565b6001600160a01b03161415610eb15760405162461bcd60e51b8152600401610a7190615ce5565b6000610ebb613530565b90506000610ec761350f565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f0457600080fd5b505afa158015610f18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3c9190810190614a9d565b905060008111610f5e5760405162461bcd60e51b8152600401610a7190615d8d565b610f6a6000308361354c565b604051637e7961d760e01b81526000906001600160a01b03851690637e7961d790610f99908590600401615a40565b602060405180830381600087803b158015610fb357600080fd5b505af1158015610fc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610feb9190810190614a9d565b90506000610fff838363ffffffff61358f16565b600480546040516370a0823160e01b81529293506001600160a01b03169163b46310f691879161109b91869186916370a082319161103f918791016157d9565b60206040518083038186803b15801561105757600080fd5b505afa15801561106b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061108f9190810190614a9d565b9063ffffffff6135b716565b6040518363ffffffff1660e01b81526004016110b89291906159b7565b600060405180830381600087803b1580156110d257600080fd5b505af11580156110e6573d6000803e3d6000fd5b505050506110f530858361354c565b604051630b32e9c760e31b81526001600160a01b038516906359974e3890611121908490600401615a40565b602060405180830381600087803b15801561113b57600080fd5b505af115801561114f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111739190810190614a61565b50600480546040516370a0823160e01b81526001600160a01b039091169163b46310f69133916111b391879186916370a082319161103f918791016157e7565b6040518363ffffffff1660e01b81526004016111d09291906157f5565b600060405180830381600087803b1580156111ea57600080fd5b505af11580156111fe573d6000803e3d6000fd5b5050505061120d30338461354c565b600754611220908463ffffffff6135b716565b6007555060019450505050505b90565b61123861316a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906112839083906157d9565b60405180910390a150565b6000611298613370565b6001600160a01b03166316b2213f836040518263ffffffff1660e01b8152600401610b5f91906157d9565b60075481565b6040518060400160405280601781526020017f53796e746865746978204e6574776f726b20546f6b656e00000000000000000081525081565b60008061130d6134a4565b6003546040516301670a7b60e21b81526001600160a01b039283169263059c29ec926113409291169087906004016159b7565b60206040518083038186803b15801561135857600080fd5b505afa15801561136c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113909190810190614a9d565b1192915050565b60006113a16135dc565b6113a9613631565b6113b38483613671565b506003546113cc906001600160a01b0316858585613942565b90505b9392505050565b6000806113e16139ee565b6001600160a01b031663204b676a846040518263ffffffff1660e01b815260040161140c91906157d9565b60206040518083038186803b15801561142457600080fd5b505afa158015611438573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061145c9190810190614a9d565b90506000611468614670565b60005b8381101561159e5761147b6139ee565b6001600160a01b031663ae58254987836040518363ffffffff1660e01b81526004016114a89291906159b7565b60206040518083038186803b1580156114c057600080fd5b505afa1580156114d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114f89190810190614a9d565b92506115026139ee565b6001600160a01b03166345626bd687856040518363ffffffff1660e01b815260040161152f9291906159b7565b604080518083038186803b15801561154657600080fd5b505afa15801561155a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061157e9190810190614c06565b602081015190925015611596579350610bb292505050565b60010161146b565b5060405162461bcd60e51b8152600401610a7190615c58565b6115bf6134bb565b6115c7613384565b6115cf613370565b60035460405163b06e8c6560e01b81526001600160a01b039283169263b06e8c65926116029291169085906004016159b7565b600060405180830381600087803b15801561161c57600080fd5b505af1158015611630573d6000803e3d6000fd5b505050505b50565b604051806040016040528060038152602001620a69cb60eb1b81525081565b600060606116636128bf565b905060005b815181101561176a57600082828151811061167f57fe5b602090810291909101810151600081815260099092526040918290205460085492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a721906116d5908590600401615a40565b60206040518083038186803b1580156116ed57600080fd5b505afa158015611701573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061172591908101906147c3565b6001600160a01b031614158061175057506000818152600960205260409020546001600160a01b0316155b15611761576000935050505061122d565b50600101611668565b50600191505090565b61177b6134bb565b611783613384565b61178b613370565b60035460405163159fa0d560e11b81526001600160a01b0392831692632b3f41aa9261160292869290911690600401615810565b6117c7613a0a565b6002546040516001600160a01b039091169063907dff97906117f190869086908690602001615ae4565b604051602081830303815290604052600260405161180e90615761565b6040519081900381206001600160e01b031960e086901b16825261183d9392918a906000908190600401615b5e565b600060405180830381600087803b15801561185757600080fd5b505af115801561186b573d6000803e3d6000fd5b5050505050505050565b601281565b611882613a0a565b6002546040516001600160a01b039091169063907dff97906118b09088908890889088908890602001615a98565b60405160208183030381529060405260026040516118cd9061574b565b60405180910390206118de8b613a42565b6000806040518763ffffffff1660e01b815260040161190296959493929190615b5e565b600060405180830381600087803b15801561191c57600080fd5b505af1158015611930573d6000803e3d6000fd5b50505050505050505050565b6000858461194a8282613443565b611952613384565b61195a6134a4565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261199c9291169081908d908d908d9084906000908f908f906004016158ef565b6040805180830381600087803b1580156119b557600080fd5b505af11580156119c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119ed9190810190614c54565b5098975050505050505050565b60085460ff1681565b611a0b6134bb565b611a13613384565b611a1b613370565b60035460405163fd864ccf60e01b81526001600160a01b039283169263fd864ccf9261160292869290911690600401615810565b6000611a59613370565b6001600160a01b03166332608039836040518263ffffffff1660e01b8152600401611a849190615a40565b60206040518083038186803b158015611a9c57600080fd5b505afa158015611ab0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610baf9190810190614bca565b6000611ade613370565b6001600160a01b0316637b1001b78360016040518363ffffffff1660e01b8152600401610b5f929190615a5c565b60008584611b1a8282613443565b611b22613384565b611b2a6134a4565b60035460405162674ed160e71b81526001600160a01b03928316926333a7688092611b66929116908c908c908c9084908d908d906004016159c5565b602060405180830381600087803b158015611b8057600080fd5b505af1158015611b94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611bb89190810190614a9d565b98975050505050505050565b6000611bce613370565b6001600160a01b0316634e99bda96040518163ffffffff1660e01b815260040160206040518083038186803b158015611c0657600080fd5b505afa158015611c1a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3e9190810190614a61565b905090565b6000611c4d613631565b611c55613384565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a72190611c9a906b131959d858de53585c9ad95d60a21b90600401615a40565b60206040518083038186803b158015611cb257600080fd5b505afa158015611cc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cea91908101906147c3565b6001600160a01b031614611d105760405162461bcd60e51b8152600401610a7190615d15565b6003546001600160a01b0316611d24613a4e565b6001600160a01b031663c00007b0826040518263ffffffff1660e01b8152600401611d4f91906157d9565b600060405180830381600087803b158015611d6957600080fd5b505af1158015611d7d573d6000803e3d6000fd5b50505050600080611d8c613370565b6001600160a01b03166372c658168460016040518363ffffffff1660e01b8152600401611dba92919061599c565b606060405180830381600087803b158015611dd457600080fd5b505af1158015611de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e0c9190810190614c84565b509150915060008111611e315760405162461bcd60e51b8152600401610a7190615d70565b611e3d83838386613a6d565b6000611e5184611e4b613a4e565b85613ae9565b905080611e705760405162461bcd60e51b8152600401610a7190615d05565b611e78613a4e565b6001600160a01b0316633c6b16ab846040518263ffffffff1660e01b8152600401611ea39190615a40565b600060405180830381600087803b158015611ebd57600080fd5b505af1158015611ed1573d6000803e3d6000fd5b5092965050505050505090565b6001546001600160a01b031681565b60008584611efb8282613443565b611f03613384565b611f0b6134a4565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261199c9291169081908d908d908d9032906000908f908f90600401615869565b6000611f57613631565b611f5f613384565b600354610baf9083906000906001600160a01b0316613af6565b680a6f2dce8d0cae8d2f60bb1b81565b611f91613ef8565b5050565b6000611f9f613370565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938793909116916370a0823191611fda918591016157d9565b60206040518083038186803b158015611ff257600080fd5b505afa158015612006573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061202a9190810190614a9d565b6040518363ffffffff1660e01b81526004016120479291906159b7565b604080518083038186803b15801561205e57600080fd5b505afa158015612072573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120969190810190614c24565b5092915050565b6120a561316a565b6004546000906001600160a01b03166370a082316120c1613f10565b6040518263ffffffff1660e01b81526004016120dd91906157d9565b60206040518083038186803b1580156120f557600080fd5b505afa158015612109573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061212d9190810190614a9d565b9050611f9161213a613f10565b6121426139ee565b83613194565b612150613a0a565b6002546040516001600160a01b039091169063907dff979061217e9088908890889088908890602001615a98565b60405160208183030381529060405260026040516118cd9061578c565b6121a3613a0a565b6002546040516001600160a01b039091169063907dff97906121cb9085908590602001615a6a565b60405160208183030381529060405260026040516121e8906157a2565b60405180910390206121f988613a42565b6000806040518763ffffffff1660e01b815260040161221d96959493929190615b5e565b600060405180830381600087803b15801561223757600080fd5b505af115801561224b573d6000803e3d6000fd5b50505050505050565b600061225e613631565b612266613384565b6003546113cf90849084906001600160a01b0316613af6565b600480546040516370a0823160e01b81526000926001600160a01b03909216916370a0823191610b5f918691016157d9565b60606122bb613370565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156122f357600080fd5b505afa158015612307573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c3e9190810190614a2c565b60606123396128bf565b905060005b8151811015611f9157600082828151811061235557fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161239791906157c3565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016123c3929190615a78565b60206040518083038186803b1580156123db57600080fd5b505afa1580156123ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061241391908101906147c3565b6000838152600960205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061246f9084908490615a4e565b60405180910390a1505060010161233e565b6001546001600160a01b031633146124ab5760405162461bcd60e51b8152600401610a7190615c1b565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926124ee926001600160a01b0391821692911690615810565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000612527613370565b6001600160a01b031663835e119c836040518263ffffffff1660e01b8152600401611a849190615a40565b600061255c613370565b6001600160a01b0316637b1001b78360006040518363ffffffff1660e01b8152600401610b5f929190615a5c565b600080612595613631565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a721906125e49075446562744d69677261746f724f6e457468657265756d60501b90600401615a40565b60206040518083038186803b1580156125fc57600080fd5b505afa158015612610573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061263491908101906147c3565b9050336001600160a01b03821614806126f057506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061268b906b131959d858de53585c9ad95d60a21b90600401615a40565b60206040518083038186803b1580156126a357600080fd5b505afa1580156126b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126db91908101906147c3565b6001600160a01b0316336001600160a01b0316145b61270c5760405162461bcd60e51b8152600401610a7190615d25565b600480546040516370a0823160e01b81526001600160a01b03909116916370a082319161273b918891016157d9565b60206040518083038186803b15801561275357600080fd5b505afa158015612767573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061278b9190810190614a9d565b915081156127c15760006127a0853385613ae9565b9050806127bf5760405162461bcd60e51b8152600401610a7190615ca5565b505b6127c96139ee565b6001600160a01b031663326a3cfb856040518263ffffffff1660e01b81526004016127f491906157d9565b60206040518083038186803b15801561280c57600080fd5b505afa158015612820573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128449190810190614a9d565b925082156128b9576128546139ee565b6001600160a01b031663de065f6785338660006040518563ffffffff1660e01b8152600401612886949392919061582b565b600060405180830381600087803b1580156128a057600080fd5b505af11580156128b4573d6000803e3d6000fd5b505050505b50915091565b6060806128ca613f2a565b6040805160028082526060808301845293945090916020830190803883390190505090506b526577617264457363726f7760a01b8160008151811061290b57fe5b6020026020010181815250506d537570706c795363686564756c6560901b8160018151811061293657fe5b60200260200101818152505061294c8282614073565b9250505090565b61295b6134bb565b612963613384565b61296b613370565b6003546040516285c0d160e31b81526001600160a01b039283169263042e0688926116029291169085906004016159b7565b6000546001600160a01b031681565b600085846129ba8282613443565b6129c2613384565b6129ca6134a4565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612a0d928e92909116908d908d908d9085906000908f908f906004016158ef565b6040805180830381600087803b158015612a2657600080fd5b505af1158015612a3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a5e9190810190614c54565b509998505050505050505050565b631cd554d160e21b81565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610c3d5780601f10610c1257610100808354040283529160200191610c3d565b612ada61316a565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906112839083906157e7565b612b2d6134bb565b612b35613384565b612b3d613370565b6003546040516324beb82560e11b81526001600160a01b039283169263497d704a92612b6e929116906004016157d9565b600060405180830381600087803b158015612b8857600080fd5b505af1158015610b0f573d6000803e3d6000fd5b565b6000806000612bab613384565b612bb36134a4565b6003546040516306c5a00b60e21b81526001600160a01b0392831692631b16802c92612be69291169088906004016159b7565b606060405180830381600087803b158015612c0057600080fd5b505af1158015610e45573d6000803e3d6000fd5b612c1c614128565b600480546001600160a01b0319166001600160a01b03831617905561163581614196565b6000612c4a613370565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b8152600401610b5f91906157d9565b6000612c7f613370565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b8152600401610b5f91906157d9565b6000612cb46135dc565b612cbc613631565b600354612cd2906001600160a01b031683613671565b50600354612cea906001600160a01b03168484613ae9565b5060019392505050565b612cfc613a0a565b6002546040516001600160a01b039091169063907dff9790612d249085908590602001615a6a565b60405160208183030381529060405260026040516121e890615756565b612d496134bb565b612d51613384565b612d59613370565b60035460405163644bb89960e11b81526001600160a01b039283169263c897713292612b6e929116906004016157d9565b612d92614208565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b612dbc6134bb565b612dc4613384565b612dcc613370565b600354604051632694552d60e21b81526001600160a01b0392831692639a5154b492612e0292879290911690869060040161593f565b600060405180830381600087803b158015612e1c57600080fd5b505af1158015612e30573d6000803e3d6000fd5b505050505050565b60008382612e468282613443565b612e4e613384565b612e566134a4565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d292612e99928c92909116908b908b908b908590600090829082906004016158ef565b6040805180830381600087803b158015612eb257600080fd5b505af1158015612ec6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612eea9190810190614c54565b50979650505050505050565b6000612f00613370565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b8152600401612f2d9291906159b7565b60206040518083038186803b158015612f4557600080fd5b505afa158015612f59573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113cf9190810190614a9d565b6003546001600160a01b031681565b611635613ef8565b6000612f9e613370565b6001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015612fd657600080fd5b505afa158015612fea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3e9190810190614a9d565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163dd62ed3e91612f2d918791879101615810565b61304a6134bb565b613052613384565b61305a613370565b60035460405163227635b160e11b81526001600160a01b03928316926344ec6b6292612e0292879290911690869060040161593f565b6004546001600160a01b031681565b6002546001600160a01b031681565b600083826130bc8282613443565b6130c4613384565b6130cc6134a4565b6003546040516327c319e960e11b81526001600160a01b0392831692634f8633d29261310e9291169081908b908b908b908490600090829082906004016158ef565b6040805180830381600087803b15801561312757600080fd5b505af115801561313b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061315f9190810190614c54565b509695505050505050565b6000546001600160a01b03163314612b9c5760405162461bcd60e51b8152600401610a7190615cf5565b60006001600160a01b038316158015906131b757506001600160a01b0383163014155b80156131d157506002546001600160a01b03848116911614155b6131ed5760405162461bcd60e51b8152600401610a7190615bfe565b600480546040516370a0823160e01b81526001600160a01b039091169163b46310f691879161328891879186916370a082319161322c918791016157d9565b60206040518083038186803b15801561324457600080fd5b505afa158015613258573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061327c9190810190614a9d565b9063ffffffff61358f16565b6040518363ffffffff1660e01b81526004016132a59291906159b7565b600060405180830381600087803b1580156132bf57600080fd5b505af11580156132d3573d6000803e3d6000fd5b5050600480546040516370a0823160e01b81526001600160a01b03909116935063b46310f69250869161331691879186916370a082319161103f918791016157d9565b6040518363ffffffff1660e01b81526004016133339291906159b7565b600060405180830381600087803b15801561334d57600080fd5b505af1158015613361573d6000803e3d6000fd5b50505050612cea84848461354c565b6000611c3e6524b9b9bab2b960d11b614232565b6002546001600160a01b031633148015906133aa57506003546001600160a01b03163314155b15612b9c57600380546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff97906133e9908490602001615a40565b604051602081830303815290604052600360405161340690615797565b604051809103902061341788613a42565b61342088613a42565b60006040518763ffffffff1660e01b815260040161221d96959493929190615b98565b61344b61428f565b6001600160a01b0316631ce00ba283836040518363ffffffff1660e01b8152600401613478929190615a6a565b60006040518083038186803b15801561349057600080fd5b505afa158015612e30573d6000803e3d6000fd5b6000611c3e6822bc31b430b733b2b960b91b614232565b6134c361428f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156134fb57600080fd5b505afa158015610b0f573d6000803e3d6000fd5b6000611c3e722932bbb0b93239a234b9ba3934b13aba34b7b760691b614232565b6000611c3e6d537570706c795363686564756c6560901b614232565b6002546040516001600160a01b039091169063907dff9790613572908490602001615a40565b6040516020818303038152906040526003604051613406906157ce565b6000828211156135b15760405162461bcd60e51b8152600401610a7190615c95565b50900390565b6000828201838110156113cf5760405162461bcd60e51b8152600401610a7190615c68565b6002546001600160a01b03163314156135f457612b9c565b6135fd336142a9565b1561361957600380546001600160a01b03191633179055612b9c565b60405162461bcd60e51b8152600401610a7190615d9d565b61363961428f565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156134fb57600080fd5b6008546040516321f8a72160e01b815260009182916101009091046001600160a01b0316906321f8a721906136b9906b131959d858de53585c9ad95d60a21b90600401615a40565b60206040518083038186803b1580156136d157600080fd5b505afa1580156136e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061370991908101906147c3565b6003549091506001600160a01b03161580159061373357506003546001600160a01b038281169116145b8061374f5750806001600160a01b0316846001600160a01b0316145b1561375e576001915050610ccc565b6000613768613370565b6001600160a01b031663d37c4d8b86631cd554d160e21b6040518363ffffffff1660e01b815260040161379c9291906159b7565b60206040518083038186803b1580156137b457600080fd5b505afa1580156137c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137ec9190810190614a9d565b1115610cc6576000806137fd613370565b600480546040516370a0823160e01b81526001600160a01b0393841693636bed0415938b93909116916370a0823191613838918591016157d9565b60206040518083038186803b15801561385057600080fd5b505afa158015613864573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138889190810190614a9d565b6040518363ffffffff1660e01b81526004016138a59291906159b7565b604080518083038186803b1580156138bc57600080fd5b505afa1580156138d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138f49190810190614c24565b91509150818511156139185760405162461bcd60e51b8152600401610a7190615cc5565b80156139365760405162461bcd60e51b8152600401610a7190615cd5565b50600195945050505050565b60048054604051636eb1769f60e11b81526000926001600160a01b039092169163da46098c9187918991613988918891879163dd62ed3e9161322c918891889101615810565b6040518463ffffffff1660e01b81526004016139a69392919061593f565b600060405180830381600087803b1580156139c057600080fd5b505af11580156139d4573d6000803e3d6000fd5b505050506139e3848484613194565b90505b949350505050565b6000611c3e6d2932bbb0b93222b9b1b937bbab1960911b614232565b613a126134a4565b6001600160a01b0316336001600160a01b031614612b9c5760405162461bcd60e51b8152600401610a7190615c48565b6001600160a01b031690565b6000611c3e704c697175696461746f725265776172647360781b614232565b6002546040516001600160a01b039091169063907dff9790613a9790869086908690602001615e03565b6040516020818303038152906040526002604051613ab4906157b8565b6040518091039020613ac589613a42565b6000806040518763ffffffff1660e01b815260040161183d96959493929190615b5e565b60006113cc848484613194565b6000613b00613a4e565b6001600160a01b031663c00007b0856040518263ffffffff1660e01b8152600401613b2b91906157d9565b600060405180830381600087803b158015613b4557600080fd5b505af1158015613b59573d6000803e3d6000fd5b505050506000806000613b6a613370565b6001600160a01b03166372c658168860006040518363ffffffff1660e01b8152600401613b9892919061599c565b606060405180830381600087803b158015613bb257600080fd5b505af1158015613bc6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613bea9190810190614c84565b919450925090508015613c6357613bff6139ee565b6001600160a01b031663de065f678889848a6040518563ffffffff1660e01b8152600401613c309493929190615967565b600060405180830381600087803b158015613c4a57600080fd5b505af1158015613c5e573d6000803e3d6000fd5b505050505b613c6f87848488613a6d565b6000613c79614658565b6001600160a01b0316638074b3726040518163ffffffff1660e01b815260040160206040518083038186803b158015613cb157600080fd5b505afa158015613cc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ce99190810190614a9d565b90506000613cf5614658565b6001600160a01b03166331e4e0306040518163ffffffff1660e01b815260040160206040518083038186803b158015613d2d57600080fd5b505afa158015613d41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d659190810190614a9d565b90506000613d71614658565b6001600160a01b0316635616c9578b6040518263ffffffff1660e01b8152600401613d9c91906157d9565b60206040518083038186803b158015613db457600080fd5b505afa158015613dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613dec91908101906147c3565b90506000613dfb8b8386613ae9565b905080613e1a5760405162461bcd60e51b8152600401610a7190615c78565b6000613e278c8b86613ae9565b905080613e465760405162461bcd60e51b8152600401610a7190615d60565b8715613ee6576000613e608d613e5a613a4e565b8b613ae9565b905080613e7f5760405162461bcd60e51b8152600401610a7190615d05565b613e87613a4e565b6001600160a01b0316633c6b16ab8a6040518263ffffffff1660e01b8152600401613eb29190615a40565b600060405180830381600087803b158015613ecc57600080fd5b505af1158015613ee0573d6000803e3d6000fd5b50505050505b5060019b9a5050505050505050505050565b60405162461bcd60e51b8152600401610a7190615cb5565b6000611c3e6b526577617264457363726f7760a01b614232565b60408051600780825261010082019092526060916020820160e0803883390190505090506b53797374656d53746174757360a01b81600081518110613f6b57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110613f9157fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110613fb457fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600381518110613fe457fe5b602002602001018181525050704c697175696461746f725265776172647360781b8160048151811061401257fe5b602002602001018181525050692634b8bab4b230ba37b960b11b8160058151811061403957fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160068151811061406457fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156140a3578160200160208202803883390190505b50905060005b83518110156140e5578381815181106140be57fe5b60200260200101518282815181106140d257fe5b60209081029190910101526001016140a9565b5060005b8251811015612096578281815181106140fe57fe5b602002602001015182828651018151811061411557fe5b60209081029190910101526001016140e9565b6002546001600160a01b0316331480159061414e57506003546001600160a01b03163314155b1561416657600380546001600160a01b031916331790555b6000546003546001600160a01b03908116911614612b9c5760405162461bcd60e51b8152600401610a7190615c38565b6002546040516001600160a01b039091169063907dff97906141bc9084906020016157d9565b60405160208183030381529060405260016040516141d9906157ad565b6040519081900381206001600160e01b031960e086901b16825261160293929160009081908190600401615aff565b6002546001600160a01b03163314612b9c5760405162461bcd60e51b8152600401610a7190615d9d565b60008181526009602090815260408083205490516001600160a01b0390911691821515916142629186910161576c565b604051602081830303815290604052906120965760405162461bcd60e51b8152600401610a719190615bed565b6000611c3e6b53797374656d53746174757360a01b614232565b6008546040516321f8a72160e01b815260009161010090046001600160a01b0316906321f8a721906142dd90600401615dad565b60206040518083038186803b1580156142f557600080fd5b505afa158015614309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061432d91908101906147c3565b6001600160a01b0316826001600160a01b031614806143de57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061437990600401615d35565b60206040518083038186803b15801561439157600080fd5b505afa1580156143a5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143c991908101906147c3565b6001600160a01b0316826001600160a01b0316145b8061447b57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061441690600401615c0e565b60206040518083038186803b15801561442e57600080fd5b505afa158015614442573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061446691908101906147c3565b6001600160a01b0316826001600160a01b0316145b8061451857506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906144b390600401615c88565b60206040518083038186803b1580156144cb57600080fd5b505afa1580156144df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061450391908101906147c3565b6001600160a01b0316826001600160a01b0316145b806145b557506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a7219061455090600401615c2b565b60206040518083038186803b15801561456857600080fd5b505afa15801561457c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145a091908101906147c3565b6001600160a01b0316826001600160a01b0316145b80610baf57506008546040516321f8a72160e01b81526101009091046001600160a01b0316906321f8a721906145ed90600401615d80565b60206040518083038186803b15801561460557600080fd5b505afa158015614619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061463d91908101906147c3565b6001600160a01b0316826001600160a01b0316149050919050565b6000611c3e692634b8bab4b230ba37b960b11b614232565b604080518082019091526000808252602082015290565b8035610ccc81615f1c565b8051610ccc81615f1c565b600082601f8301126146ae57600080fd5b81516146c16146bc82615e60565b615e39565b915081818352602084019350602081019050838560208402820111156146e657600080fd5b60005b8381101561471257816146fc8882614732565b84525060209283019291909101906001016146e9565b5050505092915050565b8051610ccc81615f30565b8035610ccc81615f39565b8051610ccc81615f39565b8051610ccc81615f42565b8035610ccc81615f42565b60006040828403121561476557600080fd5b61476f6040615e39565b9050600061477d848461479a565b825250602061478e84848301614732565b60208301525092915050565b8051610ccc81615f4b565b6000602082840312156147b757600080fd5b60006139e68484614687565b6000602082840312156147d557600080fd5b60006139e68484614692565b600080604083850312156147f457600080fd5b60006148008585614687565b925050602061481185828601614687565b9150509250929050565b60008060006060848603121561483057600080fd5b600061483c8686614687565b935050602061484d86828701614687565b925050604061485e86828701614727565b9150509250925092565b6000806040838503121561487b57600080fd5b60006148878585614687565b925050602061481185828601614727565b6000806000606084860312156148ad57600080fd5b60006148b98686614687565b935050602061484d86828701614727565b600080600080608085870312156148e057600080fd5b60006148ec8787614687565b94505060206148fd87828801614727565b935050604061490e87828801614727565b925050606061491f87828801614727565b91505092959194509250565b60008060008060008060c0878903121561494457600080fd5b60006149508989614687565b965050602061496189828a01614727565b955050604061497289828a01614727565b945050606061498389828a01614727565b935050608061499489828a01614687565b92505060a06149a589828a01614727565b9150509295509295509295565b60008060008060008060c087890312156149cb57600080fd5b60006149d78989614687565b96505060206149e889828a01614727565b95505060406149f989828a01614727565b9450506060614a0a89828a01614727565b9350506080614a1b89828a01614727565b92505060a06149a589828a01614687565b600060208284031215614a3e57600080fd5b815167ffffffffffffffff811115614a5557600080fd5b6139e68482850161469d565b600060208284031215614a7357600080fd5b60006139e6848461471c565b600060208284031215614a9157600080fd5b60006139e68484614727565b600060208284031215614aaf57600080fd5b60006139e68484614732565b60008060008060808587031215614ad157600080fd5b60006148ec8787614727565b600080600060608486031215614af257600080fd5b60006148b98686614727565b600080600080600060a08688031215614b1657600080fd5b6000614b228888614727565b9550506020614b3388828901614727565b9450506040614b4488828901614727565b9350506060614b5588828901614687565b9250506080614b6688828901614727565b9150509295509295909350565b600080600080600060a08688031215614b8b57600080fd5b6000614b978888614727565b9550506020614ba888828901614727565b9450506040614bb988828901614727565b9350506060614b5588828901614727565b600060208284031215614bdc57600080fd5b60006139e6848461473d565b600060208284031215614bfa57600080fd5b60006139e68484614748565b600060408284031215614c1857600080fd5b60006139e68484614753565b60008060408385031215614c3757600080fd5b6000614c438585614732565b92505060206148118582860161471c565b60008060408385031215614c6757600080fd5b6000614c738585614732565b92505060206148118582860161473d565b600080600060608486031215614c9957600080fd5b6000614ca58686614732565b9350506020614cb686828701614732565b925050604061485e86828701614732565b6000614cd38383614d55565b505060200190565b614ce481615ec2565b82525050565b614ce481615e94565b6000614cfe82615e87565b614d088185615e8b565b9350614d1383615e81565b8060005b83811015614d41578151614d2b8882614cc7565b9750614d3683615e81565b925050600101614d17565b509495945050505050565b614ce481615e9f565b614ce48161122d565b614ce4614d6a8261122d565b61122d565b6000614d7a82615e87565b614d848185615e8b565b9350614d94818560208601615ee6565b614d9d81615f12565b9093019392505050565b614ce481615ea4565b614ce481615ecd565b614ce481615edb565b6000614dcf601f83615e8b565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b75446562744d69677261746f724f6e4f7074696d69736d60501b9052565b6000614e26603583615e8b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6e53796e746865746978457363726f7760881b9052565b6000614e94601383615e8b565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b6000614ec3601e83615e8b565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b6000614efc604483610bb2565b7f41746f6d696353796e746845786368616e676528616464726573732c6279746581527f7333322c75696e743235362c627974657333322c75696e743235362c616464726020820152636573732960e01b604082015260440192915050565b6000614f68601483615e8b565b73616c6c20656e747269657320617265207a65726f60601b815260200192915050565b6000614f98601b83615e8b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614fd1602483615e8b565b7f466c616720726577617264207472616e7366657220646964206e6f742073756381526318d9595960e21b602082015260400192915050565b6b526577617264457363726f7760a01b9052565b600061502b601883615e8b565b7f4e657720657363726f77206164647265737320756e7365740000000000000000815260200192915050565b6000615064602883610bb2565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b60006150ae601e83615e8b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006150e7601383615e8b565b721cdb9e081d1c985b9cd9995c8819985a5b1959606a1b815260200192915050565b6000615116601b83615e8b565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b600061514f603183610bb2565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152702c75696e743235362c75696e743235362960781b602082015260310192915050565b60006151a2601183610bb2565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006151cf603e83610bb2565b7f53796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b600061522e602683615e8b565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152650cac840a69cb60d31b602082015260400192915050565b6000615276601e83615e8b565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b60006152af601b83615e8b565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b60006152e8602f83615e8b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000615339602483615e8b565b7f5472616e7366657220746f204c697175696461746f72526577617264732066618152631a5b195960e21b602082015260400192915050565b600061537f602183610bb2565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b60006153c2601783615e8b565b7f4d757374206c6971756964617465207573696e67205633000000000000000000815260200192915050565b60006153fb602783610bb2565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b6000615444602483615e8b565b7f4f6e6c79204c3120446562744d69677261746f72206f72204c65676163794d618152631c9ad95d60e21b602082015260400192915050565b600061548a601a83610bb2565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b60006154c3603283610bb2565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6d2932bbb0b93222b9b1b937bbab1960911b9052565b600061552d601983610bb2565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615566602983615e8b565b7f4c697175696461746520726577617264207472616e7366657220646964206e6f8152681d081cdd58d8d9595960ba1b602082015260400192915050565b60006155b1601583615e8b565b7463616e6e6f742073656c66206c697175696461746560581b815260200192915050565b6411195c1bdd60da1b9052565b60006155ef601583615e8b565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b6000615620601883615e8b565b7f4f6c6420657363726f77206164647265737320756e7365740000000000000000815260200192915050565b6000615659602183610bb2565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b600061569c601783615e8b565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b7f53796e746865746978427269646765546f4f7074696d69736d000000000000009052565b60006156fa601e83615e8b565b7f63616e6e6f74206d69677261746520746f2073616d6520616464726573730000815260200192915050565b732932bbb0b93222b9b1b937bbab19233937bd32b760611b9052565b614ce481615ebc565b6000610ccc82614eef565b6000610ccc82615057565b6000610ccc82615142565b600061577782615195565b91506157838284614d5e565b50602001919050565b6000610ccc826151c2565b6000610ccc82615372565b6000610ccc826153ee565b6000610ccc8261547d565b6000610ccc826154b6565b600061577782615520565b6000610ccc8261564c565b60208101610ccc8284614cea565b60208101610ccc8284614cdb565b604081016158038285614cdb565b6113cf6020830184614d55565b6040810161581e8285614cea565b6113cf6020830184614cea565b608081016158398287614cea565b6158466020830186614cdb565b6158536040830185614d55565b6158606060830184614db9565b95945050505050565b6101208101615878828c614cea565b615885602083018b614cea565b615892604083018a614d55565b61589f6060830189614d55565b6158ac6080830188614d55565b6158b960a0830187614cdb565b6158c660c0830186614d4c565b6158d360e0830185614cea565b6158e1610100830184614d55565b9a9950505050505050505050565b61012081016158fe828c614cea565b61590b602083018b614cea565b615918604083018a614d55565b6159256060830189614d55565b6159326080830188614d55565b6158b960a0830187614cea565b6060810161594d8286614cea565b61595a6020830185614cea565b6139e66040830184614d55565b608081016159758287614cea565b6159826020830186614cea565b61598f6040830185614d55565b6158606060830184614d55565b604081016159aa8285614cea565b6113cf6020830184614d4c565b604081016158038285614cea565b60e081016159d3828a614cea565b6159e06020830189614d55565b6159ed6040830188614d55565b6159fa6060830187614d55565b615a076080830186614cea565b615a1460a0830185614d55565b611bb860c0830184614d55565b602080825281016113cf8184614cf3565b60208101610ccc8284614d4c565b60208101610ccc8284614d55565b6040810161581e8285614d55565b604081016159aa8285614d55565b604081016158038285614d55565b60408101615a868285614d55565b81810360208301526113cc8184614d6f565b60a08101615aa68288614d55565b615ab36020830187614d55565b615ac06040830186614d55565b615acd6060830185614d55565b615ada6080830184614cea565b9695505050505050565b60608101615af28286614d55565b61595a6020830185614d55565b60c08082528101615b108189614d6f565b9050615b1f6020830188614db9565b615b2c6040830187614d55565b615b396060830186614db0565b615b466080830185614db0565b615b5360a0830184614db0565b979650505050505050565b60c08082528101615b6f8189614d6f565b9050615b7e6020830188614db9565b615b8b6040830187614d55565b615b396060830186614d55565b60c08082528101615ba98189614d6f565b9050615bb86020830188614db9565b615bc56040830187614d55565b615bd26060830186614d55565b615b466080830185614d55565b60208101610ccc8284614da7565b602080825281016113cf8184614d6f565b60208082528101610baf81614dc2565b60208101610bb282614dfb565b60208082528101610baf81614e19565b60208101610bb282614e70565b60208082528101610baf81614e87565b60208082528101610baf81614eb6565b60208082528101610baf81614f5b565b60208082528101610baf81614f8b565b60208082528101610baf81614fc4565b60208101610bb28261500a565b60208082528101610baf816150a1565b60208082528101610baf816150da565b60208082528101610baf81615109565b60208082528101610baf81615221565b60208082528101610baf81615269565b60208082528101610baf816152a2565b60208082528101610baf816152db565b60208082528101610baf8161532c565b60208082528101610baf816153b5565b60208082528101610baf81615437565b60208101610bb28261550a565b60408101615d4f8261550a565b8181036020830152610baf8161501e565b60208082528101610baf81615559565b60208082528101610baf816155a4565b60208101610bb2826155d5565b60208082528101610baf816155e2565b60208082528101610baf8161568f565b60208101610bb2826156c8565b60208082528101610baf816156ed565b60408101615dd782615726565b8181036020830152610baf81615613565b60408101615df68285614d55565b6113cf6020830184614da7565b60608101615e118286614d55565b615e1e6020830185614d55565b6139e66040830184614cea565b60208101610ccc8284615742565b60405181810167ffffffffffffffff81118282101715615e5857600080fd5b604052919050565b600067ffffffffffffffff821115615e7757600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b6000610baf82613a42565b151590565b6000610baf82615e94565b67ffffffffffffffff1690565b60ff1690565b6000610baf82615ea4565b6000610baf614d6a8361122d565b6000610baf8261122d565b60005b83811015615f01578181015183820152602001615ee9565b83811115610b0f5750506000910152565b601f01601f191690565b615f2581615e94565b811461163557600080fd5b615f2581615e9f565b615f258161122d565b615f2581615ea4565b615f2581615eaf56fea365627a7a723158204825395a7bccc95316825fe426192a6c5fd210c860e25765e28157068fc582e16c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "snxRedeemed",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "AccountLiquidated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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": "AtomicSynthExchange",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "ExchangeTracking",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "SynthExchange",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anySynthOrSNXRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableSynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availableSynths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnSynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						}
					],
					"name": "burnSynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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": "emitAtomicSynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "emitExchangeTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "emitSynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
						},
						{
							"internalType": "uint256",
							"name": "minAmount",
							"type": "uint256"
						}
					],
					"name": "exchangeAtomically",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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": "rewardAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "rewardAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "rewardAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTrackingForInitiator",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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 IVirtualSynth",
							"name": "vSynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getFirstNonZeroEscrowIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						}
					],
					"name": "issueMaxSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "escrowStartIndex",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccountEscrowIndex",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "liquidateSelf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "migrateAccountBalances",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalEscrowRevoked",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalLiquidBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "migrateEscrowBalanceToRewardEscrowV2",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "migrateEscrowContractBalance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "sUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "synthAddress",
							"type": "address"
						}
					],
					"name": "synthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedSynthsExcludeOtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferableSynthetix",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xf5af266ffe444334cd8903b556e23be15b0644f532a083013f03af8d92d9dbfd",
				"urls": [
					"bzz-raw://a03c26a0b3d5e0f21651bdecfbc8818149a57fe794cb485f98b6582e9a76de03",
					"dweb:/ipfs/QmQGexPhwTdg5szkXEQE5qxmhvorpd2jqVCtqbkzQa9Zbv"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Synthetix.sol": "Synthetix"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Synthetix.sol": {
						"keccak256": "0xf5af266ffe444334cd8903b556e23be15b0644f532a083013f03af8d92d9dbfd",
						"urls": [
							"bzz-raw://a03c26a0b3d5e0f21651bdecfbc8818149a57fe794cb485f98b6582e9a76de03",
							"dweb:/ipfs/QmQGexPhwTdg5szkXEQE5qxmhvorpd2jqVCtqbkzQa9Zbv"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixEscrow": {
			"bytecode": "608060405234801561001057600080fd5b5060405160408061161b8339810160405280516020909101516249d40082600160a060020a03811615156100a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150420160025560038054600160a060020a031916600160a060020a0392909216919091179055506114e8806101336000396000f3006080604052600436106101325763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663135c070181146101375780631627540c1461015a57806319e740c01461017b5780631bb47b44146101ae578063204b676a146101d5578063227d517a146101f65780632f5bb66114610217578063458efde31461027357806345e5441f1461028857806353a47bb7146102af5780636b3905c4146102e057806370a0823114610301578063759b52251461032257806379ba5097146103375780638da5cb5b1461034c57806397f46527146103615780639b217f9014610382578063a15d59ce146103a6578063bb2a7d0c146103bb578063da7bd3e9146103f4578063e6d76a7614610418578063ee1d036c14610430578063fec9f9da14610454575b600080fd5b34801561014357600080fd5b50610158600160a060020a0360043516610475565b005b34801561016657600080fd5b50610158600160a060020a036004351661059d565b34801561018757600080fd5b5061019c600160a060020a0360043516610662565b60408051918252519081900360200190f35b3480156101ba57600080fd5b50610158600160a060020a03600435166024356044356106a9565b3480156101e157600080fd5b5061019c600160a060020a0360043516610b29565b34801561020257600080fd5b5061019c600160a060020a0360043516610b44565b34801561022357600080fd5b50610238600160a060020a0360043516610b56565b6040518082600260200280838360005b83811015610260578181015183820152602001610248565b5050505090500191505060405180910390f35b34801561027f57600080fd5b50610158610ba9565b34801561029457600080fd5b5061019c600160a060020a0360043516602435604435610d8a565b3480156102bb57600080fd5b506102c4610dca565b60408051600160a060020a039092168252519081900360200190f35b3480156102ec57600080fd5b5061019c600160a060020a0360043516610dd9565b34801561030d57600080fd5b5061019c600160a060020a0360043516610df2565b34801561032e57600080fd5b506102c4610e0d565b34801561034357600080fd5b50610158610e1c565b34801561035857600080fd5b506102c4610f24565b34801561036d57600080fd5b5061019c600160a060020a0360043516610f33565b34801561038e57600080fd5b5061019c600160a060020a0360043516602435610f45565b3480156103b257600080fd5b5061019c610f60565b3480156103c757600080fd5b5061015860048035600160a060020a03169060248035808201929081013591604435908101910135610f66565b34801561040057600080fd5b50610238600160a060020a036004351660243561106b565b34801561042457600080fd5b506101586004356110da565b34801561043c57600080fd5b5061019c600160a060020a0360043516602435611236565b34801561046057600080fd5b50610158600160a060020a0360043516611249565b600054600160a060020a031633146104d9576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210610534576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b600160a060020a03811660009081526004602052604081206105559161133e565b600160a060020a0381166000908152600560205260409020546006546105809163ffffffff61130e16565b600655600160a060020a0316600090815260056020526040812055565b600054600160a060020a03163314610601576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600061067084610b29565b9150600090505b8181101561069e576106898482610f45565b15610696578092506106a2565b600101610677565b8192505b5050919050565b60008054600160a060020a0316331461070e576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210610769576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b4283116107c0576040805160e560020a62461bcd02815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b811515610817576040805160e560020a62461bcd02815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b60065461082a908363ffffffff61132516565b600655600354604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b15801561089357600080fd5b505af11580156108a7573d6000803e3d6000fd5b505050506040513d60208110156108bd57600080fd5b50516006541115610964576040805160e560020a62461bcd02815260206004820152604760248201527f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f60448201527f6e747261637420746f2070726f7669646520666f72207468652076657374696e60648201527f6720656e74727900000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b50600160a060020a03831660009081526004602052604090205460148111156109d7576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b8015156109fe57600160a060020a0384166000908152600560205260409020829055610ad2565b82610a14856001610a0e88610b29565b03610f45565b10610a8f576040805160e560020a62461bcd02815260206004820152603760248201527f43616e6e6f7420616464206e65772076657374656420656e747269657320656160448201527f726c696572207468616e20746865206c617374206f6e65000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260056020526040902054610ab8908363ffffffff61132516565b600160a060020a0385166000908152600560205260409020555b600160a060020a0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610b219260029081029091019190611362565b505050505050565b600160a060020a031660009081526004602052604090205490565b60056020526000908152604090205481565b610b5e6113a0565b6000610b6983610662565b9050610b7483610b29565b811415610b965760408051808201909152600080825260208201529150610ba3565b610ba0838261106b565b91505b50919050565b6000806000806000610bba33610b29565b9450600092505b84831015610c6257610bd33384610f45565b915042821115610be257610c62565b610bec3384611236565b9050801515610bfa57610c57565b604080518082018252600080825260208083018290523382526004905291909120805485908110610c2757fe5b9060005260206000209060020201906002610c439291906113bb565b50610c54848263ffffffff61132516565b93505b600190920191610bc1565b8315610d8357600654610c7b908563ffffffff61130e16565b60065533600090815260056020526040902054610c9e908563ffffffff61130e16565b3360008181526005602090815260408083209490945560035484517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018990529351600160a060020a039094169363a9059cbb93604480820194918390030190829087803b158015610d1c57600080fd5b505af1158015610d30573d6000803e3d6000fd5b505050506040513d6020811015610d4657600080fd5b50506040805142815260208101869052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050505050565b600460205282600052604060002082815481101515610da557fe5b906000526020600020906002020181600281101515610dc057fe5b0154925083915050565b600154600160a060020a031681565b6000610de482610b56565b60005b602002015192915050565b600160a060020a031660009081526005602052604090205490565b600354600160a060020a031681565b600154600160a060020a03163314610ea4576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b6000610f3e82610b56565b6001610de7565b6000610f51838361106b565b60005b60200201519392505050565b60065481565b60008054600160a060020a03163314610fcb576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210611026576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b5060005b83811015610b21576110638686868481811061104257fe5b90506020020135858585818110151561105757fe5b905060200201356106a9565b60010161102a565b6110736113a0565b600160a060020a038316600090815260046020526040902080548390811061109757fe5b600091825260209091206040805180820191829052926002908102909201919082845b8154815260200190600101908083116110ba575050505050905092915050565b600054600160a060020a0316331461113e576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b6002544210611199576040805160e560020a62461bcd028152602060048201526029602482015260008051602061149d833981519152604482015260008051602061145d833981519152606482015290519081900360840190fd5b600354604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a0390921660048301819052602483018490529051909163a9059cbb9160448083019260209291908290030181600087803b15801561120757600080fd5b505af115801561121b573d6000803e3d6000fd5b505050506040513d602081101561123157600080fd5b505050565b6000611242838361106b565b6001610f54565b600054600160a060020a031633146112ad576040805160e560020a62461bcd02815260206004820152602f602482015260008051602061143d833981519152604482015260008051602061147d833981519152606482015290519081900360840190fd5b60038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000808383111561131e57600080fd5b5050900390565b60008282018381101561133757600080fd5b9392505050565b508054600082556002029060005260206000209081019061135f91906113ee565b50565b8260028101928215611390579160200282015b82811115611390578251825591602001919060010190611375565b5061139c929150611414565b5090565b60408051808201825290600290829080388339509192915050565b8260028101928215611390579160200282015b82811115611390578251829060ff169055916020019190600101906113ce565b61141191905b8082111561139c576000611408828261142e565b506002016113f4565b90565b61141191905b8082111561139c576000815560010161141a565b50600081556001016000905556004f6e6c792074686520636f6e7472616374206f776e6572206d61792070657266696e6720736574757000000000000000000000000000000000000000000000006f726d207468697320616374696f6e000000000000000000000000000000000043616e206f6e6c7920706572666f726d207468697320616374696f6e20647572a165627a7a7230582044e8d55a3290c68e9d2336eab4817fdde1a9e9858bbdc3186f104e268eb1be1d0029",
			"abi": [
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "purgeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x135c0701"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "withdrawHavvens",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19dc831a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "time",
							"type": "uint256"
						},
						{
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						},
						{
							"name": "",
							"type": "uint256"
						},
						{
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_havven",
							"type": "address"
						}
					],
					"name": "setHavven",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4fa2b0a5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5b94db27"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "havven",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9c4de81f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9d8e2177"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalVestedBalance",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa15d59ce"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "times",
							"type": "uint256[]"
						},
						{
							"name": "quantities",
							"type": "uint256[]"
						}
					],
					"name": "addVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb2a7d0c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_havven",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newHavven",
							"type": "address"
						}
					],
					"name": "HavvenUpdated",
					"type": "event",
					"signature": "0x7d83fa33771af200b7fda80813418ffe7eafdbeb2a93f5267ced74abac654a4e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": true,
							"name": "beneficiaryIndex",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0x6d06f0a463d80b43fe6cd0b79c61bb2790cfe898790e69828f25e6e12886e178"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"Synth": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162002cf638038062002cf683398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608090930151919450925080888888888660128a86816001600160a01b0381166200022a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002d5576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035790600690602088019062000454565b5083516200036d90600790602087019062000454565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003f2576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b03841662000443576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620004f99350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049757805160ff1916838001178555620004c7565b82800160010185558215620004c7579182015b82811115620004c7578251825591602001919060010190620004aa565b50620004d5929150620004d9565b5090565b620004f691905b80821115620004d55760008155600101620004e0565b90565b6127ed80620005096000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806395d89b411161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146105fc578063eb1edd6114610604578063ec5568891461060c578063f7ea7a3d14610614578063ffff51d61461063157610206565b8063d67bdd2514610588578063dbd06c8514610590578063dd62ed3e14610598578063e73cced3146105c657610206565b80639f769807116100e95780639f769807146104e4578063a9059cbb1461050a578063b014c3a314610536578063bc67f8321461056257610206565b806395d89b411461048257806397107d6d1461048a5780639cbdaeb6146104b05780639dc29fac146104b857610206565b80632e0f26251161019d578063741853601161016c57806374185360146103e657806379ba5097146103ee578063867904b4146103f6578063899ffef4146104225780638da5cb5b1461047a57610206565b80632e0f262514610392578063313ce567146103b057806353a47bb7146103b857806370a08231146103c057610206565b80631627540c116101d95780631627540c1461031457806318160ddd1461033a57806323b872dd146103545780632af64bd31461038a57610206565b806304f3bcec1461020b57806306fdde031461022f578063095ea7b3146102ac578063131b0ae7146102ec575b600080fd5b610213610657565b604080516001600160a01b039092168252519081900360200190f35b61023761066b565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610271578181015183820152602001610259565b50505050905090810190601f16801561029e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360408110156102c257600080fd5b506001600160a01b0381351690602001356106f9565b604080519115158252519081900360200190f35b6103126004803603602081101561030257600080fd5b50356001600160a01b0316610794565b005b6103126004803603602081101561032a57600080fd5b50356001600160a01b03166107be565b61034261081a565b60408051918252519081900360200190f35b6102d86004803603606081101561036a57600080fd5b506001600160a01b03813581169160208101359091169060400135610820565b6102d8610847565b61039a610959565b6040805160ff9092168252519081900360200190f35b61039a61095e565b610213610967565b610342600480360360208110156103d657600080fd5b50356001600160a01b0316610976565b6103126109fb565b610312610bd8565b6103126004803603604081101561040c57600080fd5b506001600160a01b038135169060200135610c94565b61042a610d51565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046657818101518382015260200161044e565b505050509050019250505060405180910390f35b610213610e0d565b610237610e1c565b610312600480360360208110156104a057600080fd5b50356001600160a01b0316610e77565b610213610ed3565b610312600480360360408110156104ce57600080fd5b506001600160a01b038135169060200135610ee2565b610312600480360360208110156104fa57600080fd5b50356001600160a01b0316610fa0565b6102d86004803603604081101561052057600080fd5b506001600160a01b038135169060200135610fcf565b6102d86004803603604081101561054c57600080fd5b506001600160a01b038135169060200135611067565b6103126004803603602081101561057857600080fd5b50356001600160a01b03166111c0565b6102136111ea565b6103426111f9565b610342600480360360408110156105ae57600080fd5b506001600160a01b03813581169160200135166111ff565b6102d8600480360360608110156105dc57600080fd5b506001600160a01b0381358116916020810135909116906040013561128b565b6102136113db565b6102136113ea565b610213611402565b6103126004803603602081101561062a57600080fd5b5035611411565b6103426004803603602081101561064757600080fd5b50356001600160a01b031661141e565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b820191906000526020600020905b8154815290600101906020018083116106d457829003601f168201915b505050505081565b6000610703611561565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b15801561076557600080fd5b505af1158015610779573d6000803e3d6000fd5b505050506107888185856115b8565b60019150505b92915050565b61079c6116f1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6107c66116f1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b600061082a611561565b610834848361173a565b61083f8484846118b1565b949350505050565b60006060610853610d51565b905060005b815181101561094f57600082828151811061086f57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b50516001600160a01b031614158061093557506000818152600a60205260409020546001600160a01b0316155b156109465760009350505050610956565b50600101610858565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d60208110156109f157600080fd5b505190505b919050565b6060610a05610d51565b905060005b8151811015610bd4576000828281518110610a2157fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610aec578181015183820152602001610ad4565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d6020811015610b6157600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a0a565b5050565b6001546001600160a01b03163314610c215760405162461bcd60e51b815260040180806020018281038252603581526020018061268c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610c9e611a72565b6001600160a01b0316336001600160a01b03161490506000610cbe611a8c565b6001600160a01b0316336001600160a01b03161490506000610cde611aa3565b6001600160a01b0316336001600160a01b03161490508280610cfd5750815b80610d055750805b610d405760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b610d4a8585611ab7565b5050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110610d9157fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610db757fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610dda57fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110610dfe57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b610e7f6116f1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610eec611a72565b6001600160a01b0316336001600160a01b03161490506000610f0c611a8c565b6001600160a01b0316336001600160a01b03161490506000610f2c611aa3565b6001600160a01b0316336001600160a01b03161490508280610f4b5750815b80610f535750805b610f8e5760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b610f988585611be1565b505050505050565b610fa8611cde565b600580546001600160a01b0319166001600160a01b038316179055610fcc81611d8e565b50565b6000610fd9611561565b600454610fef906001600160a01b03168361173a565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156110255761101e8383611ecd565b905061078e565b6001600160a01b0383166110495760045461101e906001600160a01b031683611be1565b600454611060906001600160a01b03168484612030565b9392505050565b6000611071611561565b600061107b611a8c565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156110d657600080fd5b505af11580156110ea573d6000803e3d6000fd5b505050506040513d606081101561110057600080fd5b5060400151905082811561118e5760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561115f57600080fd5b505afa158015611173573d6000803e3d6000fd5b505050506040513d602081101561118957600080fd5b505190505b80841161119b578361119d565b805b6004549094506111b7906001600160a01b03168686612030565b95945050505050565b6111c861225d565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561125857600080fd5b505afa15801561126c573d6000803e3d6000fd5b505050506040513d602081101561128257600080fd5b50519392505050565b6000611295611561565b600061129f611a8c565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561130057600080fd5b505af1158015611314573d6000803e3d6000fd5b505050506040513d606081101561132a57600080fd5b506040015190508281156113b457600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561138557600080fd5b505afa158015611399573d6000803e3d6000fd5b505050506040513d60208110156113af57600080fd5b505190505b808410156113c257836113c4565b805b93506113d18686866118b1565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611419611cde565b600855565b600080611429611a8c565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561148857600080fd5b505afa15801561149c573d6000803e3d6000fd5b505050506040513d60608110156114b257600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561150757600080fd5b505afa15801561151b573d6000803e3d6000fd5b505050506040513d602081101561153157600080fd5b5051905080821115611548576000925050506109f6565b611558818363ffffffff6122d116565b925050506109f6565b6002546001600160a01b0316331480159061158757506003546001600160a01b03163314155b801561159e57506004546001600160a01b03163314155b156115b657600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161275282396021019050604051809103902061160b8861232e565b6116148861232e565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561168357818101518382015260200161166b565b50505050905090810190601f1680156116b05780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156116d457600080fd5b505af11580156116e8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146115b65760405162461bcd60e51b815260040180806020018281038252602f815260200180612723602f913960400191505060405180910390fd5b611742611a8c565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156117a157600080fd5b505afa1580156117b5573d6000803e3d6000fd5b505050506040513d60208110156117cb57600080fd5b5051156118095760405162461bcd60e51b81526004018080602001828103825260258152602001806127736025913960400191505060405180910390fd5b806118138361141e565b10156118505760405162461bcd60e51b815260040180806020018281038252602f8152602001806126c1602f913960400191505060405180910390fd5b61185861233a565b6001600160a01b03166342a28e21600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561189d57600080fd5b505afa158015610f98573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561190f57600080fd5b505afa158015611923573d6000803e3d6000fd5b505050506040513d602081101561193957600080fd5b505114611a67576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c9288926119e6918891879163dd62ed3e91604480820192602092909190829003018186803b1580156119ae57600080fd5b505afa1580156119c2573d6000803e3d6000fd5b505050506040513d60208110156119d857600080fd5b50519063ffffffff6122d116565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611a4e57600080fd5b505af1158015611a62573d6000803e3d6000fd5b505050505b61083f848484612030565b6000611a8766119959541bdbdb60ca1b612350565b905090565b6000611a876822bc31b430b733b2b960b91b612350565b6000611a876524b9b9bab2b960d11b612350565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611b4d91869186916370a0823191602480820192602092909190829003018186803b158015611b1557600080fd5b505afa158015611b29573d6000803e3d6000fd5b505050506040513d6020811015611b3f57600080fd5b50519063ffffffff61243416565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b9c57600080fd5b505af1158015611bb0573d6000803e3d6000fd5b5050600854611bc8925090508263ffffffff61243416565b600855611bd76000838361248e565b610bd482826124e1565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611c4191879186916370a08231916024808301926020929190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611c9057600080fd5b505af1158015611ca4573d6000803e3d6000fd5b5050600854611cbc925090508363ffffffff6122d116565b600855611ccb8360008461248e565b611cd58383612622565b50600192915050565b6002546001600160a01b03163314801590611d0457506003546001600160a01b03163314155b8015611d1b57506004546001600160a01b03163314155b15611d3357600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146115b6576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015611e68578181015183820152602001611e50565b50505050905090810190601f168015611e955780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015611eb957600080fd5b505af1158015610d4a573d6000803e3d6000fd5b600080600b54631cd554d160e21b1415611f0157506004548290611efb906001600160a01b03168583612030565b50611fc1565b611f09611a8c565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631cd554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b158015611f9257600080fd5b505af1158015611fa6573d6000803e3d6000fd5b505050506040513d6020811015611fbc57600080fd5b505190505b611fc9611a72565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561200e57600080fd5b505af1158015612022573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061205357506001600160a01b0383163014155b801561206d57506002546001600160a01b03848116911614155b6120be576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161211c91879186916370a0823191602480820192602092909190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561216b57600080fd5b505af115801561217f573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916121e191879186916370a0823191602480820192602092909190829003018186803b158015611b1557600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561223057600080fd5b505af1158015612244573d6000803e3d6000fd5b5050505061225384848461248e565b5060019392505050565b6002546001600160a01b031633148061228057506003546001600160a01b031633145b6115b6576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600082821115612328576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611a876b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161242d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123f25781810151838201526020016123da565b50505050905090810190601f16801561241f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082820183811015611060576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161279882396021019050604051809103902061160b8861232e565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156125bd5781810151838201526020016125a5565b50505050905090810190601f1680156125ea5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561260e57600080fd5b505af1158015610f98573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a72315820ae46225f657c6eb5e339b41335f3b2e9d3eb76572d610cfceb69ae5d69daad8e64736f6c63430005100032",
			"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": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "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": 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 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": "transferableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			],
			"source": {
				"keccak256": "0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751",
				"urls": [
					"bzz-raw://91271991028a91cffb9ddc5a3c3877f3c1c5303fb75fdcf9532a396de925312d",
					"dweb:/ipfs/QmWghHtKJMcBGcyGFZwPDgcphGb2vrZV7piSf7ogPai5SU"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Synth.sol": "Synth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Synth.sol": {
						"keccak256": "0x3dcf8d0942b70d9bccd1f8ba0d5e16d55ea76bcf5c56a69201ef784630652751",
						"urls": [
							"bzz-raw://91271991028a91cffb9ddc5a3c3877f3c1c5303fb75fdcf9532a396de925312d",
							"dweb:/ipfs/QmWghHtKJMcBGcyGFZwPDgcphGb2vrZV7piSf7ogPai5SU"
						]
					}
				},
				"version": 1
			}
		},
		"Depot": {
			"bytecode": "608060408190527f907af6c000000000000000000000000000000000000000000000000000000000815273__Depot.sol:SafeDecimalMath_____________9063907af6c09060849060209060048186803b1580156200005e57600080fd5b505af415801562000073573d6000803e3d6000fd5b505050506040513d60208110156200008a57600080fd5b5051603202600d55604080517f907af6c0000000000000000000000000000000000000000000000000000000008152905173__Depot.sol:SafeDecimalMath_____________9163907af6c0916004808301926020929190829003018186803b158015620000f757600080fd5b505af41580156200010c573d6000803e3d6000fd5b505050506040513d60208110156200012357600080fd5b50516101f402600e553480156200013957600080fd5b506040516060806200382a8339810160409081528151602083015191909201518281818080600160a060020a0381161515620001d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600160a060020a0381161515620002a757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f776e6572206d757374206e6f74206265207a65726f00000000000000000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810261010060a860020a03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a15050600160065560078054600160a060020a03928316600160a060020a03199182161790915560088054959092169416939093179092555050506134e0806200034a6000396000f3006080604052600436106101d45763ffffffff60e060020a6000350416630227943881146101df57806304f3bcec146101f9578063080c279a1461022a5780630c928bc21461023f5780630c928f051461024a5780631627540c1461026257806316c38b3c1461028557806317c70de41461029f5780631f930115146102b457806320714f88146102bc5780632194f3a2146102dd5780633278c960146102f25780634d0387fb146103075780634e543b261461031c57806353a47bb71461033d5780635c975abb1461035257806364e39b871461037b5780636d5ab4a91461039c57806379ba5097146103b157806381b797dc146103c65780638da5cb5b146103db57806391b4ded9146103f05780639342c0eb146104055780639cb8a26a14610413578063a3d8829b14610428578063a461fc8214610440578063aab483d614610455578063b02c43d01461046d578063b0c2cb96146104a8578063b1338cc4146104c3578063b8225dec146104d8578063bb7df172146104ed578063bd32aa4414610505578063c58aaae61461051a578063c6abb7c71461052f578063c8d889f214610550578063dc8fa6c214610568578063e6d76a7614610580578063f852d39314610598578063fd12167f146105b0575b6101dc6105c5565b50005b6101e7610fae565b60408051918252519081900360200190f35b34801561020557600080fd5b5061020e611304565b60408051600160a060020a039092168252519081900360200190f35b34801561023657600080fd5b506101e7611313565b6101e7600435611319565b34801561025657600080fd5b506101e760043561155e565b34801561026e57600080fd5b50610283600160a060020a0360043516611601565b005b34801561029157600080fd5b5061028360043515156116b9565b3480156102ab57600080fd5b506101e761178f565b6101e76105c5565b3480156102c857600080fd5b50610283600160a060020a0360043516611795565b3480156102e957600080fd5b5061020e6118c2565b3480156102fe57600080fd5b506102836118d1565b34801561031357600080fd5b506101e761196f565b34801561032857600080fd5b50610283600160a060020a0360043516611975565b34801561034957600080fd5b5061020e6119fb565b34801561035e57600080fd5b50610367611a0a565b604080519115158252519081900360200190f35b34801561038757600080fd5b50610283600160a060020a0360043516611a13565b3480156103a857600080fd5b506101e7611ad1565b3480156103bd57600080fd5b50610283611ad7565b3480156103d257600080fd5b50610283611bd2565b3480156103e757600080fd5b5061020e611e5b565b3480156103fc57600080fd5b506101e7611e6a565b6101e7600435602435611e70565b34801561041f57600080fd5b5061028361228e565b34801561043457600080fd5b506101e7600435612407565b34801561044c57600080fd5b506101e76124a4565b34801561046157600080fd5b506102836004356124ab565b34801561047957600080fd5b50610485600435612639565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156104b457600080fd5b506101e760043560243561265e565b3480156104cf57600080fd5b506101e76128a7565b3480156104e457600080fd5b506103676128ad565b3480156104f957600080fd5b506102836004356128b6565b34801561051157600080fd5b50610283612955565b34801561052657600080fd5b5061020e612a02565b34801561053b57600080fd5b506101e7600160a060020a0360043516612a16565b34801561055c57600080fd5b506101e7600435612a28565b34801561057457600080fd5b50610283600435612ad1565b34801561058c57600080fd5b50610283600435612cae565b3480156105a457600080fd5b506101e7600435612dbb565b3480156105bc57600080fd5b506101e76130cb565b60008060008060006105d56133fd565b6006805460010190819055600090819060eb60020a6208aa89026105f76130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561064657600080fd5b505af115801561065a573d6000803e3d6000fd5b505050506040513d602081101561067057600080fd5b5051156106b5576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615610712576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b600e54341115610792576040805160e560020a62461bcd02815260206004820152602560248201527f45544820616d6f756e742061626f7665206d617845746850757263686173652060448201527f6c696d6974000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61082d61079d6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b505050506040513d602081101561081e57600080fd5b5051349063ffffffff6131bb16565b9750879650600a5495505b6000871180156108495750600b5486105b15610e175760008681526009602090815260409182902082518084019093528054600160a060020a03168084526001909101549183019190915290955015156108a857600a546108a090600163ffffffff6131e716565b600a55610e0c565b8685602001511115610b5b5760208501516108c9908863ffffffff6131f916565b6040805180820182528751600160a060020a039081168252602080830185815260008c8152600990925293902091518254600160a060020a03191691161781559051600190910155600c5490945061092190886131f9565b600c556109bf61092f6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b505050506040513d60208110156109b057600080fd5b5051889063ffffffff61321016565b8551604051919a50600160a060020a0316908a156108fc02908b906000818181858888f193505050501515610a6f57600854604051600160a060020a03909116908a156108fc02908b906000818181858888f19350505050158015610a28573d6000803e3d6000fd5b508451604080518b81529051600160a060020a03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610abb565b8451604080518b8152602081018a905281518993600160a060020a03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610ac361323a565b600160a060020a031663a9059cbb33896040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b505050506040513d6020811015610b4f57600080fd5b5060009750610e0c9050565b60208501518710610e0c5760008681526009602052604081208054600160a060020a0319168155600190810191909155600a54610b9d9163ffffffff6131e716565b600a556020850151600c54610bb79163ffffffff6131f916565b600c55610c59610bc56130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015610c1c57600080fd5b505af1158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b505160208701519063ffffffff61321016565b8551604051919a50600160a060020a0316908a156108fc02908b906000818181858888f193505050501515610d0957600854604051600160a060020a03909116908a156108fc02908b906000818181858888f19350505050158015610cc2573d6000803e3d6000fd5b508451604080518b81529051600160a060020a03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610d59565b8451602080870151604080518d81529283019190915280518993600160a060020a03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b610d6161323a565b600160a060020a031663a9059cbb3387602001516040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610dc757600080fd5b505af1158015610ddb573d6000803e3d6000fd5b505050506040513d6020811015610df157600080fd5b50506020850151610e0990889063ffffffff6131f916565b96505b600190950194610838565b6000871115610ee957336108fc610ebf610e2f6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015610e8657600080fd5b505af1158015610e9a573d6000803e3d6000fd5b505050506040513d6020811015610eb057600080fd5b50518a9063ffffffff61321016565b6040518115909202916000818181858888f19350505050158015610ee7573d6000803e3d6000fd5b505b610ef9888863ffffffff6131f916565b92506000831115610f91576040805134602082015260608101859052608080825260039082015260eb60020a6208aa890260a082015260c08183018190526004908201527f735553440000000000000000000000000000000000000000000000000000000060e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b829950506006548114610fa357600080fd5b505050505050505090565b60008060eb60020a620a69cb02610fc36130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b505050506040513d602081101561103c57600080fd5b505115611081576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60eb60020a6208aa89026110936130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b1580156110e257600080fd5b505af11580156110f6573d6000803e3d6000fd5b505050506040513d602081101561110c57600080fd5b505115611151576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff16156111ae576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6111b734612a28565b600854604051919450600160a060020a0316903480156108fc02916000818181858888f193505050501580156111f1573d6000803e3d6000fd5b506111fa6132f3565b600160a060020a031663a9059cbb33856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b505050506040513d602081101561128657600080fd5b505060408051346020820152606081018590526080808252600390820181905260eb60020a6208aa890260a083015260c082840181905282015260eb60020a620a69cb0260e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1509092915050565b600754600160a060020a031681565b600d5481565b600060eb60020a6208aa890261132d6130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561137c57600080fd5b505af1158015611390573d6000803e3d6000fd5b505050506040513d60208110156113a657600080fd5b5051156113eb576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615611448576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6114506130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156114a757600080fd5b505af11580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b5051831461154f576040805160e560020a62461bcd02815260206004820152602560248201527f47756172616e74656564207261746520776f756c64206e6f742062652072656360448201527f6569766564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6115576105c5565b9392505050565b60006115fb61156b6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156115c257600080fd5b505af11580156115d6573d6000803e3d6000fd5b505050506040513d60208110156115ec57600080fd5b5051839063ffffffff6131bb16565b92915050565b600054600160a060020a03163314611665576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60018054600160a060020a038316600160a060020a0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600054600160a060020a0316331461171d576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60055460ff16151581151514156117335761178c565b6005805460ff1916821515179081905560ff161561175057426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60025481565b600054600160a060020a031633146117f9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600160a060020a0381161515611859576040805160e560020a62461bcd02815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810274ffffffffffffffffffffffffffffffffffffffff00199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600854600160a060020a031681565b600054600160a060020a03163314611935576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b600c5481565b600054600160a060020a031633146119d9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b600154600160a060020a031681565b60055460ff1681565b600054600160a060020a03163314611a77576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60088054600160a060020a031916600160a060020a03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b600a5481565b600154600160a060020a03163314611b5f576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b600080611bdd6133fd565b60009250600a5491505b600b54821015611cbd575060008181526009602090815260409182902082518084019093528054600160a060020a031680845260019091015491830191909152331415611cb2576020810151611c4490849063ffffffff6131e716565b60008381526009602090815260408083208054600160a060020a031916815560010192909255835184820151835190815292519396508593600160a060020a03909116927f3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f7292908290030190a35b600190910190611be7565b600c54611cd0908463ffffffff6131f916565b600c55336000908152600f6020526040902054611cf490849063ffffffff6131e716565b336000908152600f602052604081208190559093508311611d85576040805160e560020a62461bcd02815260206004820152602160248201527f596f752068617665206e6f206465706f7369747320746f20776974686472617760448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611d8d61323a565b600160a060020a031663a9059cbb33856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506040513d6020811015611e1957600080fd5b5050604080513381526020810185905281517faf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b929181900390910190a1505050565b600054600160a060020a031681565b60045481565b600060eb60020a620a69cb02611e846130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611ed357600080fd5b505af1158015611ee7573d6000803e3d6000fd5b505050506040513d6020811015611efd57600080fd5b505115611f42576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60eb60020a6208aa8902611f546130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611fa357600080fd5b505af1158015611fb7573d6000803e3d6000fd5b505050506040513d6020811015611fcd57600080fd5b505115612012576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff161561206f576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6120776130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156120ce57600080fd5b505af11580156120e2573d6000803e3d6000fd5b505050506040513d60208110156120f857600080fd5b50518514612176576040805160e560020a62461bcd02815260206004820152602b60248201527f47756172616e74656564206574686572207261746520776f756c64206e6f742060448201527f6265207265636569766564000000000000000000000000000000000000000000606482015290519081900360840190fd5b61217e6130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156121d557600080fd5b505af11580156121e9573d6000803e3d6000fd5b505050506040513d60208110156121ff57600080fd5b5051841461227d576040805160e560020a62461bcd02815260206004820152602f60248201527f47756172616e746565642073796e746865746978207261746520776f756c642060448201527f6e6f742062652072656365697665640000000000000000000000000000000000606482015290519081900360840190fd5b612285610fae565b95945050505050565b60008054600160a060020a031633146122f3576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60035460ff16151561234f576040805160e560020a62461bcd02815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea00600254011015156123af576040805160e560020a62461bcd02815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b5060035460408051600160a060020a0361010090930492909216808352905190917f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7919081900360200190a180600160a060020a0316ff5b60006115fb6124146130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b15801561246b57600080fd5b505af115801561247f573d6000803e3d6000fd5b505050506040513d602081101561249557600080fd5b5051839063ffffffff61321016565b6224ea0081565b600054600160a060020a0316331461250f576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b73__Depot.sol:SafeDecimalMath_____________63907af6c06040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561255657600080fd5b505af415801561256a573d6000803e3d6000fd5b505050506040513d602081101561258057600080fd5b505181116125fe576040805160e560020a62461bcd02815260206004820152603060248201527f4d696e696d756d206465706f73697420616d6f756e74206d757374206265206760448201527f726561746572207468616e20554e495400000000000000000000000000000000606482015290519081900360840190fd5b600d8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b60096020526000908152604090208054600190910154600160a060020a039091169082565b600060eb60020a620a69cb026126726130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b1580156126c157600080fd5b505af11580156126d5573d6000803e3d6000fd5b505050506040513d60208110156126eb57600080fd5b505115612730576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff161561278d576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6127956130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156127ec57600080fd5b505af1158015612800573d6000803e3d6000fd5b505050506040513d602081101561281657600080fd5b50518314612894576040805160e560020a62461bcd02815260206004820152602560248201527f47756172616e74656564207261746520776f756c64206e6f742062652072656360448201527f6569766564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61289d84612dbb565b91505b5092915050565b600e5481565b60035460ff1681565b600054600160a060020a0316331461291a576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600e8190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b600054600160a060020a031633146129b9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b6003546101009004600160a060020a031681565b600f6020526000908152604090205481565b600080612ac6612a366130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015612a8d57600080fd5b505af1158015612aa1573d6000803e3d6000fd5b505050506040513d6020811015612ab757600080fd5b5051849063ffffffff6131bb16565b905061155781612407565b612ad961323a565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a0392909216916323b872dd916064808201926020929091908290030181600087803b158015612b4a57600080fd5b505af1158015612b5e573d6000803e3d6000fd5b505050506040513d6020811015612b7457600080fd5b5050600d54811015612bfd57336000908152600f6020526040902054612ba0908263ffffffff6131e716565b336000818152600f602090815260409182902093909355600d5481519283529282018490528181019290925290517fbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd29181900360600190a161178c565b604080518082018252338082526020808301858152600b805460009081526009845286902094518554600160a060020a031916600160a060020a039091161785559051600190940193909355915483518581529351909391927fd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4928290030190a3600b54612c9290600163ffffffff6131e716565b600b55600c54612ca8908263ffffffff6131e716565b600c5550565b600054600160a060020a03163314612d12576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b612d1a6132f3565b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b158015612d8c57600080fd5b505af1158015612da0573d6000803e3d6000fd5b505050506040513d6020811015612db657600080fd5b505050565b60008060eb60020a620a69cb02612dd06130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015612e1f57600080fd5b505af1158015612e33573d6000803e3d6000fd5b505050506040513d6020811015612e4957600080fd5b505115612e8e576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615612eeb576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b612ef484612407565b9150612efe61323a565b600854604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03928316602482015260448101889052905192909116916323b872dd916064808201926020929091908290030181600087803b158015612f7457600080fd5b505af1158015612f88573d6000803e3d6000fd5b505050506040513d6020811015612f9e57600080fd5b50612fa990506132f3565b600160a060020a031663a9059cbb33846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561300b57600080fd5b505af115801561301f573d6000803e3d6000fd5b505050506040513d602081101561303557600080fd5b505060408051602081018690526060810184905260808082526004908201527f735553440000000000000000000000000000000000000000000000000000000060a082015260c081830181905260039082015260eb60020a620a69cb0260e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15092915050565b600b5481565b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f45786368616e6765526174657300000000000000000000000000000000000000600482015260248101829052601d60448201527f4d697373696e672045786368616e67655261746573206164647265737300000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b505af115801561319e573d6000803e3d6000fd5b505050506040513d60208110156131b457600080fd5b5051905090565b6000670de0b6b3a76400006131d6848463ffffffff6133ac16565b8115156131df57fe5b049392505050565b60008282018381101561155757600080fd5b6000808383111561320957600080fd5b5050900390565b60006115578261322e85670de0b6b3a764000063ffffffff6133ac16565b9063ffffffff6133da16565b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f53796e7468735553440000000000000000000000000000000000000000000000600482015260248101829052601960448201527f4d697373696e672053796e74687355534420616464726573730000000000000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f53796e7468657469780000000000000000000000000000000000000000000000600482015260248101829052601960448201527f4d697373696e672053796e74686574697820616464726573730000000000000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b6000808315156133bf57600091506128a0565b508282028284828115156133cf57fe5b041461155757600080fd5b6000808083116133e957600080fd5b82848115156133f457fe5b04949350505050565b60408051808201909152600080825260208201529056007768696c652074686520636f6e747261637420697320706175736564000000004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e00000000000000000000000000000000005468697320616374696f6e2063616e6e6f7420626520706572666f726d65642052617465207374616c65206f72206e6f7420612073796e746800000000000000a165627a7a723058207b783c67dd7fef58214d141fd31ab38df03979269c20a492ade4dd58c42d597b0029",
			"abi": [
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForSNX",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x02279438"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumDepositAmount",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x080c279a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForSynthsAtRate",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x0c928bc2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "synthsReceivedForEther",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c928f05"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForSynths",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x1f930115"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundsWallet",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2194f3a2"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSellableDeposits",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4d0387fb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolver",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4e543b26"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_fundsWallet",
							"type": "address"
						}
					],
					"name": "setFundsWallet",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x64e39b87"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositStartIndex",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6d5ab4a9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "withdrawMyDepositedSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x81b797dc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "guaranteedEtherRate",
							"type": "uint256"
						},
						{
							"name": "guaranteedSynthetixRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForSNXAtRate",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x9342c0eb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "synthetixReceivedForSynths",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa3d8829b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setMinimumDepositAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaab483d6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"name": "deposits",
					"outputs": [
						{
							"name": "user",
							"type": "address"
						},
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb02c43d0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "synthAmount",
							"type": "uint256"
						},
						{
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangeSynthsForSNXAtRate",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb0c2cb96"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEthPurchase",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb1338cc4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_maxEthPurchase",
							"type": "uint256"
						}
					],
					"name": "setMaxEthPurchase",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb7df172"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "smallDeposits",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6abb7c7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "synthetixReceivedForEther",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8d889f2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "depositSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdc8fa6c2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdrawSynthetix",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6d76a76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "synthAmount",
							"type": "uint256"
						}
					],
					"name": "exchangeSynthsForSNX",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf852d393"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositEndIndex",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfd12167f"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_fundsWallet",
							"type": "address"
						},
						{
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MaxEthPurchaseUpdated",
					"type": "event",
					"signature": "0xdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c8243"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newFundsWallet",
							"type": "address"
						}
					],
					"name": "FundsWalletUpdated",
					"type": "event",
					"signature": "0x4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "fromCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"name": "toCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "Exchange",
					"type": "event",
					"signature": "0xdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "SynthWithdrawal",
					"type": "event",
					"signature": "0xaf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "SynthDeposit",
					"type": "event",
					"signature": "0xd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "SynthDepositRemoved",
					"type": "event",
					"signature": "0x3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f72"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"name": "minimum",
							"type": "uint256"
						}
					],
					"name": "SynthDepositNotAccepted",
					"type": "event",
					"signature": "0xbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MinimumDepositAmountUpdated",
					"type": "event",
					"signature": "0xa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc54267"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "receiver",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "NonPayableContract",
					"type": "event",
					"signature": "0xf2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "fromAddress",
							"type": "address"
						},
						{
							"indexed": true,
							"name": "toAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "fromETHAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "ClearedDeposit",
					"type": "event",
					"signature": "0x6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"EscrowChecker": {
			"bytecode": "608060405234801561001057600080fd5b50604051602080610399833981016040525160008054600160a060020a03909216600160a060020a0319909216919091179055610347806100526000396000f30060806040526004361061004b5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663449d0eb181146100505780639514c232146100b7575b600080fd5b34801561005c57600080fd5b5061007e73ffffffffffffffffffffffffffffffffffffffff600435166100f5565b604051808261020080838360005b838110156100a457818101518382015260200161008c565b5050505090500191505060405180910390f35b3480156100c357600080fd5b506100cc6102c4565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b6100fd6102e0565b6101056102e0565b600080610110610300565b60008054604080517f204b676a00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a811660048301529151919092169263204b676a92602480820193602093909283900390910190829087803b15801561018857600080fd5b505af115801561019c573d6000803e3d6000fd5b505050506040513d60208110156101b257600080fd5b50519250600091505b828210156102ba5760008054604080517fda7bd3e900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015260248201879052825193169363da7bd3e993604480840194939192918390030190829087803b15801561023d57600080fd5b505af1158015610251573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250604081101561027657600080fd5b50805190915084600284026010811061028b57fe5b602002015280600160200201518460016002850201601081106102aa57fe5b60200201526001909101906101bb565b5091949350505050565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b610200604051908101604052806010906020820280388339509192915050565b604080518082018252906002908290803883395091929150505600a165627a7a72305820b77f04510aaa52f1c8254aeab8d7f3d38e4edbbb369011f3629f6c4c2ece58460029",
			"abi": [
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"name": "",
							"type": "uint256[16]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetix_escrow",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9514c232"
				},
				{
					"inputs": [
						{
							"name": "_esc",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				}
			]
		},
		"RewardEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516060806113f983398101604090815281516020830151919092015182600160a060020a03811615156100a757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a03938416600160a060020a03199182161790915560038054929093169116179055506112bd8061013c6000396000f3006080604052600436106101485763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461014d57806319db22281461017057806319e740c014610191578063204b676a146101c4578063227d517a146101e55780632f5bb66114610206578063326a3cfb14610262578063449d0eb114610283578063458efde3146102ba57806345e5441f146102cf57806353a47bb7146102f65780636b3905c41461032757806370a082311461034857806371e780f314610369578063759b52251461037e57806379ba5097146103935780638da5cb5b146103a857806397f46527146103bd5780639b217f90146103de578063ae2e933b14610402578063b5ddb9c714610417578063d0cc82e31461043b578063da7bd3e914610450578063ee1d036c14610474578063fec9f9da14610498575b600080fd5b34801561015957600080fd5b5061016e600160a060020a03600435166104b9565b005b34801561017c57600080fd5b5061016e600160a060020a03600435166105a2565b34801561019d57600080fd5b506101b2600160a060020a036004351661068b565b60408051918252519081900360200190f35b3480156101d057600080fd5b506101b2600160a060020a03600435166106d2565b3480156101f157600080fd5b506101b2600160a060020a03600435166106ed565b34801561021257600080fd5b50610227600160a060020a03600435166106ff565b6040518082600260200280838360005b8381101561024f578181015183820152602001610237565b5050505090500191505060405180910390f35b34801561026e57600080fd5b506101b2600160a060020a0360043516610752565b34801561028f57600080fd5b506102a4600160a060020a0360043516610764565b6040518151815280826141008083836020610237565b3480156102c657600080fd5b5061016e6107f0565b3480156102db57600080fd5b506101b2600160a060020a03600435166024356044356109fd565b34801561030257600080fd5b5061030b610a3d565b60408051600160a060020a039092168252519081900360200190f35b34801561033357600080fd5b506101b2600160a060020a0360043516610a4c565b34801561035457600080fd5b506101b2600160a060020a0360043516610a65565b34801561037557600080fd5b506101b2610a80565b34801561038a57600080fd5b5061030b610a86565b34801561039f57600080fd5b5061016e610a95565b3480156103b457600080fd5b5061030b610b9d565b3480156103c957600080fd5b506101b2600160a060020a0360043516610bac565b3480156103ea57600080fd5b506101b2600160a060020a0360043516602435610bbe565b34801561040e57600080fd5b5061030b610bd9565b34801561042357600080fd5b5061016e600160a060020a0360043516602435610be8565b34801561044757600080fd5b506101b2611026565b34801561045c57600080fd5b50610227600160a060020a036004351660243561102c565b34801561048057600080fd5b506101b2600160a060020a036004351660243561109b565b3480156104a457600080fd5b5061016e600160a060020a03600435166110ae565b600054600160a060020a03163314610541576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600054600160a060020a0316331461062a576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60038054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806000610699846106d2565b9150600090505b818110156106c7576106b28482610bbe565b156106bf578092506106cb565b6001016106a0565b8192505b5050919050565b600160a060020a031660009081526004602052604090205490565b60066020526000908152604090205481565b6107076111c7565b60006107128361068b565b905061071d836106d2565b81141561073f576040805180820190915260008082526020820152915061074c565b610749838261102c565b91505b50919050565b60056020526000908152604090205481565b61076c6111e2565b6107746111e2565b60008061077f6111c7565b610788866106d2565b9250600091505b828210156107e6576107a1868361102c565b8051909150846002840261020881106107b657fe5b60200201528060016020020151846001600285020161020881106107d657fe5b602002015260019091019061078f565b5091949350505050565b6000806000806000610801336106d2565b9450600092505b848310156108a95761081a3384610bbe565b915042821115610829576108a9565b610833338461109b565b90508015156108415761089e565b60408051808201825260008082526020808301829052338252600490529190912080548590811061086e57fe5b906000526020600020906002020190600261088a929190611203565b5061089b848263ffffffff61119716565b93505b600190920191610808565b83156109f6576007546108c2908563ffffffff6111b016565b600755336000908152600560205260409020546108e5908563ffffffff6111b016565b33600090815260056020908152604080832093909355600690522054610911908563ffffffff61119716565b3360008181526006602090815260408083209490945560025484517fa9059cbb0000000000000000000000000000000000000000000000000000000081526004810194909452602484018990529351600160a060020a039094169363a9059cbb93604480820194918390030190829087803b15801561098f57600080fd5b505af11580156109a3573d6000803e3d6000fd5b505050506040513d60208110156109b957600080fd5b50506040805142815260208101869052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050505050565b600460205282600052604060002082815481101515610a1857fe5b906000526020600020906002020181600281101515610a3357fe5b0154925083915050565b600154600160a060020a031681565b6000610a57826106ff565b60005b602002015192915050565b600160a060020a031660009081526005602052604090205490565b60075481565b600254600160a060020a031681565b600154600160a060020a03163314610b1d576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b6000610bb7826106ff565b6001610a5a565b6000610bca838361102c565b60005b60200201519392505050565b600354600160a060020a031681565b6003546000908190600160a060020a0316331480610c76576040805160e560020a62461bcd02815260206004820152603260248201527f4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e207060448201527f6572666f726d207468697320616374696f6e0000000000000000000000000000606482015290519081900360840190fd5b831515610ccd576040805160e560020a62461bcd02815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610ce0908563ffffffff61119716565b600755600254604080517f70a082310000000000000000000000000000000000000000000000000000000081523060048201529051600160a060020a03909216916370a08231916024808201926020929091908290030181600087803b158015610d4957600080fd5b505af1158015610d5d573d6000803e3d6000fd5b505050506040513d6020811015610d7357600080fd5b50516007541115610e1a576040805160e560020a62461bcd02815260206004820152604760248201527f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f60448201527f6e747261637420746f2070726f7669646520666f72207468652076657374696e60648201527f6720656e74727900000000000000000000000000000000000000000000000000608482015290519081900360a40190fd5b600160a060020a0385166000908152600460205260409020549250610104831115610e8f576040805160e560020a62461bcd02815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe20042019150821515610ebf57600160a060020a0385166000908152600560205260409020849055610f8b565b81610ecd8660018603610bbe565b10610f48576040805160e560020a62461bcd02815260206004820152603760248201527f43616e6e6f7420616464206e65772076657374656420656e747269657320656160448201527f726c696572207468616e20746865206c617374206f6e65000000000000000000606482015290519081900360840190fd5b600160a060020a038516600090815260056020526040902054610f71908563ffffffff61119716565b600160a060020a0386166000908152600560205260409020555b600160a060020a0385166000908152600460209081526040808320815180830190925285825281830188905280546001810180835591855292909320610fda9260029081029091019190611246565b505060408051428152602081018690528151600160a060020a038816927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a25050505050565b61010481565b6110346111c7565b600160a060020a038316600090815260046020526040902080548390811061105857fe5b600091825260209091206040805180820191829052926002908102909201919082845b81548152602001906001019080831161107b575050505050905092915050565b60006110a7838361102c565b6001610bcd565b600054600160a060020a03163314611136576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d9181900360200190a150565b6000828201838110156111a957600080fd5b9392505050565b600080838311156111c057600080fd5b5050900390565b60408051808201825290600290829080388339509192915050565b61410060405190810160405280610208906020820280388339509192915050565b8260028101928215611236579160200282015b82811115611236578251829060ff16905591602001919060010190611216565b50611242929150611274565b5090565b8260028101928215611236579160200282015b82811115611236578251825591602001919060010190611259565b61128e91905b80821115611242576000815560010161127a565b905600a165627a7a723058203b28beeb8362b708c96294370448bb0aca4e94f963ba89bee8ef7a1301e42ad80029",
			"abi": [
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"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": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x326a3cfb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"name": "",
							"type": "uint256[520]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						},
						{
							"name": "",
							"type": "uint256"
						},
						{
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x71e780f3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetix",
					"outputs": [
						{
							"internalType": "contract ISynthetix",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759b5225"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "contract IFeePool",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynthetix",
							"name": "_synthetix",
							"type": "address"
						}
					],
					"name": "setSynthetix",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfec9f9da"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_synthetix",
							"type": "address"
						},
						{
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newSynthetix",
							"type": "address"
						}
					],
					"name": "SynthetixUpdated",
					"type": "event",
					"signature": "0x46e9c68bd7831071bdd478f1ae4c4a52463961a9d620383a0a121dbfc0e0f06d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newFeePool",
							"type": "address"
						}
					],
					"name": "FeePoolUpdated",
					"type": "event",
					"signature": "0x6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0xedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"FeePoolState": {
			"bytecode": "608060405234801561001057600080fd5b5060405160408061135b83398101604052805160209091015162375f008280600160a060020a03811615156100a657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600160a060020a038116151561017657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f776e6572206d757374206e6f74206265207a65726f00000000000000000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810261010060a860020a03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150420160045560058054600160a060020a031916600160a060020a039290921691909117905550611156806102056000396000f3006080604052600436106101115763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416631627540c811461011657806317c70de41461013957806319db22281461016057806320714f88146101815780633278c960146101a257806339a3f63f146101b757806353a47bb7146101e957806379ba50971461021a5780637de655451461022f5780638da5cb5b1461026c57806394e1a448146102815780639cb8a26a146102ab578063a461fc82146102c0578063ae2e933b146102d5578063b326f84e146102ea578063b8225dec1461030e578063bd32aa4414610337578063c58aaae61461034c578063cff2ddad14610361578063d29c000a1461038c575b600080fd5b34801561012257600080fd5b50610137600160a060020a03600435166103b0565b005b34801561014557600080fd5b5061014e610475565b60408051918252519081900360200190f35b34801561016c57600080fd5b50610137600160a060020a036004351661047b565b34801561018d57600080fd5b50610137600160a060020a036004351661050e565b3480156101ae57600080fd5b5061013761063b565b3480156101c357600080fd5b5061013760246004803582810192908201359181359182019101356044356064356106d9565b3480156101f557600080fd5b506101fe61096b565b60408051600160a060020a039092168252519081900360200190f35b34801561022657600080fd5b5061013761097a565b34801561023b57600080fd5b50610253600160a060020a0360043516602435610a82565b6040805192835260208301919091528051918290030190f35b34801561027857600080fd5b506101fe610ab1565b34801561028d57600080fd5b50610137600160a060020a0360043516602435604435606435610ac0565b3480156102b757600080fd5b50610137610b98565b3480156102cc57600080fd5b5061014e610d11565b3480156102e157600080fd5b506101fe610d18565b3480156102f657600080fd5b50610253600160a060020a0360043516602435610d27565b34801561031a57600080fd5b50610323610e0c565b604080519115158252519081900360200190f35b34801561034357600080fd5b50610137610e15565b34801561035857600080fd5b506101fe610ec2565b34801561036d57600080fd5b50610376610ed6565b6040805160ff9092168252519081900360200190f35b34801561039857600080fd5b50610253600160a060020a0360043516602435610edb565b600054600160a060020a03163314610414576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60025481565b600054600160a060020a031633146104df576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b6005805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610572576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b600160a060020a03811615156105d2576040805160e560020a62461bcd02815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810274ffffffffffffffffffffffffffffffffffffffff00199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600054600160a060020a0316331461069f576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b60008054600160a060020a0316331461073e576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b60045442106107bd576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757260448201527f696e672073657475700000000000000000000000000000000000000000000000606482015290519081900360840190fd5b858414610814576040805160e560020a62461bcd02815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b5060005b858110156109625784848281811061082c57fe5b9050602002013560066000898985818110151561084557fe5b90506020020135600160a060020a0316600160a060020a0316600160a060020a031681526020019081526020016000208460068110151561088257fe5b6002020155816006600089898581811061089857fe5b90506020020135600160a060020a0316600160a060020a0316600160a060020a03168152602001908152602001600020846006811015156108d557fe5b600202016001018190555086868281811015156108ee57fe5b90506020020135600160a060020a0316600160a060020a03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea868684818110151561093657fe5b9050602002013584604051808381526020018281526020019250505060405180910390a2600101610818565b50505050505050565b600154600160a060020a031681565b600154600160a060020a03163314610a02576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600660205281600052604060002081600681101515610a9d57fe5b600202018054600190910154909250905082565b600054600160a060020a031681565b600554600160a060020a03163314610b48576040805160e560020a62461bcd02815260206004820152603160248201527f4f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706560448201527f72666f726d207468697320616374696f6e000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a038416600090815260066020526040902060010154811115610b7457610b7484610fbd565b50600160a060020a0392909216600090815260066020526040902090815560010155565b60008054600160a060020a03163314610bfd576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b60035460ff161515610c59576040805160e560020a62461bcd02815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea0060025401101515610cb9576040805160e560020a62461bcd02815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b5060035460408051600160a060020a0361010090930492909216808352905190917f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7919081900360200190a180600160a060020a0316ff5b6224ea0081565b600554600160a060020a031681565b60008060068310610da8576040805160e560020a62461bcd02815260206004820152602360248201527f696e646578206578636565647320746865204645455f504552494f445f4c454e60448201527f4754480000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03841660009081526006602081905260409091209084908110610dce57fe5b6002020154600160a060020a038516600090815260066020819052604090912091935084908110610dfb57fe5b600202016001015490509250929050565b60035460ff1681565b600054600160a060020a03163314610e79576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206110eb833981519152604482015260008051602061110b833981519152606482015290519081900360840190fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b6003546101009004600160a060020a031681565b600681565b600080610ee66110a4565b600160a060020a0385166000908152600660208190526040808320815160c08101909252909183835b82821015610f4b578382600202016040805190810160405290816000820154815260200160018201548152505081526020019060010190610f0f565b505050509150600090505b6006811015610fb457818160068110610f6b57fe5b60200201516020015185101515610fac57818160068110610f8857fe5b602002015151828260068110610f9a57fe5b60200201516020015193509350610fb4565b600101610f56565b50509250929050565b600460005b600682101561109f5750600160a060020a0382166000908152600660208190526040909120600183019183908110610ff657fe5b6002020154600160a060020a0384166000908152600660208190526040909120908390811061102157fe5b6002020155600160a060020a0383166000908152600660208190526040909120908390811061104c57fe5b60020201600101546006600085600160a060020a0316600160a060020a031681526020019081526020016000208260068110151561108657fe5b6002020160010181905550818060019003925050610fc2565b505050565b610180604051908101604052806006905b6110bd6110d3565b8152602001906001900390816110b55790505090565b60408051808201909152600080825260208201529056004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e0000000000000000000000000000000000a165627a7a7230582056344713387aaabefb61e86c7b5580694eb1233af5798f372869277011e4ae280029",
			"abi": [
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationTime",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17c70de4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_beneficiary",
							"type": "address"
						}
					],
					"name": "setSelfDestructBeneficiary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x20714f88"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "terminateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3278c960"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "accounts",
							"type": "address[]"
						},
						{
							"name": "ratios",
							"type": "uint256[]"
						},
						{
							"name": "periodToInsert",
							"type": "uint256"
						},
						{
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "importIssuerData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x39a3f63f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						},
						{
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountIssuanceLedger",
					"outputs": [
						{
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7de65545"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"name": "currentPeriodStartDebtIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94e1a448"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SELFDESTRUCT_DELAY",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa461fc82"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getAccountsDebtEntry",
					"outputs": [
						{
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb326f84e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructInitiated",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8225dec"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "initiateSelfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd32aa44"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfDestructBeneficiary",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58aaae6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "closingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "applicableIssuanceData",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						},
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd29c000a"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "SelfDestructTerminated",
					"type": "event",
					"signature": "0x6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "beneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructed",
					"type": "event",
					"signature": "0x8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "selfDestructDelay",
							"type": "uint256"
						}
					],
					"name": "SelfDestructInitiated",
					"type": "event",
					"signature": "0xcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newBeneficiary",
							"type": "address"
						}
					],
					"name": "SelfDestructBeneficiaryUpdated",
					"type": "event",
					"signature": "0xd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c53"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"SupplySchedule": {
			"bytecode": "608060405268056bc75e2d631000006004556a027b46536c66c8e300000060065534801561002c57600080fd5b50604051610cb8380380610cb88339818101604052606081101561004f57600080fd5b5080516020820151604090920151909190826001600160a01b0381166100bc576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610b8a8061012e6000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c80637e1b823f116100c3578063bdd124821161007c578063bdd12482146102ae578063be801f01146102b6578063cc5c095c146102be578063d3bd4bde146102c6578063dbd3a6a7146102ce578063df5a9fc1146102d65761014d565b80637e1b823f1461024b5780637e7961d7146102535780638da5cb5b1461027057806395896b76146102785780639bdd7ac71461029e578063a43ab48e146102a65761014d565b80634ae26521116101155780634ae26521146101d557806353a47bb7146101f2578063614d08f8146102165780636f33e7e11461021e5780637397ab6c1461022657806379ba5097146102435761014d565b80631627540c1461015257806322af2bab1461017a57806325a3746e1461019457806346872a23146101b157806346b45af7146101b9575b600080fd5b6101786004803603602081101561016857600080fd5b50356001600160a01b03166102de565b005b61018261033a565b60408051918252519081900360200190f35b610178600480360360208110156101aa57600080fd5b5035610347565b6101826103e1565b6101c16103e8565b604080519115158252519081900360200190f35b610178600480360360208110156101eb57600080fd5b5035610408565b6101fa610493565b604080516001600160a01b039092168252519081900360200190f35b6101826104a2565b6101826104b7565b6101786004803603602081101561023c57600080fd5b50356104bd565b610178610502565b6101826105be565b6101826004803603602081101561026957600080fd5b50356105c6565b6101fa610734565b6101786004803603602081101561028e57600080fd5b50356001600160a01b0316610743565b6101826107f6565b6101826107fc565b6101fa610802565b610182610811565b610182610817565b61018261084d565b610182610853565b6101826108a2565b6102e66108a9565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b680ad78ebc5ac620000081565b61034f6108a9565b6006548111156103a6576040805162461bcd60e51b815260206004820152601e60248201527f416d6f756e742061626f7665206d6178696d756d20696e666c6174696f6e0000604482015290519081900360640190fd5b60058190556040805182815290517f297a8f497249a00f95e5f63b91fe72db09907e46dba60ec5e4f6397056709a669181900360200190a150565b6201518081565b600062093a806002544203111561040157506001610405565b5060005b90565b6104106108a9565b680ad78ebc5ac62000008111156104585760405162461bcd60e51b8152600401808060200182810382526026815260200180610b306026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b6001546001600160a01b031681565b6d537570706c795363686564756c6560901b81565b60055481565b6104c56108a9565b600681905560055460408051918252517f6a653dcb129ba34c380e770610eeb3b16e0318f91bf2a3cab0283b529086093b9181900360200190a150565b6001546001600160a01b0316331461054b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610a786035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b635c7f0d8081565b60075460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561060b57600080fd5b505afa15801561061f573d6000803e3d6000fd5b505050506040513d602081101561063557600080fd5b50516001600160a01b0316331461067d5760405162461bcd60e51b8152600401808060200182810382526033815260200180610afd6033913960400191505060405180910390fd5b6000610687610853565b60035490915061069d908263ffffffff6108f416565b60038190556106df9062015180906106d3906106c29062093a8063ffffffff61095716565b635c7f0d809063ffffffff6108f416565b9063ffffffff6108f416565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a15050600454919050565b6000546001600160a01b031681565b61074b6108a9565b6001600160a01b03811661079c576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517ff8df0556b7fde3c4b8394eae329aedfa59c6ffd8b532d572a1efcfa3424ca5fc916020908290030190a150565b60045481565b60065481565b6007546001600160a01b031681565b60025481565b6000806108226103e8565b61082d579050610405565b610847610838610853565b6005549063ffffffff61095716565b91505090565b60035481565b6000806000600254116108795761087442635c7f0d8063ffffffff6109b016565b61088d565b60025461088d90429063ffffffff6109b016565b90506108478162093a8063ffffffff610a0d16565b62093a8081565b6000546001600160a01b031633146108f25760405162461bcd60e51b815260040180806020018281038252602f815260200180610aad602f913960400191505060405180910390fd5b565b60008282018381101561094e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b60008261096657506000610951565b8282028284828161097357fe5b041461094e5760405162461bcd60e51b8152600401808060200182810382526021815260200180610adc6021913960400191505060405180910390fd5b600082821115610a07576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808211610a63576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610a6e57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e5265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a723158207edc2ff71f2f6714b284652e69320267df5af836a9968f3da52259e9b54ae75e64736f6c63430005100032",
			"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newInflationAmount",
							"type": "uint256"
						}
					],
					"name": "InflationAmountUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newInflationAmount",
							"type": "uint256"
						}
					],
					"name": "MaxInflationAmountUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRewardAmount",
							"type": "uint256"
						}
					],
					"name": "MinterRewardUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newAddress",
							"type": "address"
						}
					],
					"name": "SynthetixProxyUpdated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "INFLATION_START_DATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINTER_REWARD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "inflationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isMintable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastMintEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxInflationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintableSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "supplyMinted",
							"type": "uint256"
						}
					],
					"name": "recordMintEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setInflationAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMaxInflationAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMinterReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynthetix",
							"name": "_synthetixProxy",
							"type": "address"
						}
					],
					"name": "setSynthetixProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetixProxy",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weekCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weeksSinceLastIssuance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x584bf43fc9aff83822ca4bce779cc1497960f183c841ea7c4ff2195ff2916c27",
				"urls": [
					"bzz-raw://2d3f620ed9b73ac30db774e684039162626735e95a6c75e56c19253591ce8520",
					"dweb:/ipfs/Qmdivf4mHJWhLfWeQ3YbczUhjwX5ysZYuzRvYP7gww6Y83"
				]
			},
			"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": "0x584bf43fc9aff83822ca4bce779cc1497960f183c841ea7c4ff2195ff2916c27",
						"urls": [
							"bzz-raw://2d3f620ed9b73ac30db774e684039162626735e95a6c75e56c19253591ce8520",
							"dweb:/ipfs/Qmdivf4mHJWhLfWeQ3YbczUhjwX5ysZYuzRvYP7gww6Y83"
						]
					}
				},
				"version": 1
			}
		},
		"DelegateApprovals": {
			"bytecode": "6101206040527f417070726f7665416c6c0000000000000000000000000000000000000000000060809081527f4275726e466f724164647265737300000000000000000000000000000000000060a0527f4973737565466f7241646472657373000000000000000000000000000000000060c0527f436c61696d466f7241646472657373000000000000000000000000000000000060e0527f45786368616e6765466f72416464726573730000000000000000000000000000610100526100ca9060029060056101e7565b503480156100d757600080fd5b5060405160408061118f83398101604052805160209091015181600160a060020a038116151561016857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060078054600160a060020a031916600160a060020a039290921691909117905550610244565b8260058101928215610217579160200282015b8281111561021757825182556020909201916001909101906101fa565b50610223929150610227565b5090565b61024191905b80821115610223576000815560010161022d565b90565b610f3c806102536000396000f30060806040526004361061013a5763ffffffff60e060020a60003504166304872617811461013f5780631627540c1461017a57806321f4ae571461019d5780632c70aecf146101c45780634180e5b5146101eb578063431ce5401461020c578063447fbc631461022d57806353a47bb71461024e57806359cec3d61461027f5780636c8bc9fe146102a05780636f95200b146102c157806379ba5097146102e25780637d3f0ba2146102f75780638da5cb5b1461031e57806398ff9c54146103335780639c79ce35146103485780639cbc2ebe146103695780639f61d3361461037e578063b42e0f151461039f578063b5bb5619146103c6578063b9156efa146103e7578063bc87acbf14610408578063c5e17ab014610429578063d8eeb7c11461043e578063e32b3f5214610453578063faf431bb14610468575b600080fd5b34801561014b57600080fd5b50610166600160a060020a036004358116906024351661048f565b604080519115158252519081900360200190f35b34801561018657600080fd5b5061019b600160a060020a03600435166104b1565b005b3480156101a957600080fd5b50610166600160a060020a036004358116906024351661059a565b3480156101d057600080fd5b506101d96105b5565b60408051918252519081900360200190f35b3480156101f757600080fd5b5061019b600160a060020a03600435166105c7565b34801561021857600080fd5b5061019b600160a060020a03600435166105e3565b34801561023957600080fd5b5061019b600160a060020a03600435166105fc565b34801561025a57600080fd5b50610263610615565b60408051600160a060020a039092168252519081900360200190f35b34801561028b57600080fd5b5061019b600160a060020a0360043516610624565b3480156102ac57600080fd5b5061019b600160a060020a036004351661063d565b3480156102cd57600080fd5b5061019b600160a060020a0360043516610656565b3480156102ee57600080fd5b5061019b610687565b34801561030357600080fd5b50610166600160a060020a036004358116906024351661078f565b34801561032a57600080fd5b506102636107aa565b34801561033f57600080fd5b506102636107b9565b34801561035457600080fd5b5061019b600160a060020a03600435166107c8565b34801561037557600080fd5b506101d96107e1565b34801561038a57600080fd5b5061019b600160a060020a0360043516610805565b3480156103ab57600080fd5b50610166600160a060020a036004358116906024351661081e565b3480156103d257600080fd5b5061019b600160a060020a03600435166108cd565b3480156103f357600080fd5b5061019b600160a060020a0360043516610a42565b34801561041457600080fd5b5061019b600160a060020a0360043516610a5b565b34801561043557600080fd5b506101d9610a86565b34801561044a57600080fd5b506101d9610a98565b34801561045f57600080fd5b506101d9610aaa565b34801561047457600080fd5b50610166600160a060020a0360043581169060243516610abc565b60006104aa600080516020610eb18339815191528484610ad3565b9392505050565b600054600160a060020a03163314610539576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104aa600080516020610e918339815191528484610ad3565b600080516020610eb183398151915281565b6105e0600080516020610e918339815191523383610b79565b50565b6105e0600080516020610eb18339815191523383610c9e565b6105e0600080516020610ed18339815191523383610b79565b600154600160a060020a031681565b6105e0600080516020610ef18339815191523383610c9e565b6105e0600080516020610e918339815191523383610c9e565b60005b60058110156106835761067b6002826005811061067257fe5b01543384610c9e565b600101610659565b5050565b600154600160a060020a0316331461070f576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b60006104aa600080516020610ef18339815191528484610ad3565b600054600160a060020a031681565b600754600160a060020a031681565b6105e0600080516020610ef18339815191523383610b79565b7f417070726f7665416c6c0000000000000000000000000000000000000000000081565b6105e0600080516020610eb18339815191523383610b79565b600754600090600160a060020a03166317e7dd2261085d7f417070726f7665416c6c000000000000000000000000000000000000000000008686610de7565b6040805160e060020a63ffffffff851602815260048101929092525160248083019260209291908290030181600087803b15801561089a57600080fd5b505af11580156108ae573d6000803e3d6000fd5b505050506040513d60208110156108c457600080fd5b50519392505050565b600054600160a060020a03163314610955576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600160a060020a03811615156109db576040805160e560020a62461bcd02815260206004820152602660248201527f43616e27742073657420657465726e616c53746f7261676520746f206164647260448201527f6573732830290000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6007805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105e0600080516020610ed18339815191523383610c9e565b6105e07f417070726f7665416c6c000000000000000000000000000000000000000000003383610b79565b600080516020610e9183398151915281565b600080516020610ed183398151915281565b600080516020610ef183398151915281565b60006104aa600080516020610ed183398151915284845b6000610adf838361081e565b15610aec575060016104aa565b600754600160a060020a03166317e7dd22610b08868686610de7565b6040805160e060020a63ffffffff851602815260048101929092525160248083019260209291908290030181600087803b158015610b4557600080fd5b505af1158015610b59573d6000803e3d6000fd5b505050506040513d6020811015610b6f57600080fd5b5051949350505050565b600160a060020a0381161515610bd9576040805160e560020a62461bcd02815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b600754600160a060020a0316633eba9ed2610bf5858585610de7565b6040805160e060020a63ffffffff851602815260048101929092526001602483015251604480830192600092919082900301818387803b158015610c3857600080fd5b505af1158015610c4c573d6000803e3d6000fd5b505060408051600160a060020a03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b600754600160a060020a03166317e7dd22610cba858585610de7565b6040805160e060020a63ffffffff851602815260048101929092525160248083019260209291908290030181600087803b158015610cf757600080fd5b505af1158015610d0b573d6000803e3d6000fd5b505050506040513d6020811015610d2157600080fd5b505115610de257600754600160a060020a0316633cc1635c610d44858585610de7565b6040805160e060020a63ffffffff8516028152600481019290925251602480830192600092919082900301818387803b158015610d8057600080fd5b505af1158015610d94573d6000803e3d6000fd5b505060408051600160a060020a03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526c01000000000000000000000000600160a060020a038087168202848601528516026054830152825160488184030181526068909201928390528151600093918291908401908083835b60208310610e5c5780518252601f199092019160209182019101610e3d565b5181516020939093036101000a600019018019909116921691909117905260405192018290039091209796505050505050505600436c61696d466f724164647265737300000000000000000000000000000000004973737565466f7241646472657373000000000000000000000000000000000045786368616e6765466f724164647265737300000000000000000000000000004275726e466f7241646472657373000000000000000000000000000000000000a165627a7a72305820581990c732fa6daed223bbf7136c10417506b8d8c6fef5bb8e107f27eea2d77b0029",
			"abi": [
				{
					"constant": true,
					"inputs": [
						{
							"name": "authoriser",
							"type": "address"
						},
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canIssueFor",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04872617"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "authoriser",
							"type": "address"
						},
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canClaimFor",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f4ae57"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ISSUE_FOR_ADDRESS",
					"outputs": [
						{
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c70aecf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4180e5b5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x431ce540"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x447fbc63"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59cec3d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c8bc9fe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f95200b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "authoriser",
							"type": "address"
						},
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canBurnFor",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7d3f0ba2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "eternalStorage",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98ff9c54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c79ce35"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "APPROVE_ALL",
					"outputs": [
						{
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbc2ebe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f61d336"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "authoriser",
							"type": "address"
						},
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approvedAll",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb42e0f15"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"name": "setEternalStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5bb5619"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb9156efa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc87acbf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CLAIM_FOR_ADDRESS",
					"outputs": [
						{
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5e17ab0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "EXCHANGE_FOR_ADDRESS",
					"outputs": [
						{
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd8eeb7c1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "BURN_FOR_ADDRESS",
					"outputs": [
						{
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32b3f52"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "authoriser",
							"type": "address"
						},
						{
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canExchangeFor",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfaf431bb"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a26336"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "WithdrawApproval",
					"type": "event",
					"signature": "0x7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f41"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newEternalStorage",
							"type": "address"
						}
					],
					"name": "EternalStorageUpdated",
					"type": "event",
					"signature": "0xe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"FeePoolEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b5060405160408061161283398101604052805160209091015162375f008282818181600160a060020a03811615156100a957604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050504201600a55506114a490508061016e6000396000f3006080604052600436106101695763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025ec81a811461016e578063043106c0146101985780630c55d925146101b2578063124f2418146101ca5780631627540c146101e257806317e7dd221461020357806325cf512d1461022f5780633562fd201461024a5780633cc1635c146102655780633eba9ed21461027d57806344bfa56e1461029a5780634c77e5ba1461032757806352f445ca1461035b57806353a47bb71461037c5780635a2bf25a1461039157806379ba5097146103b55780638267a9ee146103ca5780638da5cb5b146103e25780639007127b146103f757806393fe42481461040f578063a209a29c14610427578063a77aa49e1461043f578063aefc4ccb1461045a578063b3ffbd9e1461046f578063ba69fcaa1461049b578063bdc963d8146104b3578063c9a52d2c146104cb578063f5866066146104ef575b600080fd5b34801561017a57600080fd5b50610186600435610513565b60408051918252519081900360200190f35b3480156101a457600080fd5b506101b0600435610525565b005b3480156101be57600080fd5b506101b06004356105b4565b3480156101d657600080fd5b506101b0600435610632565b3480156101ee57600080fd5b506101b0600160a060020a03600435166106a7565b34801561020f57600080fd5b5061021b600435610790565b604080519115158252519081900360200190f35b34801561023b57600080fd5b506101b06004356024356107a5565b34801561025657600080fd5b506101b060043560243561081b565b34801561027157600080fd5b506101b0600435610891565b34801561028957600080fd5b506101b0600435602435151561090d565b3480156102a657600080fd5b506102b2600435610991565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ec5781810151838201526020016102d4565b50505050905090810190601f1680156103195780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033357600080fd5b5061033f600435610a32565b60408051600160a060020a039092168252519081900360200190f35b34801561036757600080fd5b506101b0600160a060020a0360043516610a4d565b34801561038857600080fd5b5061033f610b36565b34801561039d57600080fd5b506101b0600435600160a060020a0360243516610b45565b3480156103c157600080fd5b506101b0610be4565b3480156103d657600080fd5b506101b0600435610cec565b3480156103ee57600080fd5b5061033f610d61565b34801561040357600080fd5b50610186600435610d70565b34801561041b57600080fd5b506101b0600435610d82565b34801561043357600080fd5b506102b2600435610df7565b34801561044b57600080fd5b506101b0600435602435610e61565b34801561046657600080fd5b5061033f610ed7565b34801561047b57600080fd5b506101b06024600480358281019290820135918135918201910135610ee6565b3480156104a757600080fd5b506101b06004356111cc565b3480156104bf57600080fd5b50610186600435611247565b3480156104d757600080fd5b506101b0600480359060248035908101910135611259565b3480156104fb57600080fd5b506101b06004803590602480359081019101356112dc565b60009081526007602052604090205490565b600254600160a060020a03163314610589576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b6000908152600560205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b600254600160a060020a03163314610618576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600081815260066020526040812061062f91611359565b50565b600254600160a060020a03163314610696576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600090815260076020526040812055565b600054600160a060020a0316331461072f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b600254600160a060020a03163314610809576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60009182526007602052604090912055565b600254600160a060020a0316331461087f576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60009182526003602052604090912055565b600254600160a060020a031633146108f5576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b6000908152600860205260409020805460ff19169055565b600254600160a060020a03163314610971576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002610100600185161502600019019093169290920491820184900484028101840190945280845260609392830182828015610a265780601f106109fb57610100808354040283529160200191610a26565b820191906000526020600020905b815481529060010190602001808311610a0957829003601f168201915b50505050509050919050565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a03163314610ad5576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600254600160a060020a03163314610ba9576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600091825260056020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600154600160a060020a03163314610c6c576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600254600160a060020a03163314610d50576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600090815260096020526040812055565b600054600160a060020a031681565b60009081526009602052604090205490565b600254600160a060020a03163314610de6576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002610100600185161502600019019093169290920491820184900484028101840190945280845260609392830182828015610a265780601f106109fb57610100808354040283529160200191610a26565b600254600160a060020a03163314610ec5576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60009182526009602052604090912055565b600254600160a060020a031681565b60008054600160a060020a03163314610f6f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600a544210610fee576040805160e560020a62461bcd02815260206004820152602960248201527f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757260448201527f696e672073657475700000000000000000000000000000000000000000000000606482015290519081900360840190fd5b838214611045576040805160e560020a62461bcd02815260206004820152600f60248201527f4c656e677468206d69736d617463680000000000000000000000000000000000604482015290519081900360640190fd5b5060005b60ff81168411156111c55730633562fd207f6c6173745f6665655f7769746864726177616c00000000000000000000000000878760ff861681811061108a57fe5b604080516020808201969096529185029390930135600160a060020a03166c01000000000000000000000000028184015282518082036034018152605490910192839052805190938392508401908083835b602083106110fb5780518252601f1990920191602091820191016110dc565b6001836020036101000a038019825116818451168082178552505050505050905001915050604051809103902085858560ff16818110151561113957fe5b905060200201356040518363ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180836000191660001916815260200182815260200192505050600060405180830381600087803b1580156111a157600080fd5b505af11580156111b5573d6000803e3d6000fd5b5050600190920191506110499050565b5050505050565b600254600160a060020a03163314611230576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b600081815260046020526040812061062f91611359565b60009081526003602052604090205490565b600254600160a060020a031633146112bd576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60008381526006602052604090206112d690838361139d565b50505050565b600254600160a060020a03163314611340576040805160e560020a62461bcd02815260206004820152603460248201526000805160206114398339815191526044820152600080516020611459833981519152606482015290519081900360840190fd5b60008381526004602052604090206112d690838361139d565b50805460018160011615610100020316600290046000825580601f1061137f575061062f565b601f01602090049060005260206000209081019061062f919061141b565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106113de5782800160ff1982351617855561140b565b8280016001018555821561140b579182015b8281111561140b5782358255916020019190600101906113f0565b5061141792915061141b565b5090565b61143591905b808211156114175760008155600101611421565b9056004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820687142877678f2b71272cd9850fea5cd59a6afbe17bc36cc77cba68093d381c00029",
			"abi": [
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "accounts",
							"type": "address[]"
						},
						{
							"name": "feePeriodIDs",
							"type": "uint256[]"
						}
					],
					"name": "importFeeWithdrawalData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3ffbd9e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"PurgeableSynth": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$3123cc1d66d3bdb6ad1ab810b3f0e3cac5$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051620186a002600c553480156200008857600080fd5b50604051620032c3380380620032c38339818101604052610100811015620000af57600080fd5b81516020830151604080850180519151939592948301929184640100000000821115620000db57600080fd5b908301906020820185811115620000f157600080fd5b82516401000000008111828201881017156200010c57600080fd5b82525081516020918201929091019080838360005b838110156200013b57818101518382015260200162000121565b50505050905090810190601f168015620001695780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200018d57600080fd5b908301906020820185811115620001a357600080fd5b8251640100000000811182820188101715620001be57600080fd5b82525081516020918201929091019080838360005b83811015620001ed578181015183820152602001620001d3565b50505050905090810190601f1680156200021b5780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b038116620002a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000354576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b0388161790558451620003d6906006906020880190620004db565b508351620003ec906007906020870190620004db565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397881602179055505050908916905062000471576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b038416620004c2576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620005809b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200051e57805160ff19168380011785556200054e565b828001600101855582156200054e579182015b828111156200054e57825182559160200191906001019062000531565b506200055c92915062000560565b5090565b6200057d91905b808211156200055c576000815560010162000567565b90565b612d3380620005906000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806395d89b4111610125578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e21461068a578063eb1edd6114610692578063ec5568891461069a578063f7ea7a3d146106a2578063ffff51d6146106bf5761021c565b8063d67bdd2514610616578063dbd06c851461061e578063dd62ed3e14610626578063e73cced3146106545761021c565b80639f769807116100f45780639f76980714610502578063a9059cbb14610528578063ab59307914610554578063b014c3a3146105c4578063bc67f832146105f05761021c565b806395d89b41146104a057806397107d6d146104a85780639cbdaeb6146104ce5780639dc29fac146104d65761021c565b8063313ce567116101a857806379ba50971161017757806379ba5097146104045780637e88ac161461040c578063867904b414610414578063899ffef4146104405780638da5cb5b146104985761021c565b8063313ce567146103c657806353a47bb7146103ce57806370a08231146103d657806374185360146103fc5761021c565b80631627540c116101ef5780631627540c1461032a57806318160ddd1461035057806323b872dd1461036a5780632af64bd3146103a05780632e0f2625146103a85761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c2578063131b0ae714610302575b600080fd5b6102296106e5565b604080516001600160a01b039092168252519081900360200190f35b61024d6106f9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b038135169060200135610787565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610822565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b031661084c565b6103586108a8565b60408051918252519081900360200190f35b6102ee6004803603606081101561038057600080fd5b506001600160a01b038135811691602081013590911690604001356108ae565b6102ee6108d5565b6103b06109e7565b6040805160ff9092168252519081900360200190f35b6103b06109ec565b6102296109f5565b610358600480360360208110156103ec57600080fd5b50356001600160a01b0316610a04565b610328610a89565b610328610c66565b610358610d22565b6103286004803603604081101561042a57600080fd5b506001600160a01b038135169060200135610d28565b610448610de5565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048457818101518382015260200161046c565b505050509050019250505060405180910390f35b610229610e51565b61024d610e60565b610328600480360360208110156104be57600080fd5b50356001600160a01b0316610ebb565b610229610f17565b610328600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135610f26565b6103286004803603602081101561051857600080fd5b50356001600160a01b0316610fe4565b6102ee6004803603604081101561053e57600080fd5b506001600160a01b038135169060200135611013565b6103286004803603602081101561056a57600080fd5b81019060208101813564010000000081111561058557600080fd5b82018360208201111561059757600080fd5b803590602001918460208302840111640100000000831117156105b957600080fd5b5090925090506110ab565b6102ee600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611371565b6103286004803603602081101561060657600080fd5b50356001600160a01b03166114ca565b6102296114f4565b610358611503565b6103586004803603604081101561063c57600080fd5b506001600160a01b0381358116916020013516611509565b6102ee6004803603606081101561066a57600080fd5b506001600160a01b03813581169160208101359091169060400135611595565b6102296116e5565b6102296116f4565b61022961170c565b610328600480360360208110156106b857600080fd5b503561171b565b610358600480360360208110156106d557600080fd5b50356001600160a01b0316611728565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b820191906000526020600020905b81548152906001019060200180831161076257829003601f168201915b505050505081565b600061079161186b565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b505050506108168185856118c2565b60019150505b92915050565b61082a6119fb565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108546119fb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b60006108b861186b565b6108c28483611a44565b6108cd848484611bbb565b949350505050565b600060606108e1610de5565b905060005b81518110156109dd5760008282815181106108fd57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b15801561096c57600080fd5b505afa158015610980573d6000803e3d6000fd5b505050506040513d602081101561099657600080fd5b50516001600160a01b03161415806109c357506000818152600a60205260409020546001600160a01b0316155b156109d457600093505050506109e4565b506001016108e6565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a5557600080fd5b505afa158015610a69573d6000803e3d6000fd5b505050506040513d6020811015610a7f57600080fd5b505190505b919050565b6060610a93610de5565b905060005b8151811015610c62576000828281518110610aaf57fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b7a578181015183820152602001610b62565b50505050905090810190601f168015610ba75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610bc557600080fd5b505afa158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a98565b5050565b6001546001600160a01b03163314610caf5760405162461bcd60e51b8152600401808060200182810382526035815260200180612b8b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600c5481565b6000610d32611d7c565b6001600160a01b0316336001600160a01b03161490506000610d52611d96565b6001600160a01b0316336001600160a01b03161490506000610d72611dad565b6001600160a01b0316336001600160a01b03161490508280610d915750815b80610d995750805b610dd45760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b610dde8585611dc1565b5050505050565b606080610df0611eeb565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b81600081518110610e3457fe5b602002602001018181525050610e4a8282611fa7565b9250505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b610ec36119fb565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610f30611d7c565b6001600160a01b0316336001600160a01b03161490506000610f50611d96565b6001600160a01b0316336001600160a01b03161490506000610f70611dad565b6001600160a01b0316336001600160a01b03161490508280610f8f5750815b80610f975750805b610fd25760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b610fdc8585612063565b505050505050565b610fec612160565b600580546001600160a01b0319166001600160a01b03831617905561101081612210565b50565b600061101d61186b565b600454611033906001600160a01b031683611a44565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561106957611062838361234f565b905061081c565b6001600160a01b03831661108d57600454611062906001600160a01b031683612063565b6004546110a4906001600160a01b031684846124b2565b9392505050565b6110b3612160565b60006110bd6126df565b90506000816001600160a01b031663654a60ac600c54600b546040518363ffffffff1660e01b81526004018080631cd554d160e21b8152506020018381526020018281526020019250505060206040518083038186803b15801561112057600080fd5b505afa158015611134573d6000803e3d6000fd5b505050506040513d602081101561114a57600080fd5b5051600854909150811015806111ce5750816001600160a01b031663af3aea86600b546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111a157600080fd5b505afa1580156111b5573d6000803e3d6000fd5b505050506040513d60208110156111cb57600080fd5b50515b6112095760405162461bcd60e51b8152600401808060200182810382526047815260200180612cb86047913960600191505060405180910390fd5b60005b83811015610dde57600085858381811061122257fe5b600554604080516370a0823160e01b8152602093840295909501356001600160a01b03908116600487018190529151919650600095921693506370a0823192602480840193919291829003018186803b15801561127e57600080fd5b505afa158015611292573d6000803e3d6000fd5b505050506040513d60208110156112a857600080fd5b505190508015611367576112ba611d96565b600b5460408051630a1e187d60e01b81526001600160a01b0386811660048301819052602483019490945260448201869052631cd554d160e21b6064830152608482019390935290519290911691630a1e187d9160a4808201926020929091908290030181600087803b15801561133057600080fd5b505af1158015611344573d6000803e3d6000fd5b505050506040513d602081101561135a57600080fd5b50611367905082826126fa565b505060010161120c565b600061137b61186b565b6000611385611d96565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156113e057600080fd5b505af11580156113f4573d6000803e3d6000fd5b505050506040513d606081101561140a57600080fd5b506040015190508281156114985760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561146957600080fd5b505afa15801561147d573d6000803e3d6000fd5b505050506040513d602081101561149357600080fd5b505190505b8084116114a557836114a7565b805b6004549094506114c1906001600160a01b031686866124b2565b95945050505050565b6114d261283b565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561156257600080fd5b505afa158015611576573d6000803e3d6000fd5b505050506040513d602081101561158c57600080fd5b50519392505050565b600061159f61186b565b60006115a9611d96565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561160a57600080fd5b505af115801561161e573d6000803e3d6000fd5b505050506040513d606081101561163457600080fd5b506040015190508281156116be57600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561168f57600080fd5b505afa1580156116a3573d6000803e3d6000fd5b505050506040513d60208110156116b957600080fd5b505190505b808410156116cc57836116ce565b805b93506116db868686611bbb565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611723612160565b600855565b600080611733611d96565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561179257600080fd5b505afa1580156117a6573d6000803e3d6000fd5b505050506040513d60608110156117bc57600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561181157600080fd5b505afa158015611825573d6000803e3d6000fd5b505050506040513d602081101561183b57600080fd5b505190508082111561185257600092505050610a84565b611862818363ffffffff6128af16565b92505050610a84565b6002546001600160a01b0316331480159061189157506003546001600160a01b03163314155b80156118a857506004546001600160a01b03163314155b156118c057600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c518239602101905060405180910390206119158861290c565b61191e8861290c565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561198d578181015183820152602001611975565b50505050905090810190601f1680156119ba5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156119de57600080fd5b505af11580156119f2573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146118c05760405162461bcd60e51b815260040180806020018281038252602f815260200180612c22602f913960400191505060405180910390fd5b611a4c611d96565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611aab57600080fd5b505afa158015611abf573d6000803e3d6000fd5b505050506040513d6020811015611ad557600080fd5b505115611b135760405162461bcd60e51b8152600401808060200182810382526025815260200180612c726025913960400191505060405180910390fd5b80611b1d83611728565b1015611b5a5760405162461bcd60e51b815260040180806020018281038252602f815260200180612bc0602f913960400191505060405180910390fd5b611b62612918565b6001600160a01b03166342a28e21600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611ba757600080fd5b505afa158015610fdc573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b158015611c1957600080fd5b505afa158015611c2d573d6000803e3d6000fd5b505050506040513d6020811015611c4357600080fd5b505114611d71576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c928892611cf0918891879163dd62ed3e91604480820192602092909190829003018186803b158015611cb857600080fd5b505afa158015611ccc573d6000803e3d6000fd5b505050506040513d6020811015611ce257600080fd5b50519063ffffffff6128af16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611d5857600080fd5b505af1158015611d6c573d6000803e3d6000fd5b505050505b6108cd8484846124b2565b6000611d9166119959541bdbdb60ca1b61292e565b905090565b6000611d916822bc31b430b733b2b960b91b61292e565b6000611d916524b9b9bab2b960d11b61292e565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611e5791869186916370a0823191602480820192602092909190829003018186803b158015611e1f57600080fd5b505afa158015611e33573d6000803e3d6000fd5b505050506040513d6020811015611e4957600080fd5b50519063ffffffff612a0b16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611ea657600080fd5b505af1158015611eba573d6000803e3d6000fd5b5050600854611ed2925090508263ffffffff612a0b16565b600855611ee160008383612a65565b610c628282612ab8565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110611f2b57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611f5157fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611f7457fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611f9857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611fd7578160200160208202803883390190505b50905060005b835181101561201957838181518110611ff257fe5b602002602001015182828151811061200657fe5b6020908102919091010152600101611fdd565b5060005b825181101561205c5782818151811061203257fe5b602002602001015182828651018151811061204957fe5b602090810291909101015260010161201d565b5092915050565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f69186916120c391879186916370a08231916024808301926020929190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561211257600080fd5b505af1158015612126573d6000803e3d6000fd5b505060085461213e925090508363ffffffff6128af16565b60085561214d83600084612a65565b6121578383612b21565b50600192915050565b6002546001600160a01b0316331480159061218657506003546001600160a01b03163314155b801561219d57506004546001600160a01b03163314155b156121b557600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146118c0576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b838110156122ea5781810151838201526020016122d2565b50505050905090810190601f1680156123175780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561233b57600080fd5b505af1158015610dde573d6000803e3d6000fd5b600080600b54631cd554d160e21b14156123835750600454829061237d906001600160a01b031685836124b2565b50612443565b61238b611d96565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631cd554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b15801561241457600080fd5b505af1158015612428573d6000803e3d6000fd5b505050506040513d602081101561243e57600080fd5b505190505b61244b611d7c565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561249057600080fd5b505af11580156124a4573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906124d557506001600160a01b0383163014155b80156124ef57506002546001600160a01b03848116911614155b612540576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161259e91879186916370a0823191602480820192602092909190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156125ed57600080fd5b505af1158015612601573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f69250869161266391879186916370a0823191602480820192602092909190829003018186803b158015611e1f57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156126b257600080fd5b505af11580156126c6573d6000803e3d6000fd5b505050506126d5848484612a65565b5060019392505050565b6000611d916c45786368616e6765526174657360981b61292e565b60028054604080516020808201869052825180830390910181528183018084527f50757267656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156127d65781810151838201526020016127be565b50505050905090810190601f1680156128035780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561282757600080fd5b505af1158015610fdc573d6000803e3d6000fd5b6002546001600160a01b031633148061285e57506003546001600160a01b031633145b6118c0576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600082821115612906576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611d916b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161205c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129d05781810151838201526020016129b8565b50505050905090810190601f1680156129fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000828201838110156110a4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c978239602101905060405180910390206119158861290c565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c565b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e743235362943616e6e6f7420707572676520617320746f74616c20737570706c792069732061626f7665207468726573686f6c6420616e642072617465206973206e6f742066726f7a656e2ea265627a7a723158208231562ec7f6456ba9b887df1018bae42a01064ff370d40b4c1e53992ea97ee364736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "string",
							"name": "_tokenName",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "_tokenSymbol",
							"type": "string"
						},
						{
							"internalType": "address payable",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": 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": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Purged",
					"type": "event",
					"signature": "0x265db6c9c62cb962adbcf4398a54e4b02b2d87b28ab5b7538850150465a5f43c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "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": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "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": "maxSupplyToPurgeInUSD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e88ac16"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "addresses",
							"type": "address[]"
						}
					],
					"name": "purge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab593079"
				},
				{
					"constant": 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": "_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": "transferableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			],
			"source": {
				"keccak256": "0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855",
				"urls": [
					"bzz-raw://60a0eeb46cd23809b70a928101c82aa12318bec3a3053624c2dbf36bd098f83d",
					"dweb:/ipfs/QmfJmHCAiE6soGdUntPttQbEP8FkQXRHr28EmMyrmx3jmf"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PurgeableSynth.sol": "PurgeableSynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PurgeableSynth.sol": {
						"keccak256": "0xd55f1ee36f3d25266ddda32beb676cde402f8b98862dc07077b8c3028a13a855",
						"urls": [
							"bzz-raw://60a0eeb46cd23809b70a928101c82aa12318bec3a3053624c2dbf36bd098f83d",
							"dweb:/ipfs/QmfJmHCAiE6soGdUntPttQbEP8FkQXRHr28EmMyrmx3jmf"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820bc16ca473a169ecfb5918c5dcce84659bb9529548bc8336990487ca08ab50b1a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0xa4731706c3292ed368ded616be2fcf28877d8a853cbce27be7d78e6a57636e9f",
				"urls": [
					"bzz-raw://f099f912010a38e63b1f3c6208bc7b605e59b9dd42bde020cb603dc4f73ce754",
					"dweb:/ipfs/QmcP1qHd6wTcPh7xBMvWTbeWE3Ms8vmCSRsyKwkymiTNuW"
				]
			},
			"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": "0xa4731706c3292ed368ded616be2fcf28877d8a853cbce27be7d78e6a57636e9f",
						"urls": [
							"bzz-raw://f099f912010a38e63b1f3c6208bc7b605e59b9dd42bde020cb603dc4f73ce754",
							"dweb:/ipfs/QmcP1qHd6wTcPh7xBMvWTbeWE3Ms8vmCSRsyKwkymiTNuW"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "608060405234801561001057600080fd5b506040516112af3803806112af833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b03199182161790915560038054948616948216949094179093556004805492851692841692909217909155600580549190931691161790555061114a806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063bdd1248211610071578063bdd12482146102c5578063bf7e214f146102cd578063c9e9cc4d146102d5578063d8297e44146102dd578063e54c16711461030357610116565b8063817a6951146102725780638da5cb5b1461028f57806395896b7614610297578063a430be6c146102bd57610116565b806359974e38116100e957806359974e38146101c15780635de39934146101f257806360eb3ff21461021857806379ba5097146102445780637a9e5e4b1461024c57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019d575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61017a6004803603602081101561017357600080fd5b5035610398565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101a56103cd565b604080516001600160a01b039092168252519081900360200190f35b6101de600480360360208110156101d757600080fd5b50356103dc565b604080519115158252519081900360200190f35b61015b6004803603602081101561020857600080fd5b50356001600160a01b0316610a43565b6101de6004803603604081101561022e57600080fd5b506001600160a01b038135169060200135610a6d565b61015b610c10565b61015b6004803603602081101561026257600080fd5b50356001600160a01b0316610ccc565b61015b6004803603602081101561028857600080fd5b5035610cf6565b6101a5610de1565b61015b600480360360208110156102ad57600080fd5b50356001600160a01b0316610df0565b6101a5610e1a565b6101a5610e29565b6101a5610e38565b6101a5610e47565b61015b600480360360208110156102f357600080fd5b50356001600160a01b0316610e56565b6101de6004803603606081101561031957600080fd5b508035906001600160a01b036020820135169060400135610e80565b6006545b90565b610344610f4c565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103a557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b600080821161042a576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610489576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b03166104e6576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b0316610543576040805162461bcd60e51b815260206004820152601960248201527f53796e74686574697850726f7879206973206e6f742073657400000000000000604482015290519081900360640190fd5b6005546001600160a01b03166105a0576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505110156106535760405162461bcd60e51b81526004018080602001828103825260468152602001806110a16046913960600191505060405180910390fd5b8160005b60065481101561091a5760006001600160a01b03166006828154811061067957fe5b60009182526020909120600290910201546001600160a01b0316148015906106c05750600681815481106106a957fe5b906000526020600020906002020160010154600014155b15610912576106f6600682815481106106d557fe5b90600052602060002090600202016001015483610f9790919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061071d57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061074857fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a957600080fd5b505af11580156107bd573d6000803e3d6000fd5b505050506040513d60208110156107d357600080fd5b50506006805460609190839081106107e757fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b179052600680549193506060918590811061084757fe5b60009182526020918290206002909102015460405185516001600160a01b0390921692869282918401908083835b602083106108945780518252601f199092019160209182019101610875565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108f6576040519150601f19603f3d011682016040523d82523d6000602084013e6108fb565b606091505b50915091508161090e5780518060208301fd5b5050505b600101610657565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b15801561097557600080fd5b505af1158015610989573d6000803e3d6000fd5b505050506040513d602081101561099f57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b1580156109ee57600080fd5b505af1158015610a02573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610a4b610f4c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a77610f4c565b6001600160a01b038316610ad2576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610b1d576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610b25610ff4565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610c595760405162461bcd60e51b815260040180806020018281038252603581526020018061106c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610cd4610f4c565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610cfe610f4c565b60065460001901811115610d4f576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610dc95760068160010181548110610d6f57fe5b906000526020600020906002020160068281548110610d8a57fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610d51565b506006805490610ddd90600019830161100b565b5050565b6000546001600160a01b031681565b610df8610f4c565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b6003546001600160a01b031681565b6002546001600160a01b031681565b6005546001600160a01b031681565b610e5e610f4c565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e8a610f4c565b60065460001901841115610edb576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b8260068581548110610ee957fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610f2c57fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b03163314610f955760405162461bcd60e51b815260040180806020018281038252602f8152602001806110e7602f913960400191505060405180910390fd5b565b600082821115610fee576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b81548183558181111561103757600202816002028360005260206000209182019101611037919061103c565b505050565b61033991905b808211156110675780546001600160a01b031916815560006001820155600201611042565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b2185e5d0818c5f13b08ecd03e107749f8fe6a7e3fe2f86098180500dcbc252d64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_synthetixProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardsDistributed",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "authority",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "distributeRewards",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "distributionsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePoolProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "removeRewardDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardEscrow",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						}
					],
					"name": "setAuthority",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"name": "setFeePoolProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						}
					],
					"name": "setRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_synthetixProxy",
							"type": "address"
						}
					],
					"name": "setSynthetixProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthetixProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x71b5addb5aaa4ce3ff21f68a5795b3ad75d5aa4f549fca5f0ed999a89580af0b",
				"urls": [
					"bzz-raw://370ffa5626cd06f412882a188502ced2d2282329ef593f4cbea94b1fe3ec4890",
					"dweb:/ipfs/QmRrqZKkjFGsvPrXgbyELhk3EtfTkJDveSzSRBuCqtADUx"
				]
			},
			"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": "0x71b5addb5aaa4ce3ff21f68a5795b3ad75d5aa4f549fca5f0ed999a89580af0b",
						"urls": [
							"bzz-raw://370ffa5626cd06f412882a188502ced2d2282329ef593f4cbea94b1fe3ec4890",
							"dweb:/ipfs/QmRrqZKkjFGsvPrXgbyELhk3EtfTkJDveSzSRBuCqtADUx"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "604c602c600b82828239805160001a60731460008114601c57601e565bfe5b5030600052607381538281f30073000000000000000000000000000000000000000030146080604052600080fd00a165627a7a723058202cc46ac22383a5b3f8f2b208cff313c4febc44dab79fcbaa1d7596fd115ac5150029",
			"abi": []
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c8063766f781511610071578063766f78151461015157806379ba5097146101bf5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f578063514560611461012c57806353a47bb714610149575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f36004803603602081101561014257600080fd5b5035610466565b6100f361056e565b6100d46004803603602081101561016757600080fd5b810190602081018135600160201b81111561018157600080fd5b82018360208201111561019357600080fd5b803590602001918460208302840111600160201b831117156101b457600080fd5b50909250905061057d565b6100d4610607565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b0316806104f7576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166332608039846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561053b57600080fd5b505afa15801561054f573d6000803e3d6000fd5b505050506040513d602081101561056557600080fd5b50519392505050565b6001546001600160a01b031681565b60005b818110156106025782828281811061059457fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156105de57600080fd5b505af11580156105f2573d6000803e3d6000fd5b5050600190920191506105809050565b505050565b6001546001600160a01b031633146106505760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820f199d36769f9e881e995f714bdddbea66b9f50378990764eea9c033c301f6b2064736f6c63430005100032",
			"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": "getSynth",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x51456061"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "importAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab0b8f77"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": 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": "0x08ec0f694f3303c567cc46ab5bf96aaf3851fd6a19648ad1918b5782429cc81a",
				"urls": [
					"bzz-raw://6de2473ac2527bcb410a341df44f9e49e3994419f86cd25ab81dbbb4986c5c7a",
					"dweb:/ipfs/Qmbp1HNbceKDHgipiNrJNx8XCadEUzvgzVnKcFSbNK4BGE"
				]
			},
			"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": "0x08ec0f694f3303c567cc46ab5bf96aaf3851fd6a19648ad1918b5782429cc81a",
						"urls": [
							"bzz-raw://6de2473ac2527bcb410a341df44f9e49e3994419f86cd25ab81dbbb4986c5c7a",
							"dweb:/ipfs/Qmbp1HNbceKDHgipiNrJNx8XCadEUzvgzVnKcFSbNK4BGE"
						]
					}
				},
				"version": 1
			}
		},
		"Exchanger": {
			"bytecode": "6101806040526b53797374656d53746174757360a01b60809081526c45786368616e6765537461746560981b60a0526c45786368616e6765526174657360981b60c052680a6f2dce8d0cae8d2f60bb1b60e05266119959541bdbdb60ca1b610100526d54726164696e675265776172647360901b610120527044656c6567617465417070726f76616c7360781b610140526524b9b9bab2b960d11b61016052620000ae90600690600862000407565b50348015620000bc57600080fd5b50604051620040c1380380620040c183398181016040526040811015620000e257600080fd5b50805160209091015160408051610300810191829052829160069060189082845b8154815260200190600101908083116200010357508793505050506001600160a01b0381166200017a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000225576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b60188110156200028d5760008282601881106200024157fe5b6020020151146200027e5760048282601881106200025b57fe5b602090810291909101518254600181018455600093845291909220015562000284565b6200028d565b60010162000228565b5050600280546001600160a01b0319166001600160a01b0392909216919091179055620002cc6e466c657869626c6553746f7261676560881b620002d4565b50506200046a565b6004805460018101825560008290527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01829055546018116200035e576040805162461bcd60e51b815260206004820152601b60248201527f4d6178207265736f6c7665722063616368652073697a65206d65740000000000604482015290519081900360640190fd5b600254604080516321f8a72160e01b81526004810184905290516001600160a01b03909216916321f8a72191602480820192602092909190829003018186803b158015620003ab57600080fd5b505afa158015620003c0573d6000803e3d6000fd5b505050506040513d6020811015620003d757600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b826018810192821562000438579160200282015b82811115620004385782518255916020019190600101906200041b565b50620004469291506200044a565b5090565b6200046791905b8082111562000446576000815560010162000451565b90565b613c47806200047a6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c8063631e144411610104578063ab49848c116100a2578063d6f32e0611610071578063d6f32e0614610573578063dfffca761461059f578063e3235c91146105ef578063f450aa34146105f7576101cf565b8063ab49848c146104ea578063c193f0d81461052b578063c6c9d82814610533578063ce09694014610550576101cf565b80637dd1a57a116100de5780637dd1a57a1461046d57806386baa45c1461048a57806389257117146104da5780638da5cb5b146104e2576101cf565b8063631e1444146103fd5780636a1c47581461042357806379ba509714610465576101cf565b80631b16802c116101715780633fa70f451161014b5780633fa70f45146103845780634c268fc81461038c57806353a47bb7146103c457806357af302c146103cc576101cf565b80631b16802c1461032a578063372a395a146103565780633be99e6f1461035e576101cf565b80630b9e31c9116101ad5780630b9e31c9146102785780631627540c1461029757806319d5c665146102bd5780631a5c609514610307576101cf565b806304f3bcec146101d4578063059c29ec146101f85780630a1e187d14610236575b600080fd5b6101dc610620565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b03813516906020013561062f565b60408051918252519081900360200190f35b610224600480360360a081101561024c57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608090910135166106d3565b6102956004803603602081101561028e57600080fd5b50356107cf565b005b610295600480360360208110156102ad57600080fd5b50356001600160a01b0316610a2e565b6102e9600480360360408110156102d357600080fd5b506001600160a01b038135169060200135610a8a565b60408051938452602084019290925282820152519081900360600190f35b6102246004803603604081101561031d57600080fd5b5080359060200135610aa8565b6102e96004803603604081101561034057600080fd5b506001600160a01b038135169060200135610ab4565b610224610b35565b6102956004803603602081101561037457600080fd5b50356001600160a01b0316610b44565b610224610c71565b610224600480360360808110156103a257600080fd5b506001600160a01b038135169060208101359060408101359060600135610c76565b6101dc610d96565b6103e9600480360360208110156103e257600080fd5b5035610da5565b604080519115158252519081900360200190f35b6103e96004803603602081101561041357600080fd5b50356001600160a01b0316610dfe565b610224600480360360a081101561043957600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135610f19565b6102956110e2565b6102246004803603602081101561048357600080fd5b503561119e565b610224600480360360e08110156104a057600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c001356111b0565b6102246112b9565b6101dc6112c3565b6104f26112d2565b604051808261030080838360005b83811015610518578181015183820152602001610500565b5050505090500191505060405180910390f35b6103e961131c565b6102246004803603602081101561054957600080fd5b5035611326565b6102956004803603604081101561056657600080fd5b5080359060200135611344565b6103e96004803603604081101561058957600080fd5b506001600160a01b03813516906020013561140c565b610224600480360360e08110156105b557600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c0013561143e565b610224611612565b6102e96004803603606081101561060d57600080fd5b5080359060208101359060400135611617565b6002546001600160a01b031681565b60006106ca61063c611637565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561069957600080fd5b505afa1580156106ad573d6000803e3d6000fd5b505050506040513d60208110156106c357600080fd5b5051611688565b90505b92915050565b6000806106de6116e7565b9050336001600160a01b038216148061076b5750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561073c57600080fd5b505afa158015610750573d6000803e3d6000fd5b505050506040513d602081101561076657600080fd5b505114155b6107a65760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b60006107b58888888888611734565b90935090506107c48185611e9e565b505095945050505050565b6107d7611f4d565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561080f57600080fd5b505afa158015610823573d6000803e3d6000fd5b5050505060006001600160a01b031661083a611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561087d57600080fd5b505afa158015610891573d6000803e3d6000fd5b505050506040513d60208110156108a757600080fd5b50516001600160a01b031614156108f5576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b61097581610901611fe0565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094457600080fd5b505afa158015610958573d6000803e3d6000fd5b505050506040513d602081101561096e57600080fd5b5051612031565b6109bd576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b6109c5611f4d565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610a1357600080fd5b505af1158015610a27573d6000803e3d6000fd5b5050505050565b610a36612281565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806000610a9985856122cc565b50919790965090945092505050565b60006106ca838361259a565b6000806000610ac1611f4d565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015610b0457600080fd5b505afa158015610b18573d6000803e3d6000fd5b50505050610b28858560016125a5565b9250925092509250925092565b6000610b3f612914565b905090565b610b4c612281565b600280546001600160a01b0319166001600160a01b03831617905560005b600454811015610c6d57600060048281548110610b8357fe5b600091825260209182902001546002546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610c0d57600080fd5b505afa158015610c21573d6000803e3d6000fd5b505050506040513d6020811015610c3757600080fd5b505160009182526003602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610b6a565b5050565b604181565b816000610c81611f9d565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cc457600080fd5b505afa158015610cd8573d6000803e3d6000fd5b505050506040513d6020811015610cee57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610d3a57600080fd5b505afa158015610d4e573d6000803e3d6000fd5b505050506040513d6020811015610d6457600080fd5b5051905080821115610d74578091505b8215610d8d57610d8a828463ffffffff6129cb16565b91505b50949350505050565b6001546001600160a01b031681565b6000610df682610db3611fe0565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094457600080fd5b90505b919050565b6002546000906001600160a01b03838116911614610e1e57506000610df9565b60005b600454811015610f1057600060048281548110610e3a57fe5b6000918252602080832090910154808352600382526040928390205460025484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b158015610ea057600080fd5b505afa158015610eb4573d6000803e3d6000fd5b505050506040513d6020811015610eca57600080fd5b50516001600160a01b0316141580610ef757506000818152600360205260409020546001600160a01b0316155b15610f0757600092505050610df9565b50600101610e21565b50600192915050565b600080610f246116e7565b9050336001600160a01b0382161480610fb15750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d6020811015610fac57600080fd5b505114155b610fec5760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b610ff4612a25565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561104757600080fd5b505afa15801561105b573d6000803e3d6000fd5b505050506040513d602081101561107157600080fd5b50516110c4576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b60006110d3888787878c611734565b90935090506107c48189611e9e565b6001546001600160a01b0316331461112b5760405162461bcd60e51b8152600401808060200182810382526035815260200180613ae36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60056020526000908152604090205481565b6000806111bb6116e7565b9050336001600160a01b03821614806112485750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801561121957600080fd5b505afa15801561122d573d6000803e3d6000fd5b505050506040513d602081101561124357600080fd5b505114155b6112835760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b60006112928a8a8a8a8a611734565b90935090506112a18186611e9e565b6112ac848885612a5d565b5050979650505050505050565b6000610b3f612ad7565b6000546001600160a01b031681565b6112da613a78565b60005b60045481101561131857600481815481106112f457fe5b906000526020600020015482826018811061130b57fe5b60200201526001016112dd565b5090565b6000610b3f612b51565b6004818154811061133357fe5b600091825260209091200154905081565b600061134e611fe0565b9050336001600160a01b038216146113ad576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b600082116113f9576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526005602052604090912055565b6000611418838361062f565b15611425575060016106cd565b600061143184846122cc565b5050501515949350505050565b6000806114496116e7565b9050336001600160a01b03821614806114d65750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156114a757600080fd5b505afa1580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b505114155b6115115760405162461bcd60e51b8152600401808060200182810382526045815260200180613b396045913960600191505060405180910390fd5b611519612a25565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561156c57600080fd5b505afa158015611580573d6000803e3d6000fd5b505050506040513d602081101561159657600080fd5b50516115e9576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b60006115f88a8989898e611734565b90935090506116078186611e9e565b6112ac848785612a5d565b601881565b6000806000611627868686612bcf565b5092999198509650945050505050565b6000610b3f6c45786368616e6765537461746560981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676553746174652061646472657373000000815250612ca9565b600080611693612ad7565b90508215806116b157506116ad838263ffffffff6129cb16565b4210155b156116c0576000915050610df9565b6116e0426116d4858463ffffffff6129cb16565b9063ffffffff612d5316565b9392505050565b6000610b3f680a6f2dce8d0cae8d2f60bb1b6040518060400160405280601981526020017f4d697373696e672053796e746865746978206164647265737300000000000000815250612ca9565b600080611742868686612db0565b600080611751898960006125a5565b909350915087905081156117825761176b8a8a8a86610c76565b905080611782575060009350839250611e94915050565b6000806000611792848d8c612bcf565b939b509199509450925090506117a88c83612031565b1561182e576117b5611f4d565b6001600160a01b031663abc0bb6e8d60416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b5060009a508a9950611e9498505050505050505050565b60008c81526005602052604090208290556118498a82612031565b156118a457611856611f4d565b6001600160a01b031663abc0bb6e8b60416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561180357600080fd5b60008a81526005602052604090208190556118bd611f9d565b6001600160a01b031663326080398d6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561190057600080fd5b505afa158015611914573d6000803e3d6000fd5b505050506040513d602081101561192a57600080fd5b81019080805190602001909291905050506001600160a01b0316639dc29fac8e866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561199a57600080fd5b505af11580156119ae573d6000803e3d6000fd5b505050506119ba611f9d565b6001600160a01b031663326080398b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156119fd57600080fd5b505afa158015611a11573d6000803e3d6000fd5b505050506040513d6020811015611a2757600080fd5b50516040805163219e412d60e21b81526001600160a01b038c81166004830152602482018c90529151919092169163867904b491604480830192600092919082900301818387803b158015611a7b57600080fd5b505af1158015611a8f573d6000803e3d6000fd5b505050506000871115611cef57611aa4611fe0565b6001600160a01b031663654a60ac8b89631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611afe57600080fd5b505afa158015611b12573d6000803e3d6000fd5b505050506040513d6020811015611b2857600080fd5b50519650611b34611f9d565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611b7e57600080fd5b505afa158015611b92573d6000803e3d6000fd5b505050506040513d6020811015611ba857600080fd5b50516001600160a01b031663867904b4611bc0612f89565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611bf857600080fd5b505afa158015611c0c573d6000803e3d6000fd5b505050506040513d6020811015611c2257600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018b905251604480830192600092919082900301818387803b158015611c7157600080fd5b505af1158015611c85573d6000803e3d6000fd5b50505050611c91612f89565b6001600160a01b03166322bf55ef886040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611cd657600080fd5b505af1158015611cea573d6000803e3d6000fd5b505050505b611cf7611f9d565b6001600160a01b0316639e342f7160405180604001604052808f81526020018d8152506040518060400160405280868152602001858152506040518363ffffffff1660e01b81526004018083600260200280838360005b83811015611d66578181015183820152602001611d4e565b5050505090500182600260200280838360005b83811015611d91578181015183820152602001611d79565b5050505090500192505050600060405180830381600087803b158015611db657600080fd5b505af1158015611dca573d6000803e3d6000fd5b50505050611dd66116e7565b6001600160a01b0316636c00f3108e8e878e8d8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b158015611e6757600080fd5b505af1158015611e7b573d6000803e3d6000fd5b50505050611e8d898d868d8c88612fd4565b5050505050505b9550959350505050565b600082118015611eb657506001600160a01b03811615155b8015611ec55750611ec5612b51565b15610c6d57611ed26131e5565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b158015611f3157600080fd5b505af1158015611f45573d6000803e3d6000fd5b505050505050565b6000610b3f6b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250612ca9565b6000610b3f6524b9b9bab2b960d11b604051806040016040528060168152602001754d697373696e6720497373756572206164647265737360501b815250612ca9565b6000610b3f6c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250612ca9565b600081612040575060016106cd565b60008381526005602052604090205480156120675761205f8184613237565b9150506106cd565b6060612071611fe0565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156120fa57600080fd5b810190808051604051939291908464010000000082111561211a57600080fd5b90830190602082018581111561212f57600080fd5b825186602082028301116401000000008211171561214c57600080fd5b82525081516020918201928201910280838360005b83811015612179578181015183820152602001612161565b50505050905001604052602001805160405193929190846401000000008211156121a257600080fd5b9083019060208201858111156121b757600080fd5b82518660208202830111640100000000821117156121d457600080fd5b82525081516020918201928201910280838360005b838110156122015781810151838201526020016121e9565b505050509050016040525050505090506000600190505b815181101561227557600082828151811061222f57fe5b602002602001015111801561225c575061225c82828151811061224e57fe5b602002602001015186613237565b1561226d57600193505050506106cd565b600101612218565b50600095945050505050565b6000546001600160a01b031633146122ca5760405162461bcd60e51b815260040180806020018281038252602f815260200180613b7e602f913960400191505060405180910390fd5b565b600080600060606122db611637565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561233857600080fd5b505afa15801561234c573d6000803e3d6000fd5b505050506040513d602081101561236257600080fd5b50516040805182815260208084028201019091529092506060908380156123a357816020015b612390613a97565b8152602001906001900390816123885790505b50905060005b8381101561258e576000806123bc613a97565b6123c78b8b86613296565b90506000806123d5836133b1565b9150915060006123e3611fe0565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b15801561245257600080fd5b505afa158015612466573d6000803e3d6000fd5b505050506040513d602081101561247c57600080fd5b50516080850151909150600090612494908390613504565b90506124a4856060015182613237565b6125195780856060015111156124e25760608501516124c9908263ffffffff612d5316565b96506124db8d8863ffffffff6129cb16565b9c50612519565b846060015181111561251957606085015161250490829063ffffffff612d5316565b95506125168c8763ffffffff6129cb16565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a0015181525089898151811061256f57fe5b60200260200101819052505050505050505080806001019150506123a9565b50905092959194509250565b60006106ca82613596565b60008060006125b4868661062f565b156125f05760405162461bcd60e51b8152600401808060200182810382526023815260200180613bf06023913960400191505060405180910390fd5b600080600060606126018a8a6122cc565b93509350935093508284111561263357612621848463ffffffff612d5316565b965061262e8a8a8961366e565b612658565b838311156126585761264b838563ffffffff612d5316565b95506126588a8a886137be565b871561273f5760408051600180825281830190925260609160208083019080388339019050509050898160008151811061268e57fe5b6020026020010181815250506126a2611f9d565b6001600160a01b031663fe1d77e7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156127005781810151838201526020016126e8565b5050505090500192505050600060405180830381600087803b15801561272557600080fd5b505af1158015612739573d6000803e3d6000fd5b50505050505b60005b8151811015612884578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e94083838151811061278257fe5b60200260200101516000015184848151811061279a57fe5b6020026020010151602001518585815181106127b257fe5b6020026020010151604001518686815181106127ca57fe5b6020026020010151606001518787815181106127e257fe5b6020026020010151608001518888815181106127fa57fe5b602002602001015160a0015189898151811061281257fe5b602002602001015160c001518a8a8151811061282a57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612742565b50819450612890611637565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156128ef57600080fd5b505af1158015612903573d6000803e3d6000fd5b505050505050505093509350939050565b600061291e61390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b505afa1580156129ae573d6000803e3d6000fd5b505050506040513d60208110156129c457600080fd5b5051905090565b6000828201838110156106ca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610b3f7044656c6567617465417070726f76616c7360781b604051806060016040528060218152602001613b1860219139612ca9565b612a656116e7565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b505af1158015612ace573d6000803e3d6000fd5b50505050505050565b6000612ae161390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b6000612b5b61390e565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561299a57600080fd5b600080600080600080612be0611fe0565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b158015612c3357600080fd5b505afa158015612c47573d6000803e3d6000fd5b505050506040513d6060811015612c5d57600080fd5b50805160208201516040909201519194509092509050612c7d888861259a565b9350612c898185613504565b9550612c9b818763ffffffff612d5316565b945050939792965093509350565b6000828152600360205260408120546001600160a01b03168281612d4b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d10578181015183820152602001612cf8565b50505050905090810190601f168015612d3d5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082821115612daa576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80831415612dfb576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b60008211612e3e576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b60408051600280825260608083018452926020830190803883390190505090508381600081518110612e6c57fe5b6020026020010181815250508181600181518110612e8657fe5b602002602001018181525050612e9a611fe0565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612ef8578181015183820152602001612ee0565b505050509050019250505060206040518083038186803b158015612f1b57600080fd5b505afa158015612f2f573d6000803e3d6000fd5b505050506040513d6020811015612f4557600080fd5b505115612f835760405162461bcd60e51b8152600401808060200182810382526022815260200180613bce6022913960400191505060405180910390fd5b50505050565b6000610b3f66119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c2061646472657373000000000000000000815250612ca9565b6000612fde611fe0565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561302657600080fd5b505afa15801561303a573d6000803e3d6000fd5b505050506040513d602081101561305057600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b15801561309f57600080fd5b505afa1580156130b3573d6000803e3d6000fd5b505050506040513d60208110156130c957600080fd5b505190506130d5611637565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801561315a57600080fd5b505af115801561316e573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b6000610b3f6d54726164696e675265776172647360901b6040518060400160405280601e81526020017f4d697373696e672054726164696e675265776172647320616464726573730000815250612ca9565b6000821580613244575081155b15613251575060016106cd565b6000838311156132725761326b838563ffffffff61396116565b9050613285565b613282848463ffffffff61396116565b90505b61328d612914565b11159392505050565b61329e613a97565b6000806000806000806000806132b2611637565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801561331857600080fd5b505afa15801561332c573d6000803e3d6000fd5b505050506040513d61010081101561334357600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b60008060006133be611fe0565b905060006133ca612ad7565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561343457600080fd5b505afa158015613448573d6000803e3d6000fd5b505050506040513d602081101561345e57600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b1580156134ce57600080fd5b505afa1580156134e2573d6000803e3d6000fd5b505050506040513d60208110156134f857600080fd5b50519395939450505050565b60006106ca6135898373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561355157600080fd5b505af4158015613565573d6000803e3d6000fd5b505050506040513d602081101561357b57600080fd5b50519063ffffffff612d5316565b849063ffffffff61398b16565b60006135a061390e565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561363c57600080fd5b505afa158015613650573d6000803e3d6000fd5b505050506040513d602081101561366657600080fd5b505192915050565b613676611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136b957600080fd5b505afa1580156136cd573d6000803e3d6000fd5b505050506040513d60208110156136e357600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561373757600080fd5b505af115801561374b573d6000803e3d6000fd5b505050506137576116e7565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b6137c6611f9d565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561380957600080fd5b505afa15801561381d573d6000803e3d6000fd5b505050506040513d602081101561383357600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b15801561388757600080fd5b505af115801561389b573d6000803e3d6000fd5b505050506138a76116e7565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612aba57600080fd5b6000610b3f6e466c657869626c6553746f7261676560881b6040518060400160405280601f81526020017f4d697373696e6720466c657869626c6553746f72616765206164647265737300815250612ca9565b60006106ca8261397f85670de0b6b3a764000063ffffffff6139b516565b9063ffffffff613a0e16565b6000670de0b6b3a76400006139a6848463ffffffff6139b516565b816139ad57fe5b049392505050565b6000826139c4575060006106cd565b828202828482816139d157fe5b04146106ca5760405162461bcd60e51b8152600401808060200182810382526021815260200180613bad6021913960400191505060405180910390fd5b6000808211613a64576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613a6f57fe5b04949350505050565b6040518061030001604052806018906020820280388339509192915050565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704d697373696e672044656c6567617465417070726f76616c73206164647265737345786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a7231582009ade86e1231fd4601e8b690d413a0870f181843bb770c2f23548e6dda7883e564736f6c63430005100032",
			"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": "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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fa70f45"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						}
					],
					"name": "calculateAmountAfterSettlement",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountAfterSettlement",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c268fc8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a1e187d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a1c4758"
				},
				{
					"constant": 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": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a5c6095"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "getAmountsForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf450aa34"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6f32e06"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isSynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57af302c"
				},
				{
					"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": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xce096940"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"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": "suspendSynthWithInvalidRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0b9e31c9"
				},
				{
					"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": "0x5d6e11d4c9e1a785a435f44c861da9ed9ef4889db9151265145624a1cf64e512",
				"urls": [
					"bzz-raw://26c05fa00b9090c3fc82634facba885e1ff4c27a43fdbd40082bfe221d3f74f9",
					"dweb:/ipfs/QmYf3wnwHuRvWZ1jbhm1as4dbLfsrNddnpMccHuupBHe5P"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Exchanger.sol": "Exchanger"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Exchanger.sol": {
						"keccak256": "0x5d6e11d4c9e1a785a435f44c861da9ed9ef4889db9151265145624a1cf64e512",
						"urls": [
							"bzz-raw://26c05fa00b9090c3fc82634facba885e1ff4c27a43fdbd40082bfe221d3f74f9",
							"dweb:/ipfs/QmYf3wnwHuRvWZ1jbhm1as4dbLfsrNddnpMccHuupBHe5P"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeState": {
			"bytecode": "6080604052600c60045534801561001557600080fd5b50604051604080610cbb833981016040528051602090910151818181600160a060020a03811615156100a857604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505050610b56806101656000396000f3006080604052600436106100cf5763ffffffff7c01000000000000000000000000000000000000000000000000000000006000350416630d40d0cf81146100d457806315987eb6146100fb5780631627540c146101635780633ca9d85c1461018657806352f445ca146101c057806353a47bb7146101e15780636e13fe761461021257806379ba5097146102395780638da5cb5b1461024e578063aefc4ccb14610263578063b44e975314610278578063cd8b94dc1461029c578063d0d3d62a146102b4578063f1406dc8146102d8575b600080fd5b3480156100e057600080fd5b506100e96102fc565b60408051918252519081900360200190f35b34801561010757600080fd5b50610122600160a060020a0360043516602435604435610302565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b34801561016f57600080fd5b50610184600160a060020a0360043516610397565b005b34801561019257600080fd5b50610184600160a060020a036004351660243560443560643560843560a43560c43560e43561010435610480565b3480156101cc57600080fd5b50610184600160a060020a0360043516610634565b3480156101ed57600080fd5b506101f661071d565b60408051600160a060020a039092168252519081900360200190f35b34801561021e57600080fd5b50610122600160a060020a036004351660243560443561072c565b34801561024557600080fd5b50610184610798565b34801561025a57600080fd5b506101f66108a0565b34801561026f57600080fd5b506101f66108af565b34801561028457600080fd5b506100e9600160a060020a03600435166024356108be565b3480156102a857600080fd5b506101846004356108e6565b3480156102c057600080fd5b50610184600160a060020a0360043516602435610973565b3480156102e457600080fd5b506100e9600160a060020a0360043516602435610a2b565b60045481565b600160a060020a038316600090815260036020908152604080832085845290915281208054829182918291829182918291829182918b90811061034157fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b600054600160a060020a0316331461041f576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254600160a060020a03163314610508576040805160e560020a62461bcd02815260206004820152603460248201527f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e60448201527f20706572666f726d207468697320616374696f6e000000000000000000000000606482015290519081900360840190fd5b600454600160a060020a038a1660009081526003602090815260408083208a845290915290205410610584576040805160e560020a62461bcd02815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b600160a060020a03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b600054600160a060020a031633146106bc576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b60036020528260005260406000206020528160005260406000208181548110151561075357fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b600154600160a060020a03163314610820576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600054600160a060020a031681565b600254600160a060020a031681565b600160a060020a03919091166000908152600360209081526040808320938352929052205490565b600054600160a060020a0316331461096e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b600455565b600254600160a060020a031633146109fb576040805160e560020a62461bcd02815260206004820152603460248201527f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e60448201527f20706572666f726d207468697320616374696f6e000000000000000000000000606482015290519081900360840190fd5b600160a060020a03821660009081526003602090815260408083208484529091528120610a2791610ab5565b5050565b600160a060020a0382166000908152600360209081526040808320848452909152812081805b8254811015610aac57818382815481101515610a6957fe5b9060005260206000209060080201600501541115610aa4578281815481101515610a8f57fe5b90600052602060002090600802016005015491505b600101610a51565b50949350505050565b5080546000825560080290600052602060002090810190610ad69190610ad9565b50565b610b2791905b80821115610b235760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610adf565b5090565b905600a165627a7a72305820bf4c8cbb952e8e0db14fcbdb4a1795d5c66da0d9364e79f257686bb2bd5911340029",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "maxEntriesInQueue",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d40d0cf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getEntryAt",
					"outputs": [
						{
							"name": "src",
							"type": "bytes32"
						},
						{
							"name": "amount",
							"type": "uint256"
						},
						{
							"name": "dest",
							"type": "bytes32"
						},
						{
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15987eb6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "src",
							"type": "bytes32"
						},
						{
							"name": "amount",
							"type": "uint256"
						},
						{
							"name": "dest",
							"type": "bytes32"
						},
						{
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "appendExchangeEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ca9d85c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "",
							"type": "address"
						},
						{
							"name": "",
							"type": "bytes32"
						},
						{
							"name": "",
							"type": "uint256"
						}
					],
					"name": "exchanges",
					"outputs": [
						{
							"name": "src",
							"type": "bytes32"
						},
						{
							"name": "amount",
							"type": "uint256"
						},
						{
							"name": "dest",
							"type": "bytes32"
						},
						{
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6e13fe76"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getLengthOfEntries",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb44e9753"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_maxEntriesInQueue",
							"type": "uint256"
						}
					],
					"name": "setMaxEntriesInQueue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd8b94dc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0d3d62a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "account",
							"type": "address"
						},
						{
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getMaxTimestamp",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1406dc8"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"Issuer": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200618e3803806200618e8339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b615f6b80620002236000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c806372c6581611610182578063a311c7c2116100e9578063c81ff8fa116100a2578063d686c06c1161007c578063d686c06c1461061d578063dbf6334014610630578063dd3d2b2e14610638578063fd864ccf1461064b576102bb565b8063c81ff8fa146105e4578063c8977132146105f7578063d37c4d8b1461060a576102bb565b8063a311c7c21461057d578063a5fdc5de14610590578063ae3bbbbb146105a3578063b06e8c65146105b6578063b410a034146105c9578063bff4fdfc146105d1576102bb565b8063835e119c1161013b578063835e119c14610521578063849cf58814610534578063890235d414610547578063899ffef41461055a5780638da5cb5b146105625780639a5154b41461056a576102bb565b806372c65816146104c357806372cb051f146104d657806374185360146104eb57806379ba5097146104f35780637b1001b7146104fb57806380aa6a911461050e576102bb565b806331e6da5a116102265780634e99bda9116101df5780634e99bda91461044757806353a47bb71461044f5780635e887fe914610464578063614d08f8146104875780636bed04151461048f5780637168d2c2146104b0576102bb565b806331e6da5a146103c857806332608039146103db5780633b6afe40146103ee57806344ec6b621461040e57806347a9b6db14610421578063497d704a14610434576102bb565b80631313e6ca116102785780631313e6ca1461035b5780631627540c1461037257806316b2213f14610385578063242df9e1146103985780632af64bd3146103a05780632b3f41aa146103b5576102bb565b8063042e0688146102c057806304f3bcec146102d557806305b3c1c9146102f35780630b887dae146103135780630d969cf5146103265780631137aedf14610339575b600080fd5b6102d36102ce366004614e23565b61065e565b005b6102dd6106cf565b6040516102ea9190615ba2565b60405180910390f35b610306610301366004614d30565b6106de565b6040516102ea9190615aee565b6102d3610321366004614f5b565b6106f2565b6102d3610334366004614e53565b6107d0565b61034c610347366004614d30565b610963565b6040516102ea93929190615b18565b61036361097f565b6040516102ea93929190615d8b565b6102d3610380366004614d30565b610a26565b610306610393366004614d30565b610a84565b610306610a96565b6103a8610aa6565b6040516102ea9190615ae0565b6102d36103c3366004614d6c565b610bbd565b6102d36103d6366004615013565b610c0c565b6102dd6103e9366004614f5b565b610d47565b6104016103fc366004614eb4565b610d62565b6040516102ea9190615acf565b6102d361041c366004614da6565b610e10565b6102d361042f366004614eb4565b610e63565b6102d3610442366004614d30565b610f14565b6103a8610f5c565b610457610fee565b6040516102ea91906159fb565b610477610472366004614df3565b610ffd565b6040516102ea9493929190615db3565b61030661101f565b6104a261049d366004614e23565b61102c565b6040516102ea929190615d7d565b6102d36104be366004614eb4565b611098565b61034c6104d1366004614df3565b6111cd565b6104de61133f565b6040516102ea9190615abe565b6102d361134b565b6102d361149d565b610306610509366004614fb8565b611539565b6102d361051c366004614e23565b611545565b6102dd61052f366004614f5b565b611930565b6102d3610542366004614fd7565b611957565b6103a8610555366004614f97565b6119ca565b6104de611d50565b610457612026565b6102d3610578366004614da6565b612035565b61030661058b366004614d30565b612083565b61030661059e366004614d30565b612095565b6104a26105b1366004614d30565b6120a0565b6102d36105c4366004614e23565b6120b6565b6103066120fa565b6103a86105df366004614d30565b612104565b6103a86105f2366004614f97565b61210f565b6102d3610605366004614d30565b6124d5565b610306610618366004614e23565b61251a565b6102d361062b366004614da6565b61254c565b6103066125f2565b610306610646366004614d30565b6125f8565b6102d3610659366004614d6c565b612603565b610666612652565b6001600160a01b0316336001600160a01b03161461069f5760405162461bcd60e51b815260040161069690615c4f565b60405180910390fd5b600081116106bf5760405162461bcd60e51b815260040161069690615d0f565b6106cb82826000612669565b5050565b6002546001600160a01b031681565b6000806106ea83612793565b509392505050565b6106fa61289d565b60006107046128c9565b604051636b42ba1d60e11b81529091506001600160a01b0382169063d685743a90610736908590600090600401615b40565b600060405180830381600087803b15801561075057600080fd5b505af1158015610764573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03841692506304bd11e5915061079590600190600401615ae0565b600060405180830381600087803b1580156107af57600080fd5b505af11580156107c3573d6000803e3d6000fd5b505050506106cb826128e0565b6107d8612d8e565b6107e0612e78565b6001600160a01b0316631b16802c85856040518363ffffffff1660e01b815260040161080d929190615a3f565b606060405180830381600087803b15801561082757600080fd5b505af115801561083b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061085f9190810190615106565b50505060008381526005602052604090819020549051632770a7eb60e21b81526001600160a01b0390911690639dc29fac906108a19087908690600401615a3f565b600060405180830381600087803b1580156108bb57600080fd5b505af11580156108cf573d6000803e3d6000fd5b505050506108dc84612e8f565b631cd554d160e21b6000526005602052600080516020615f098339815191525460405163219e412d60e21b81526001600160a01b039091169063867904b49061092b9087908590600401615a3f565b600060405180830381600087803b15801561094557600080fd5b505af1158015610959573d6000803e3d6000fd5b5050505050505050565b600080600061097184612f08565b509196909550909350915050565b60008060008060006109b86109b37f6578743a41676772656761746f7249737375656453796e746873000000000000612f78565b612fd5565b509350509250506000806109ca613060565b91509150839650816000146109ee576109e9878363ffffffff61309b16565b6109f1565b60005b955060006109fd6130bb565b90504281108015610a1a5750838142031180610a1a575081814203115b95505050505050909192565b610a2e61289d565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610a799083906159fb565b60405180910390a150565b60066020526000908152604090205481565b6000610aa0613165565b90505b90565b60006060610ab2611d50565b905060005b8151811015610bb4576000828281518110610ace57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b1f908590600401615aee565b60206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b6f9190810190614d4e565b6001600160a01b0316141580610b9a57506000818152600360205260409020546001600160a01b0316155b15610bab5760009350505050610aa3565b50600101610ab7565b50600191505090565b610bc5612652565b6001600160a01b0316336001600160a01b031614610bf55760405162461bcd60e51b815260040161069690615c4f565b610bff82826131c0565b6106cb8260006001613261565b610c1f66119959541bdbdb60ca1b612f78565b6001600160a01b0316336001600160a01b031614610c4f5760405162461bcd60e51b815260040161069690615c6f565b6000610c596134d3565b9050816001600160801b0316816001600160a01b031663988e65956040518163ffffffff1660e01b815260040160206040518083038186803b158015610c9e57600080fd5b505afa158015610cb2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cd69190810190615031565b6001600160801b031610156106cb5760405163abb6de9560e01b81526001600160a01b0382169063abb6de9590610d11908590600401615d6f565b600060405180830381600087803b158015610d2b57600080fd5b505af1158015610d3f573d6000803e3d6000fd5b505050505050565b6005602052600090815260409020546001600160a01b031681565b60408051828152602080840282010190915260609082908290828015610d92578160200160208202803883390190505b50905060005b82811015610e055760056000878784818110610db057fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610de557fe5b6001600160a01b0390921660209283029190910190910152600101610d98565b509150505b92915050565b610e18612652565b6001600160a01b0316336001600160a01b031614610e485760405162461bcd60e51b815260040161069690615c4f565b610e5283836134f3565b610e5e83826000612669565b505050565b610e6b61289d565b8060005b81811015610ea857610ea0848483818110610e8657fe5b9050602002016020610e9b9190810190614fd7565b613528565b600101610e6f565b50610eb16128c9565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b8152600401610edd9190615ae0565b600060405180830381600087803b158015610ef757600080fd5b505af1158015610f0b573d6000803e3d6000fd5b50505050505050565b610f1c612652565b6001600160a01b0316336001600160a01b031614610f4c5760405162461bcd60e51b815260040161069690615c4f565b610f598160006001613261565b50565b6000610f666136b9565b6001600160a01b031663c8e5bbd5610f7e60016136d4565b6040518263ffffffff1660e01b8152600401610f9a9190615abe565b60006040518083038186803b158015610fb257600080fd5b505afa158015610fc6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610e0a9190810190614ef6565b6001546001600160a01b031681565b60008060008061100d86866137b0565b93509350935093505b92959194509250565b6524b9b9bab2b960d11b81565b600080600061104961103d86613b5e565b620a69cb60eb1b613be3565b93509091506000905061106a61105d613c54565b839063ffffffff613cac16565b905084811061107c576000935061108f565b61108c858263ffffffff613cc116565b93505b50509250929050565b6110a061289d565b8060006110ab6128c9565b90506060826040519080825280602002602001820160405280156110d9578160200160208202803883390190505b506040516305ece36d60e21b81529091506001600160a01b038316906317b38db49061110d90889088908690600401615a98565b600060405180830381600087803b15801561112757600080fd5b505af115801561113b573d6000803e3d6000fd5b50506040516304bd11e560e01b81526001600160a01b03851692506304bd11e5915061116c90600190600401615ae0565b600060405180830381600087803b15801561118657600080fd5b505af115801561119a573d6000803e3d6000fd5b506000925050505b83811015610d3f576111c58686838181106111b957fe5b905060200201356128e0565b6001016111a2565b60008060006111da612652565b6001600160a01b0316336001600160a01b03161461120a5760405162461bcd60e51b815260040161069690615c4f565b611212613ce9565b6001600160a01b031663952225f386866040518363ffffffff1660e01b815260040161123f929190615a24565b60206040518083038186803b15801561125757600080fd5b505afa15801561126b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061128f9190810190614f3d565b6112ab5760405162461bcd60e51b815260040161069690615caf565b60006112b786866137b0565b929650909450925090506112cc868483613d01565b84611337576112d9613ce9565b6001600160a01b031663974e9e7f876040518263ffffffff1660e01b815260040161130491906159fb565b600060405180830381600087803b15801561131e57600080fd5b505af1158015611332573d6000803e3d6000fd5b505050505b509250925092565b6060610aa060006136d4565b6060611355611d50565b905060005b81518110156106cb57600082828151811061137157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016113b391906159f0565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016113df929190615b5b565b60206040518083038186803b1580156113f757600080fd5b505afa15801561140b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061142f9190810190614d4e565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061148b9084908490615afc565b60405180910390a1505060010161135a565b6001546001600160a01b031633146114c75760405162461bcd60e51b815260040161069690615bdf565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261150a926001600160a01b0391821692911690615a09565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006106ea8383613e38565b6002546040516321f8a72160e01b81526000916001600160a01b0316906321f8a7219061158f9075446562744d69677261746f724f6e457468657265756d60501b90600401615aee565b60206040518083038186803b1580156115a757600080fd5b505afa1580156115bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115df9190810190614d4e565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061162e9075446562744d69677261746f724f6e4f7074696d69736d60501b90600401615aee565b60206040518083038186803b15801561164657600080fd5b505afa15801561165a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061167e9190810190614d4e565b9050336001600160a01b038316148061169f5750336001600160a01b038216145b6116bb5760405162461bcd60e51b815260040161069690615d1f565b6001600160a01b03821615806116d857506001600160a01b038116155b6116f45760405162461bcd60e51b815260040161069690615bcf565b60006116fe6134d3565b6002546040516321f8a72160e01b81529192506001600160a01b0316906321f8a721906117489075446562744d69677261746f724f6e457468657265756d60501b90600401615aee565b60206040518083038186803b15801561176057600080fd5b505afa158015611774573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117989190810190614d4e565b6001600160a01b0316336001600160a01b0316141561181657604051631a378f0d60e01b81526001600160a01b03821690631a378f0d906117df9088908890600401615a3f565b600060405180830381600087803b1580156117f957600080fd5b505af115801561180d573d6000803e3d6000fd5b50505050611929565b6002546040516321f8a72160e01b81526001600160a01b03909116906321f8a7219061185f9075446562744d69677261746f724f6e4f7074696d69736d60501b90600401615aee565b60206040518083038186803b15801561187757600080fd5b505afa15801561188b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118af9190810190614d4e565b6001600160a01b0316336001600160a01b0316141561192957604051636178258560e11b81526001600160a01b0382169063c2f04b0a906118f69088908890600401615a3f565b600060405180830381600087803b15801561191057600080fd5b505af1158015611924573d6000803e3d6000fd5b505050505b5050505050565b6004818154811061193d57fe5b6000918252602090912001546001600160a01b0316905081565b61195f61289d565b61196881613528565b6119706128c9565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b815260040161199c9190615ae0565b600060405180830381600087803b1580156119b657600080fd5b505af1158015611929573d6000803e3d6000fd5b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a72190611a1b907853796e746865746978427269646765546f4f7074696d69736d60381b90600401615aee565b60206040518083038186803b158015611a3357600080fd5b505afa158015611a47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a6b9190810190614d4e565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611ab9907453796e746865746978427269646765546f4261736560581b90600401615aee565b60206040518083038186803b158015611ad157600080fd5b505afa158015611ae5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b099190810190614d4e565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a72190611b499066119959541bdbdb60ca1b90600401615aee565b60206040518083038186803b158015611b6157600080fd5b505afa158015611b75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b999190810190614d4e565b9050336001600160a01b0384161480611bba5750336001600160a01b038316145b80611bcd5750336001600160a01b038216145b611be95760405162461bcd60e51b815260040161069690615bef565b6000878152600560205260409020546001600160a01b0316611c1d5760405162461bcd60e51b815260040161069690615c8f565b60008511611c3d5760405162461bcd60e51b815260040161069690615d0f565b611c4686612e8f565b6000878152600560205260409081902054905163219e412d60e21b81526001600160a01b039091169063867904b490611c859089908990600401615a3f565b600060405180830381600087803b158015611c9f57600080fd5b505af1158015611cb3573d6000803e3d6000fd5b50505050600080611cc389613fc3565b91509150611ccf6128c9565b6001600160a01b03166342c7b819611cf5611cf08a8663ffffffff61404816565b614072565b6040518263ffffffff1660e01b8152600401611d119190615aee565b600060405180830381600087803b158015611d2b57600080fd5b505af1158015611d3f573d6000803e3d6000fd5b50929b9a5050505050505050505050565b606080611d5b61409b565b60408051600f808252610200820190925291925060609190602082016101e080388339019050509050680a6f2dce8d0cae8d2f60bb1b81600081518110611d9e57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611dc457fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611dee57fe5b6020026020010181815250506d21b4b931bab4ba213932b0b5b2b960911b81600381518110611e1957fe5b6020026020010181815250507153796e74686574697844656274536861726560701b81600481518110611e4857fe5b60200260200101818152505066119959541bdbdb60ca1b81600581518110611e6c57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110611e9a57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600781518110611ec557fe5b602002602001018181525050692634b8bab4b230ba37b960b11b81600881518110611eec57fe5b602002602001018181525050704c697175696461746f725265776172647360781b81600981518110611f1a57fe5b6020026020010181815250506844656274436163686560b81b81600a81518110611f4057fe5b6020026020010181815250506c29bcb73a342932b232b2b6b2b960991b81600b81518110611f6a57fe5b60200260200101818152505073223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b81600c81518110611f9b57fe5b6020026020010181815250507f6578743a41676772656761746f7249737375656453796e74687300000000000081600d81518110611fd557fe5b602002602001018181525050766578743a41676772656761746f7244656274526174696f60481b81600e8151811061200957fe5b60200260200101818152505061201f82826140ec565b9250505090565b6000546001600160a01b031681565b61203d612652565b6001600160a01b0316336001600160a01b03161461206d5760405162461bcd60e51b815260040161069690615c4f565b61207783836131c0565b610e5e83826000613261565b600061208e826141a1565b5092915050565b6000610e0a826141f7565b6000806120ac836141a1565b915091505b915091565b6120be612652565b6001600160a01b0316336001600160a01b0316146120ee5760405162461bcd60e51b815260040161069690615c4f565b6106cb82826000613261565b6000610aa0613c54565b6000610e0a82614293565b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a72190612160907853796e746865746978427269646765546f4f7074696d69736d60381b90600401615aee565b60206040518083038186803b15801561217857600080fd5b505afa15801561218c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121b09190810190614d4e565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a721906121fe907453796e746865746978427269646765546f4261736560581b90600401615aee565b60206040518083038186803b15801561221657600080fd5b505afa15801561222a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061224e9190810190614d4e565b6002546040516321f8a72160e01b81529192506000916001600160a01b03909116906321f8a7219061228e9066119959541bdbdb60ca1b90600401615aee565b60206040518083038186803b1580156122a657600080fd5b505afa1580156122ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122de9190810190614d4e565b9050336001600160a01b03841614806122ff5750336001600160a01b038316145b806123125750336001600160a01b038216145b61232e5760405162461bcd60e51b815260040161069690615bef565b6000878152600560205260409020546001600160a01b03166123625760405162461bcd60e51b815260040161069690615c8f565b600085116123825760405162461bcd60e51b815260040161069690615d0f565b61238a612e78565b6001600160a01b0316631b16802c87896040518363ffffffff1660e01b81526004016123b7929190615a3f565b606060405180830381600087803b1580156123d157600080fd5b505af11580156123e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124099190810190615106565b50505060008781526005602052604090819020549051632770a7eb60e21b81526001600160a01b0390911690639dc29fac9061244b9089908990600401615a3f565b600060405180830381600087803b15801561246557600080fd5b505af1158015612479573d6000803e3d6000fd5b5050505060008061248989613fc3565b915091506124956128c9565b6001600160a01b03166342c7b8196124b6611cf08a8663ffffffff61404816565b6000036040518263ffffffff1660e01b8152600401611d119190615aee565b6124dd612652565b6001600160a01b0316336001600160a01b03161461250d5760405162461bcd60e51b815260040161069690615c4f565b610f598160006001612669565b60008061252684613b5e565b905080612537576000915050610e0a565b6125418184613be3565b509095945050505050565b612554612d8e565b826001600160a01b031663d4b839926040518163ffffffff1660e01b815260040160206040518083038186803b15801561258d57600080fd5b505afa1580156125a1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125c59190810190614d4e565b6001600160a01b0316639dc29fac83836040518363ffffffff1660e01b8152600401610edd929190615a3f565b60045490565b6000610e0a826142b2565b61260b612652565b6001600160a01b0316336001600160a01b03161461263b5760405162461bcd60e51b815260040161069690615c4f565b61264582826134f3565b6106cb8260006001612669565b6000610aa0680a6f2dce8d0cae8d2f60bb1b612f78565b61267161432b565b1561267b57610e5e565b60008061268785612f08565b935050509150612696816144f4565b826126c057818411156126bb5760405162461bcd60e51b815260040161069690615c2f565b6126c4565b8193505b6126ce8585614512565b6126d785612e8f565b631cd554d160e21b6000526005602052600080516020615f098339815191525460405163219e412d60e21b81526001600160a01b039091169063867904b4906127269088908890600401615a3f565b600060405180830381600087803b15801561274057600080fd5b505af1158015612754573d6000803e3d6000fd5b505050506127606128c9565b6001600160a01b03166342c7b81961277786614072565b6040518263ffffffff1660e01b81526004016118f69190615aee565b6002546040516321f8a72160e01b815260009182916001600160a01b03909116906321f8a721906127d7906b131959d858de53585c9ad95d60a21b90600401615aee565b60206040518083038186803b1580156127ef57600080fd5b505afa158015612803573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128279190810190614d4e565b6001600160a01b0316836001600160a01b0316141561284d5750600019905060006120b1565b60008061285f620a69cb60eb1b613fc3565b915091506000612877612871876141f7565b8461462e565b9050612891612884613c54565b829063ffffffff61404816565b94509092505050915091565b6000546001600160a01b031633146128c75760405162461bcd60e51b815260040161069690615cbf565b565b6000610aa06844656274436163686560b81b612f78565b6000818152600560205260409020546001600160a01b0316806129155760405162461bcd60e51b815260040161069690615c9f565b631cd554d160e21b82141561293c5760405162461bcd60e51b815260040161069690615cef565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561297757600080fd5b505afa15801561298b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129af9190810190614f79565b90508015612c31576000806129c26136b9565b6001600160a01b0316638295016a86856040518363ffffffff1660e01b81526004016129ef929190615b7b565b60606040518083038186803b158015612a0757600080fd5b505afa158015612a1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a3f9190810190615106565b509150915060008111612a645760405162461bcd60e51b815260040161069690615d5f565b6000612a6e614640565b631cd554d160e21b6000526005602052600080516020615f098339815191525460405163219e412d60e21b81529192506001600160a01b03169063867904b490612abe9084908790600401615a3f565b600060405180830381600087803b158015612ad857600080fd5b505af1158015612aec573d6000803e3d6000fd5b50505050612af86128c9565b6001600160a01b03166342c7b819612b0f85614072565b6040518263ffffffff1660e01b8152600401612b2b9190615aee565b600060405180830381600087803b158015612b4557600080fd5b505af1158015612b59573d6000803e3d6000fd5b50505050806001600160a01b0316633a70599c866001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015612ba557600080fd5b505afa158015612bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612bdd9190810190614ff5565b846040518363ffffffff1660e01b8152600401612bfb929190615bb0565b600060405180830381600087803b158015612c1557600080fd5b505af1158015612c29573d6000803e3d6000fd5b505050505050505b60005b600454811015612d1857826001600160a01b031660048281548110612c5557fe5b6000918252602090912001546001600160a01b03161415612d105760048181548110612c7d57fe5b600091825260209091200180546001600160a01b0319169055600480546000198101908110612ca857fe5b600091825260209091200154600480546001600160a01b039092169183908110612cce57fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556004805490612d0a906000198301614bbd565b50612d18565b600101612c34565b506001600160a01b038216600090815260066020908152604080832083905585835260059091529081902080546001600160a01b0319169055517f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d090612d819085908590615afc565b60405180910390a1505050565b612d96614640565b6001600160a01b0316336001600160a01b03161480612e5c57506002546040516321f8a72160e01b81526001600160a01b03909116906321f8a72190612df79073223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b90600401615aee565b60206040518083038186803b158015612e0f57600080fd5b505afa158015612e23573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e479190810190614d4e565b6001600160a01b0316336001600160a01b0316145b6128c75760405162461bcd60e51b815260040161069690615cff565b6000610aa06822bc31b430b733b2b960b91b612f78565b612e9761465b565b6001600160a01b0316631d5b277f6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b84604051602001612ed39291906159aa565b60405160208183030381529060405280519060200120426040518463ffffffff1660e01b815260040161199c93929190615b18565b600080600080612f27612f1a86613b5e565b631cd554d160e21b613be3565b91945092509050600080612f3a87612793565b915091508195508280612f4a5750805b9250858510612f5c5760009550612f6f565b612f6c868663ffffffff613cc116565b95505b50509193509193565b60008181526003602090815260408083205490516001600160a01b039091169182151591612fa8918691016159d0565b6040516020818303038152906040529061208e5760405162461bcd60e51b81526004016106969190615bbe565b6000806000806000856001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561301657600080fd5b505afa15801561302a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061304e9190810190615149565b939a9299509097509550909350915050565b60008060008061308c6109b3766578743a41676772656761746f7244656274526174696f60481b612f78565b50919650909450505050509091565b60006130b483836b033b2e3c9fd0803ce8000000614678565b9392505050565b60006130c561465b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401613115929190615b0a565b60206040518083038186803b15801561312d57600080fd5b505afa158015613141573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa09190810190614f79565b600061316f61465b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401613115929190615b0a565b6131c86146bc565b6001600160a01b0316637d3f0ba283836040518363ffffffff1660e01b81526004016131f5929190615a09565b60206040518083038186803b15801561320d57600080fd5b505afa158015613221573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132459190810190614f3d565b6106cb5760405162461bcd60e51b815260040161069690615bff565b61326961432b565b1561327357610e5e565b806133d05761328183614293565b61329d5760405162461bcd60e51b815260040161069690615d3f565b6000806132a8612e78565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b81526004016132dc929190615a3f565b606060405180830381600087803b1580156132f657600080fd5b505af115801561330a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061332e9190810190615106565b90935091505080156133cd57613342612e78565b6001600160a01b0316634c268fc886631cd554d160e21b87866040518563ffffffff1660e01b815260040161337a9493929190615a5a565b60206040518083038186803b15801561339257600080fd5b505afa1580156133a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133ca9190810190614f79565b93505b50505b6000806133df612f1a86613b5e565b92505091506000806133f087612793565b9150915061340583806134005750815b6144f4565b600084116134255760405162461bcd60e51b815260040161069690615c1f565b841561343e5761343b848363ffffffff613cc116565b95505b600061344c888989886146db565b90508261345f868363ffffffff613cc116565b116109595761346c613ce9565b6001600160a01b031663974e9e7f896040518263ffffffff1660e01b815260040161349791906159fb565b600060405180830381600087803b1580156134b157600080fd5b505af11580156134c5573d6000803e3d6000fd5b505050505050505050505050565b6000610aa07153796e74686574697844656274536861726560701b612f78565b6134fb6146bc565b6001600160a01b0316630487261783836040518363ffffffff1660e01b81526004016131f5929190615a09565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561356357600080fd5b505afa158015613577573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061359b9190810190614f79565b6000818152600560205260409020549091506001600160a01b0316156135d35760405162461bcd60e51b815260040161069690615d2f565b6001600160a01b038216600090815260066020526040902054156136095760405162461bcd60e51b815260040161069690615ccf565b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0384166001600160a01b03199182168117909255600083815260056020908152604080832080549094168517909355928152600690925290819020829055517f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c62884906136ad9083908590615afc565b60405180910390a15050565b6000610aa06c45786368616e6765526174657360981b612f78565b606080826136e35760006136e6565b60015b60ff1660048054905001604051908082528060200260200182016040528015613719578160200160208202803883390190505b50905060005b60045481101561378057600660006004838154811061373a57fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054825183908390811061376d57fe5b602090810291909101015260010161371f565b508215610e0a576004548151620a69cb60eb1b918391811061379e57fe5b60200260200101818152505092915050565b60008060008060006137c4612f1a88613b5e565b91935090915060009050806137de620a69cb60eb1b613fc3565b915091506137f283806134005750816144f4565b600088156139d057613802614808565b905061380c613ce9565b6001600160a01b031663f557f73c8661382d6138278e6141f7565b8761462e565b846040518463ffffffff1660e01b815260040161384c93929190615b18565b60206040518083038186803b15801561386457600080fd5b505afa158015613878573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061389c9190810190614f79565b96506139546139466139308373__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156138ec57600080fd5b505af4158015613900573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139249190810190614f79565b9063ffffffff61486916565b61393a8a8761488e565b9063ffffffff61404816565b61394f8c6148a0565b6148aa565b97506139c06139ba6139a48373__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156138ec57600080fd5b6139ae8b8761462e565b9063ffffffff6148c016565b886148aa565b9650600095506110169350505050565b6139d86148de565b905060006139ef6139e761493e565b613924614993565b90506000613a15613a0f83613a038f6141f7565b9063ffffffff613cc116565b8661462e565b9050613a1f613ce9565b6001600160a01b031663f557f73c8883866040518463ffffffff1660e01b8152600401613a4e93929190615b18565b60206040518083038186803b158015613a6657600080fd5b505afa158015613a7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a9e9190810190614f79565b98506000613af7613aed8573__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156138ec57600080fd5b61393a8c8961488e565b9050613b028d6141f7565b613b12828563ffffffff61486916565b10613b4157879950613b2783613a038f6141f7565b9a50613b328d6149ed565b98506110169650505050505050565b613b4c8d82856149f7565b909b5098506110169650505050505050565b6000613b686134d3565b6001600160a01b03166370a08231836040518263ffffffff1660e01b8152600401613b9391906159fb565b60206040518083038186803b158015613bab57600080fd5b505afa158015613bbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e0a9190810190614f79565b6000806000806000613bf361097f565b92505091508660001415613c0f57600094509092509050613c4d565b600080613c1b88613fc3565b91509150613c3882613c2c8b614a52565b9063ffffffff613cac16565b96508395508080613c465750825b9450505050505b9250925092565b6000613c5e61465b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401613115929190615b0a565b60006130b48383670de0b6b3a7640000614678565b600082821115613ce35760405162461bcd60e51b815260040161069690615c3f565b50900390565b6000610aa0692634b8bab4b230ba37b960b11b612f78565b613d09614a70565b6001600160a01b031663270fb338846040518263ffffffff1660e01b8152600401613d3491906159fb565b600060405180830381600087803b158015613d4e57600080fd5b505af1158015613d62573d6000803e3d6000fd5b505050506000613d706134d3565b90506000613d7d85613b5e565b905082841415613db557604051631a378f0d60e01b81526001600160a01b03831690631a378f0d906117df9088908590600401615a3f565b6000613dc085614a8f565b9050826001600160a01b0316631a378f0d87848410613ddf5784613de1565b835b6040518363ffffffff1660e01b8152600401613dfe929190615a3f565b600060405180830381600087803b158015613e1857600080fd5b505af1158015613e2c573d6000803e3d6000fd5b50505050505050505050565b6000806000806000613e486128c9565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015613e8057600080fd5b505afa158015613e94573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613eb891908101906150b1565b935093505092508180613ec85750805b935085613f6e57600080613eda6128c9565b6001600160a01b0316632992dba26040518163ffffffff1660e01b8152600401604080518083038186803b158015613f1157600080fd5b505afa158015613f25573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f49919081019061504f565b9092509050613f5e858363ffffffff61486916565b94508580613f695750805b955050505b631cd554d160e21b871415613f885750909250613fbc9050565b600080613f9489613fc3565b9092509050613fa9858363ffffffff613cac16565b8680613fb25750815b9650965050505050505b9250929050565b600080613fce6136b9565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401613ff99190615aee565b604080518083038186803b15801561401057600080fd5b505afa158015614024573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ac919081019061504f565b6000670de0b6b3a7640000614063848463ffffffff614ac116565b8161406a57fe5b049392505050565b6000600160ff1b82106140975760405162461bcd60e51b815260040161069690615d4f565b5090565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106140dd57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561411c578160200160208202803883390190505b50905060005b835181101561415e5783818151811061413757fe5b602002602001015182828151811061414b57fe5b6020908102919091010152600101614122565b5060005b825181101561208e5782818151811061417757fe5b602002602001015182828651018151811061418e57fe5b6020908102919091010152600101614162565b60008060006141af846141f7565b90506000806141c061103d87613b5e565b925050915082600014156141dc576000945092506120b1915050565b6141ec828463ffffffff613cac16565b945092505050915091565b6000610e0a614204614a70565b6001600160a01b0316628cc262846040518263ffffffff1660e01b815260040161422e91906159fb565b60206040518083038186803b15801561424657600080fd5b505afa15801561425a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061427e9190810190614f79565b61392461428a856149ed565b613924866148a0565b60006142a96142a0613165565b613924846142b2565b42101592915050565b60006142bc61465b565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b856040516020016142f89291906159aa565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401613b93929190615b0a565b600080614351766578743a41676772656761746f7244656274526174696f60481b612f78565b90506000816001600160a01b031663feaf968c6040518163ffffffff1660e01b815260040160a06040518083038186803b15801561438e57600080fd5b505afa1580156143a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143c69190810190615149565b50505091505060006143d66136b9565b6001600160a01b031663045056f8620a69cb60eb1b6040518263ffffffff1660e01b81526004016144079190615aee565b606060405180830381600087803b15801561442157600080fd5b505af1158015614435573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614459919081019061506e565b50915050614465614afb565b6001600160a01b031663413caeb584846040518363ffffffff1660e01b8152600401614492929190615a3f565b602060405180830381600087803b1580156144ac57600080fd5b505af11580156144c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144e49190810190614f3d565b806144ec5750805b935050505090565b8015610f595760405162461bcd60e51b815260040161069690615c7f565b61451a614a70565b6001600160a01b031663270fb338836040518263ffffffff1660e01b815260040161454591906159fb565b600060405180830381600087803b15801561455f57600080fd5b505af1158015614573573d6000803e3d6000fd5b5050505060006145816134d3565b9050600061458e83614a8f565b9050806145fa57604051636178258560e11b81526001600160a01b0383169063c2f04b0a906145c39087908790600401615a3f565b600060405180830381600087803b1580156145dd57600080fd5b505af11580156145f1573d6000803e3d6000fd5b50505050614628565b604051636178258560e11b81526001600160a01b0383169063c2f04b0a9061092b9087908590600401615a3f565b50505050565b60006130b4838363ffffffff614b1716565b6000610aa06c29bcb73a342932b232b2b6b2b960991b612f78565b6000610aa06e466c657869626c6553746f7261676560881b612f78565b60008061469e8461469287600a870263ffffffff614ac116565b9063ffffffff614b2c16565b90506005600a825b06106146b057600a015b600a9004949350505050565b6000610aa07044656c6567617465417070726f76616c7360781b612f78565b60006146e561432b565b156146f257506000614800565b8282106146ff5782614701565b815b905061470e858284613d01565b631cd554d160e21b6000526005602052600080516020615f0983398151915254604051632770a7eb60e21b81526001600160a01b0390911690639dc29fac9061475d9087908590600401615a3f565b600060405180830381600087803b15801561477757600080fd5b505af115801561478b573d6000803e3d6000fd5b505050506147976128c9565b6001600160a01b03166342c7b8196147ae83614072565b6000036040518263ffffffff1660e01b81526004016147cd9190615aee565b600060405180830381600087803b1580156147e757600080fd5b505af11580156147fb573d6000803e3d6000fd5b505050505b949350505050565b600061481261465b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401613115929190615b0a565b6000828201838110156130b45760405162461bcd60e51b815260040161069690615c0f565b60006130b4838363ffffffff613cac16565b6000613b68612652565b60008183106148b957816130b4565b5090919050565b60006130b48261469285670de0b6b3a764000063ffffffff614ac116565b60006148e861465b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b8152600401613115929190615b0a565b600061494861465b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401613115929190615b0a565b600061499d61465b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401613115929190615b0a565b6000613b68614b61565b6000806000614a05866148a0565b905080614a18868663ffffffff61486916565b11614a2a575083915060009050614a4a565b614a3e81613a03878763ffffffff61486916565b8593509150614a4a9050565b935093915050565b600080614a5d613060565b5090506130b4838263ffffffff614b7d16565b6000610aa0704c697175696461746f725265776172647360781b612f78565b600080614a9a613060565b5090508015614ab857614ab3838263ffffffff61309b16565b6130b4565b50600092915050565b600082614ad057506000610e0a565b82820282848281614add57fe5b04146130b45760405162461bcd60e51b815260040161069690615cdf565b6000610aa06d21b4b931bab4ba213932b0b5b2b960911b612f78565b60006130b48383670de0b6b3a7640000614b92565b6000808211614b4d5760405162461bcd60e51b815260040161069690615c5f565b6000828481614b5857fe5b04949350505050565b6000610aa06d2932bbb0b93222b9b1b937bbab1960911b612f78565b60006130b483836b033b2e3c9fd0803ce80000005b600080600a8304614ba9868663ffffffff614ac116565b81614bb057fe5b0490506005600a826146a6565b815481835581811115610e5e57600083815260209020610e5e918101908301610aa391905b808211156140975760008155600101614be2565b8035610e0a81615ec7565b8051610e0a81615ec7565b60008083601f840112614c1e57600080fd5b50813567ffffffffffffffff811115614c3657600080fd5b602083019150836020820283011115613fbc57600080fd5b600082601f830112614c5f57600080fd5b8151614c72614c6d82615de8565b615dc1565b91508181835260208401935060208101905083856020840282011115614c9757600080fd5b60005b83811015614cc35781614cad8882614cee565b8452506020928301929190910190600101614c9a565b5050505092915050565b8035610e0a81615edb565b8051610e0a81615edb565b8035610e0a81615ee4565b8051610e0a81615ee4565b8035610e0a81615eed565b8051610e0a81615eed565b8035610e0a81615ef6565b8051610e0a81615ef6565b8051610e0a81615eff565b600060208284031215614d4257600080fd5b60006148008484614bf6565b600060208284031215614d6057600080fd5b60006148008484614c01565b60008060408385031215614d7f57600080fd5b6000614d8b8585614bf6565b9250506020614d9c85828601614bf6565b9150509250929050565b600080600060608486031215614dbb57600080fd5b6000614dc78686614bf6565b9350506020614dd886828701614bf6565b9250506040614de986828701614ce3565b9150509250925092565b60008060408385031215614e0657600080fd5b6000614e128585614bf6565b9250506020614d9c85828601614ccd565b60008060408385031215614e3657600080fd5b6000614e428585614bf6565b9250506020614d9c85828601614ce3565b60008060008060808587031215614e6957600080fd5b6000614e758787614bf6565b9450506020614e8687828801614ce3565b9350506040614e9787828801614ce3565b9250506060614ea887828801614ce3565b91505092959194509250565b60008060208385031215614ec757600080fd5b823567ffffffffffffffff811115614ede57600080fd5b614eea85828601614c0c565b92509250509250929050565b60008060408385031215614f0957600080fd5b825167ffffffffffffffff811115614f2057600080fd5b614f2c85828601614c4e565b9250506020614d9c85828601614cd8565b600060208284031215614f4f57600080fd5b60006148008484614cd8565b600060208284031215614f6d57600080fd5b60006148008484614ce3565b600060208284031215614f8b57600080fd5b60006148008484614cee565b600080600060608486031215614fac57600080fd5b6000614dc78686614ce3565b60008060408385031215614fcb57600080fd5b6000614e128585614ce3565b600060208284031215614fe957600080fd5b60006148008484614cf9565b60006020828403121561500757600080fd5b60006148008484614d04565b60006020828403121561502557600080fd5b60006148008484614d0f565b60006020828403121561504357600080fd5b60006148008484614d1a565b6000806040838503121561506257600080fd5b6000614f2c8585614cee565b60008060006060848603121561508357600080fd5b600061508f8686614cee565b93505060206150a086828701614cd8565b9250506040614de986828701614cd8565b600080600080608085870312156150c757600080fd5b60006150d38787614cee565b94505060206150e487828801614cee565b93505060406150f587828801614cd8565b9250506060614ea887828801614cd8565b60008060006060848603121561511b57600080fd5b60006151278686614cee565b935050602061513886828701614cee565b9250506040614de986828701614cee565b600080600080600060a0868803121561516157600080fd5b600061516d8888614d25565b955050602061517e88828901614cee565b945050604061518f88828901614cee565b93505060606151a088828901614cee565b92505060806151b188828901614d25565b9150509295509295909350565b60006151ca8383615335565b505060200190565b60006151ca838361534f565b6151e781615e21565b82525050565b6151e76151f982615e21565b615ea6565b600061520a8385615e13565b93506001600160fb1b0383111561522057600080fd5b602083029250615231838584615e6e565b50500190565b600061524282615e0f565b61524c8185615e13565b935061525783615e09565b8060005b8381101561528557815161526f88826151be565b975061527a83615e09565b92505060010161525b565b509495945050505050565b600061529b82615e0f565b6152a58185615e13565b93506152b083615e09565b8060005b838110156152855781516152c888826151d2565b97506152d383615e09565b9250506001016152b4565b60006152e982615e0f565b6152f38185615e13565b93506152fe83615e09565b8060005b8381101561528557815161531688826151be565b975061532183615e09565b925050600101615302565b6151e781615e2c565b6151e781610aa3565b6151e761534a82610aa3565b610aa3565b6151e781615e31565b6151e781615e63565b600061536c82615e0f565b6153768185615e13565b9350615386818560208601615e7a565b61538f81615eb7565b9093019392505050565b60006153a6601883615e13565b7f6f6e65206d69677261746f72206d757374206265203078300000000000000000815260200192915050565b60006153df603583615e13565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615436601483615e13565b736f6e6c792074727573746564206d696e7465727360601b815260200192915050565b6000615466601d83615e13565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b600061549f601b83615e13565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006154d8601283615e13565b714e6f206465627420746f20666f726769766560701b815260200192915050565b6000615506601083615e13565b6f416d6f756e7420746f6f206c6172676560801b815260200192915050565b6000615532601e83615e13565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061556b600e83615e13565b6d09edcd8f240a6f2dce8d0cae8d2f60931b815260200192915050565b6000615595601a83615e13565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006155ce601183615e1c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006155fb601083615e13565b6f135d5cdd08189948199959481c1bdbdb60821b815260200192915050565b6000615627601e83615e13565b7f412073796e7468206f7220534e58207261746520697320696e76616c69640000815260200192915050565b6000615660601383615e13565b721cde5b9d1a08191bd95cdb89dd08195e1a5cdd606a1b815260200192915050565b600061568f601483615e13565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b60006156bf601883615e13565b7f4e6f74206f70656e20666f72206c69717569646174696f6e0000000000000000815260200192915050565b60006156f8602f83615e13565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000615755601c83615e13565b7f53796e7468206164647265737320616c72656164792065786973747300000000815260200192915050565b600061578e602183615e13565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006157d1601383615e13565b72086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b815260200192915050565b6000615800601283615e13565b7127b7363c9029bcb73a342932b232b2b6b2b960711b815260200192915050565b600061582e601583615e13565b7463616e6e6f7420697373756520302073796e74687360581b815260200192915050565b600061585f601983615e1c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615898601683615e13565b756f6e6c792074727573746564206d69677261746f727360501b815260200192915050565b60006158ca600c83615e13565b6b53796e74682065786973747360a01b815260200192915050565b60006158f2601e83615e13565b7f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000815260200192915050565b600061592b602883615e13565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b6000615975601a83615e13565b7f43616e6e6f742072656d6f766520776974686f75742072617465000000000000815260200192915050565b6151e781615e3c565b60006159b6828561533e565b6020820191506159c682846151ed565b5060140192915050565b60006159db826155c1565b91506159e7828461533e565b50602001919050565b60006159db82615852565b60208101610e0a82846151de565b60408101615a1782856151de565b6130b460208301846151de565b60408101615a3282856151de565b6130b4602083018461532c565b60408101615a4d82856151de565b6130b46020830184615335565b60808101615a6882876151de565b615a756020830186615335565b615a826040830185615335565b615a8f6060830184615335565b95945050505050565b60408082528101615aaa8185876151fe565b90508181036020830152615a8f81846152de565b602080825281016130b48184615237565b602080825281016130b48184615290565b60208101610e0a828461532c565b60208101610e0a8284615335565b60408101615a178285615335565b60408101615a4d8285615335565b60608101615b268286615335565b615b336020830185615335565b6148006040830184615335565b60408101615b4e8285615335565b6130b46020830184615358565b60408101615b698285615335565b81810360208301526148008184615361565b60608101615b898285615335565b615b966020830184615335565b6130b46040830161573c565b60208101610e0a828461534f565b60408101615a4d828561534f565b602080825281016130b48184615361565b60208082528101610e0a81615399565b60208082528101610e0a816153d2565b60208082528101610e0a81615429565b60208082528101610e0a81615459565b60208082528101610e0a81615492565b60208082528101610e0a816154cb565b60208082528101610e0a816154f9565b60208082528101610e0a81615525565b60208082528101610e0a8161555e565b60208082528101610e0a81615588565b60208082528101610e0a816155ee565b60208082528101610e0a8161561a565b60208082528101610e0a81615653565b60208082528101610e0a81615682565b60208082528101610e0a816156b2565b60208082528101610e0a816156eb565b60208082528101610e0a81615748565b60208082528101610e0a81615781565b60208082528101610e0a816157c4565b60208082528101610e0a816157f3565b60208082528101610e0a81615821565b60208082528101610e0a8161588b565b60208082528101610e0a816158bd565b60208082528101610e0a816158e5565b60208082528101610e0a8161591e565b60208082528101610e0a81615968565b60208101610e0a82846159a1565b60408101615a328285615335565b60608101615d998286615335565b615da66020830185615335565b614800604083018461532c565b60808101615a688287615335565b60405181810167ffffffffffffffff81118282101715615de057600080fd5b604052919050565b600067ffffffffffffffff821115615dff57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000610e0a82615e48565b151590565b6000610e0a82615e21565b6001600160801b031690565b6001600160a01b031690565b69ffffffffffffffffffff1690565b6000610e0a82610aa3565b82818337506000910152565b60005b83811015615e95578181015183820152602001615e7d565b838111156146285750506000910152565b6000610e0a826000610e0a82615ec1565b601f01601f191690565b60601b90565b615ed081615e21565b8114610f5957600080fd5b615ed081615e2c565b615ed081610aa3565b615ed081615e31565b615ed081615e3c565b615ed081615e5456fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a72315820fa7e5ff70c3f6ee753009897da4fddf5c15e30f0b09c76585842af569245d7596c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "SynthAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "SynthRemoved",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynth",
							"name": "synth",
							"type": "address"
						}
					],
					"name": "addSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract ISynth[]",
							"name": "synthsToAdd",
							"type": "address[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allNetworksDebtInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "sharesSupply",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anySynthOrSNXRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableSynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availableSynths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountInsUSD",
							"type": "uint256"
						}
					],
					"name": "burnAndIssueSynthsWithoutDebtCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "deprecatedSynthProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "burnForRedemption",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnSynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnSynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnSynthsWithoutDebt",
					"outputs": [
						{
							"internalType": "bool",
							"name": "rateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnSynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getSynths",
					"outputs": [
						{
							"internalType": "contract ISynth[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issueSynthsWithoutDebt",
					"outputs": [
						{
							"internalType": "bool",
							"name": "rateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "lastIssueEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isSelfLiquidation",
							"type": "bool"
						}
					],
					"name": "liquidateAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtRemoved",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "escrowToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isSelfLiquidation",
							"type": "bool"
						}
					],
					"name": "liquidationAmounts",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtToRemove",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "escrowToLiquidate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "maxIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "modifyDebtSharesForMigration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removeSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint128",
							"name": "periodId",
							"type": "uint128"
						}
					],
					"name": "setCurrentPeriodId",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "contract ISynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "synthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeOtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferableSynthetixAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x01c9073479a323531592b4a418de497b073561b5ec28d2471093911debe3397e",
				"urls": [
					"bzz-raw://0484446b828045162a1bf1a8602ba0d041f971eba294b142e8b7428539120491",
					"dweb:/ipfs/QmdFSSD2Gi7nX3vfYxK91Ckn4DyRLte6dnDciEWqTQQCmT"
				]
			},
			"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": "0x01c9073479a323531592b4a418de497b073561b5ec28d2471093911debe3397e",
						"urls": [
							"bzz-raw://0484446b828045162a1bf1a8602ba0d041f971eba294b142e8b7428539120491",
							"dweb:/ipfs/QmdFSSD2Gi7nX3vfYxK91Ckn4DyRLte6dnDciEWqTQQCmT"
						]
					}
				},
				"version": 1
			}
		},
		"MultiCollateralSynth": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200337d3803806200337d83398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b03811662000232576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002dd576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600480546001600160a01b0319166001600160a01b03881617905584516200035f90600590602088019062000464565b5083516200037590600690602087019062000464565b50506007919091556008805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003fa576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b0384166200044b576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600a5550620005099b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004a757805160ff1916838001178555620004d7565b82800160010185558215620004d7579182015b82811115620004d7578251825591602001919060010190620004ba565b50620004e5929150620004e9565b5090565b6200050691905b80821115620004e55760008155600101620004f0565b90565b612e6480620005196000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80638da5cb5b1161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146105cb578063eb1edd61146105d3578063ec556889146105db578063f7ea7a3d146105e3578063ffff51d614610600576101fb565b8063d67bdd2514610557578063dbd06c851461055f578063dd62ed3e14610567578063e73cced314610595576101fb565b80639f769807116100e95780639f769807146104b3578063a9059cbb146104d9578063b014c3a314610505578063bc67f83214610531576101fb565b80638da5cb5b1461045157806395d89b411461045957806397107d6d146104615780639dc29fac14610487576101fb565b8063313ce56711610192578063741853601161016157806374185360146103bd57806379ba5097146103c5578063867904b4146103cd578063899ffef4146103f9576101fb565b8063313ce5671461037f57806353a47bb714610387578063614d08f81461038f57806370a0823114610397576101fb565b806318160ddd116101ce57806318160ddd1461030957806323b872dd146103235780632af64bd3146103595780632e0f262514610361576101fb565b806304f3bcec1461020057806306fdde0314610224578063095ea7b3146102a15780631627540c146102e1575b600080fd5b610208610626565b604080516001600160a01b039092168252519081900360200190f35b61022c61063a565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561026657818101518382015260200161024e565b50505050905090810190601f1680156102935780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102cd600480360360408110156102b757600080fd5b506001600160a01b0381351690602001356106c8565b604080519115158252519081900360200190f35b610307600480360360208110156102f757600080fd5b50356001600160a01b0316610765565b005b6103116107c1565b60408051918252519081900360200190f35b6102cd6004803603606081101561033957600080fd5b506001600160a01b038135811691602081013590911690604001356107c7565b6102cd6107ee565b610369610900565b6040805160ff9092168252519081900360200190f35b610369610905565b61020861090e565b61031161091d565b610311600480360360208110156103ad57600080fd5b50356001600160a01b0316610938565b6103076109bf565b610307610b9c565b610307600480360360408110156103e357600080fd5b506001600160a01b038135169060200135610c58565b610401610cbc565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043d578181015183820152602001610425565b505050509050019250505060405180910390f35b610208610d80565b61022c610d8f565b6103076004803603602081101561047757600080fd5b50356001600160a01b0316610dea565b6103076004803603604081101561049d57600080fd5b506001600160a01b038135169060200135610e46565b610307600480360360208110156104c957600080fd5b50356001600160a01b0316610eaf565b6102cd600480360360408110156104ef57600080fd5b506001600160a01b038135169060200135610ede565b6102cd6004803603604081101561051b57600080fd5b506001600160a01b038135169060200135610f76565b6103076004803603602081101561054757600080fd5b50356001600160a01b03166110cd565b6102086110f7565b610311611106565b6103116004803603604081101561057d57600080fd5b506001600160a01b038135811691602001351661110c565b6102cd600480360360608110156105ab57600080fd5b506001600160a01b0381358116916020810135909116906040013561119a565b6102086112ee565b6102086112fd565b610208611315565b610307600480360360208110156105f957600080fd5b5035611324565b6103116004803603602081101561061657600080fd5b50356001600160a01b0316611331565b60085461010090046001600160a01b031681565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106c05780601f10610695576101008083540402835291602001916106c0565b820191906000526020600020905b8154815290600101906020018083116106a357829003601f168201915b505050505081565b60006106d2611478565b6003546004805460408051633691826360e21b81526001600160a01b03948516938101849052878516602482015260448101879052905192939091169163da46098c9160648082019260009290919082900301818387803b15801561073657600080fd5b505af115801561074a573d6000803e3d6000fd5b505050506107598185856114b8565b60019150505b92915050565b61076d6115f1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60075481565b60006107d161163a565b6107db84836116be565b6107e684848461183d565b949350505050565b600060606107fa610cbc565b905060005b81518110156108f657600082828151811061081657fe5b6020908102919091018101516000818152600983526040908190205460085482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b15801561088557600080fd5b505afa158015610899573d6000803e3d6000fd5b505050506040513d60208110156108af57600080fd5b50516001600160a01b03161415806108dc57506000818152600960205260409020546001600160a01b0316155b156108ed57600093505050506108fd565b506001016107ff565b5060019150505b90565b601281565b60085460ff1681565b6001546001600160a01b031681565b7309aead8e8d286ded8d8c2e8cae4c2d8a6f2dce8d60631b81565b60048054604080516370a0823160e01b81526001600160a01b03858116948201949094529051600093909216916370a0823191602480820192602092909190829003018186803b15801561098b57600080fd5b505afa15801561099f573d6000803e3d6000fd5b505050506040513d60208110156109b557600080fd5b505190505b919050565b60606109c9610cbc565b905060005b8151811015610b985760008282815181106109e557fe5b602002602001015190506000600860019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610ab0578181015183820152602001610a98565b50505050905090810190601f168015610add5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610afb57600080fd5b505afa158015610b0f573d6000803e3d6000fd5b505050506040513d6020811015610b2557600080fd5b505160008381526009602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109ce565b5050565b6001546001600160a01b03163314610be55760405162461bcd60e51b8152600401808060200182810382526035815260200180612d366035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610c61336119ff565b610cb2576040805162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f77656400604482015290519081900360640190fd5b610b988282611b52565b606080610cc7611c7e565b60408051600380825260808201909252919250606091906020820183803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610d0f57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600181518110610d3857fe5b6020026020010181815250506d57726170706572466163746f727960901b81600281518110610d6357fe5b602002602001018181525050610d798282611d6b565b9250505090565b6000546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106c05780601f10610695576101008083540402835291602001916106c0565b610df26115f1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b610e4f336119ff565b610ea0576040805162461bcd60e51b815260206004820152601f60248201527f4f6e6c7920696e7465726e616c20636f6e74726163747320616c6c6f77656400604482015290519081900360640190fd5b610eaa8282611e27565b505050565b610eb7611f26565b600480546001600160a01b0319166001600160a01b038316179055610edb81611fbf565b50565b6000610ee861163a565b600354610efe906001600160a01b0316836116be565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef1415610f3457610f2d8383612105565b905061075f565b6001600160a01b038316610f5857600354610f2d906001600160a01b031683611e27565b600354610f6f906001600160a01b03168484612282565b9392505050565b6000610f8061163a565b6000610f8a6124b3565b600354600a54604080516306c5a00b60e21b81526001600160a01b0393841660048201526024810192909252519290911691631b16802c916044808201926060929091908290030181600087803b158015610fe457600080fd5b505af1158015610ff8573d6000803e3d6000fd5b505050506040513d606081101561100e57600080fd5b5060400151905082811561109b5760048054600354604080516370a0823160e01b81526001600160a01b0392831694810194909452519116916370a08231916024808301926020929190829003018186803b15801561106c57600080fd5b505afa158015611080573d6000803e3d6000fd5b505050506040513d602081101561109657600080fd5b505190505b8084116110a857836110aa565b805b6003549094506110c4906001600160a01b03168686612282565b95945050505050565b6110d56124cf565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6003546001600160a01b031681565b600a5481565b6004805460408051636eb1769f60e11b81526001600160a01b0386811694820194909452848416602482015290516000939092169163dd62ed3e91604480820192602092909190829003018186803b15801561116757600080fd5b505afa15801561117b573d6000803e3d6000fd5b505050506040513d602081101561119157600080fd5b50519392505050565b60006111a461163a565b60006111ae6124b3565b6001600160a01b0316631b16802c86600a546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561120f57600080fd5b505af1158015611223573d6000803e3d6000fd5b505050506040513d606081101561123957600080fd5b506040015190508281156112c75760048054604080516370a0823160e01b81526001600160a01b038a811694820194909452905192909116916370a0823191602480820192602092909190829003018186803b15801561129857600080fd5b505afa1580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b505190505b808410156112d557836112d7565b805b93506112e486868661183d565b9695505050505050565b6004546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b61132c611f26565b600755565b60008061133c6124b3565b6001600160a01b03166319d5c66584600a546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561139b57600080fd5b505afa1580156113af573d6000803e3d6000fd5b505050506040513d60608110156113c557600080fd5b505160048054604080516370a0823160e01b81526001600160a01b0388811694820194909452905193945060009392909116916370a0823191602480820192602092909190829003018186803b15801561141e57600080fd5b505afa158015611432573d6000803e3d6000fd5b505050506040513d602081101561144857600080fd5b505190508082111561145f576000925050506109ba565b61146f818363ffffffff61252816565b925050506109ba565b6002546001600160a01b0316331480159061149e57506003546001600160a01b03163314155b156114b657600380546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612dc982396021019050604051809103902061150b88612585565b61151488612585565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561158357818101518382015260200161156b565b50505050905090810190601f1680156115b05780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156115d457600080fd5b505af11580156115e8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146114b65760405162461bcd60e51b815260040180806020018281038252602f815260200180612d9a602f913960400191505060405180910390fd5b6002546001600160a01b0316331415611652576114b6565b61165b33612591565b1561167757600380546001600160a01b031916331790556114b6565b6040805162461bcd60e51b815260206004820152601760248201527613db9b1e481d1a19481c1c9bde1e4818d85b8818d85b1b604a1b604482015290519081900360640190fd5b6116c66124b3565b6001600160a01b031663059c29ec83600a546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561172557600080fd5b505afa158015611739573d6000803e3d6000fd5b505050506040513d602081101561174f57600080fd5b50511561178d5760405162461bcd60e51b8152600401808060200182810382526025815260200180612dea6025913960400191505060405180910390fd5b8061179783611331565b10156117d45760405162461bcd60e51b815260040180806020018281038252602f815260200180612d6b602f913960400191505060405180910390fd5b6117dc6128d9565b6001600160a01b03166342a28e21600a546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561182157600080fd5b505afa158015611835573d6000803e3d6000fd5b505050505050565b6004805460035460408051636eb1769f60e11b81526001600160a01b038881169582019590955291841660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561189b57600080fd5b505afa1580156118af573d6000803e3d6000fd5b505050506040513d60208110156118c557600080fd5b5051146119f4576004805460035460408051636eb1769f60e11b81526001600160a01b0389811695820195909552918416602483018190529051939092169263da46098c9288929091611973918891879163dd62ed3e916044808301926020929190829003018186803b15801561193b57600080fd5b505afa15801561194f573d6000803e3d6000fd5b505050506040513d602081101561196557600080fd5b50519063ffffffff61252816565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b1580156119db57600080fd5b505af11580156119ef573d6000803e3d6000fd5b505050505b6107e6848484612282565b6000611a0a826128f3565b80611a9a5750611a18612965565b6001600160a01b031663b38988f7836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611a6d57600080fd5b505afa158015611a81573d6000803e3d6000fd5b505050506040513d6020811015611a9757600080fd5b50515b80611b2a5750611aa8612984565b6001600160a01b031663e0aa2797836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611afd57600080fd5b505afa158015611b11573d6000803e3d6000fd5b505050506040513d6020811015611b2757600080fd5b50515b8061075f5750611b386129a0565b6001600160a01b0316826001600160a01b03161492915050565b60048054604080516370a0823160e01b81526001600160a01b03868116948201949094529051929091169163b46310f6918591611bea91869186916370a08231916024808301926020929190829003018186803b158015611bb257600080fd5b505afa158015611bc6573d6000803e3d6000fd5b505050506040513d6020811015611bdc57600080fd5b50519063ffffffff6129ba16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611c3957600080fd5b505af1158015611c4d573d6000803e3d6000fd5b5050600754611c65925090508263ffffffff6129ba16565b600755611c7460008383612a14565b610b988282612a67565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b81600081518110611cbe57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611ce457fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611d0757fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611d2b57fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600481518110611d5c57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611d9b578160200160208202803883390190505b50905060005b8351811015611ddd57838181518110611db657fe5b6020026020010151828281518110611dca57fe5b6020908102919091010152600101611da1565b5060005b8251811015611e2057828181518110611df657fe5b6020026020010151828286510181518110611e0d57fe5b6020908102919091010152600101611de1565b5092915050565b60048054604080516370a0823160e01b81526001600160a01b038681169482019490945290516000939092169163b46310f6918691611e8991879186916370a08231916024808301926020929190829003018186803b15801561193b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611ed857600080fd5b505af1158015611eec573d6000803e3d6000fd5b5050600754611f04925090508363ffffffff61252816565b600755611f1383600084612a14565b611f1d8383612ba8565b50600192915050565b6002546001600160a01b03163314801590611f4c57506003546001600160a01b03163314155b15611f6457600380546001600160a01b031916331790555b6000546003546001600160a01b039081169116146114b6576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015612099578181015183820152602001612081565b50505050905090810190601f1680156120c65780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156120ea57600080fd5b505af11580156120fe573d6000803e3d6000fd5b5050505050565b600080600a54631cd554d160e21b141561213957506003548290612133906001600160a01b03168583612282565b50612213565b6121416124b3565b600354600a54604080516327c319e960e11b81526001600160a01b03938416600482018190526024820152604481019290925260648201879052631cd554d160e21b608483015273feefeefeefeefeefeefeefeefeefeefeefeefeef60a4830152600060c4830181905260e48301819052610104830181905281519490931693634f8633d293610124808501948390030190829087803b1580156121e457600080fd5b505af11580156121f8573d6000803e3d6000fd5b505050506040513d604081101561220e57600080fd5b505190505b61221b612c11565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561226057600080fd5b505af1158015612274573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906122a557506001600160a01b0383163014155b80156122bf57506002546001600160a01b03848116911614155b612310576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b60048054604080516370a0823160e01b81526001600160a01b03888116948201949094529051929091169163b46310f691879161237091879186916370a08231916024808301926020929190829003018186803b15801561193b57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156123bf57600080fd5b505af11580156123d3573d6000803e3d6000fd5b505060048054604080516370a0823160e01b81526001600160a01b0389811694820194909452905192909116935063b46310f69250869161243791879186916370a08231916024808301926020929190829003018186803b158015611bb257600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561248657600080fd5b505af115801561249a573d6000803e3d6000fd5b505050506124a9848484612a14565b5060019392505050565b60006124ca6822bc31b430b733b2b960b91b612c22565b905090565b6002546001600160a01b031633146114b6576040805162461bcd60e51b815260206004820152601760248201527613db9b1e481d1a19481c1c9bde1e4818d85b8818d85b1b604a1b604482015290519081900360640190fd5b60008282111561257f576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b600854604080516321f8a72160e01b81526e10dbdb1b185d195c985b14da1bdc9d608a1b6004820152905160009261010090046001600160a01b0316916321f8a721916024808301926020929190829003018186803b1580156125f357600080fd5b505afa158015612607573d6000803e3d6000fd5b505050506040513d602081101561261d57600080fd5b50516001600160a01b03838116911614806126d75750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b815260040180806c29bcb73a342932b232b2b6b2b960991b815250602001905060206040518083038186803b15801561269c57600080fd5b505afa1580156126b0573d6000803e3d6000fd5b505050506040513d60208110156126c657600080fd5b50516001600160a01b038381169116145b806127825750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b815260040180806d57726170706572466163746f727960901b815250602001905060206040518083038186803b15801561274757600080fd5b505afa15801561275b573d6000803e3d6000fd5b505050506040513d602081101561277157600080fd5b50516001600160a01b038381169116145b806128315750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b81526004018080712730ba34bb32a2ba3432b92bb930b83832b960711b815250602001905060206040518083038186803b1580156127f657600080fd5b505afa15801561280a573d6000803e3d6000fd5b505050506040513d602081101561282057600080fd5b50516001600160a01b038381169116145b8061075f5750600860019054906101000a90046001600160a01b03166001600160a01b03166321f8a7216040518163ffffffff1660e01b815260040180806411195c1bdd60da1b815250602001905060206040518083038186803b15801561289857600080fd5b505afa1580156128ac573d6000803e3d6000fd5b505050506040513d60208110156128c257600080fd5b50516001600160a01b038381169116149050919050565b60006124ca6b53797374656d53746174757360a01b612c22565b60006128fd612c11565b6001600160a01b0316826001600160a01b03161480612934575061291f6124b3565b6001600160a01b0316826001600160a01b0316145b806129575750612942612cff565b6001600160a01b0316826001600160a01b0316145b8061075f5750611b38612d13565b60006124ca7021b7b63630ba32b930b626b0b730b3b2b960791b612c22565b60006124ca6d57726170706572466163746f727960901b612c22565b60006124ca6b22ba3432b92bb930b83832b960a11b612c22565b600082820183811015610f6f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612e0f82396021019050604051809103902061150b88612585565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612ad087612585565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612b43578181015183820152602001612b2b565b50505050905090810190601f168015612b705780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612b9457600080fd5b505af1158015611835573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612ad087612585565b60006124ca66119959541bdbdb60ca1b5b600081815260096020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611e205760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612cc4578181015183820152602001612cac565b50505050905090810190601f168015612cf15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006124ca6524b9b9bab2b960d11b612c22565b60006124ca73233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b612c2256fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a723158200ab6f354799b3f2ca84430782d67c46a02187bf8717a34537181b246fd3ff3c264736f6c63430005100032",
			"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"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setTotalSupply",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferableSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe",
				"urls": [
					"bzz-raw://6d9e8792979f1eee0372a7dee6371c0b91e6b522605e0079120c162def58cbe7",
					"dweb:/ipfs/QmQuccUukBgM3aLVmDrebRUc4aJjcYkVLjJ6Fv7wwVgrSd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MultiCollateralSynth.sol": "MultiCollateralSynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MultiCollateralSynth.sol": {
						"keccak256": "0x548d16dab51321918778c500b04c32240f3d720f19d48533e0db9c2b9b722ebe",
						"urls": [
							"bzz-raw://6d9e8792979f1eee0372a7dee6371c0b91e6b522605e0079120c162def58cbe7",
							"dweb:/ipfs/QmQuccUukBgM3aLVmDrebRUc4aJjcYkVLjJ6Fv7wwVgrSd"
						]
					}
				},
				"version": 1
			}
		},
		"IssuanceEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516040806112eb8339810160405280516020909101518181818181600160a060020a03811615156100a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050505050611187806101646000396000f30060806040526004361061015e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025ec81a8114610163578063043106c01461018d5780630c55d925146101a7578063124f2418146101bf5780631627540c146101d757806317e7dd22146101f857806325cf512d146102245780633562fd201461023f5780633cc1635c1461025a5780633eba9ed21461027257806344bfa56e1461028f5780634c77e5ba1461031c57806352f445ca1461035057806353a47bb7146103715780635a2bf25a1461038657806379ba5097146103aa5780638267a9ee146103bf5780638da5cb5b146103d75780639007127b146103ec57806393fe424814610404578063a209a29c1461041c578063a77aa49e14610434578063aefc4ccb1461044f578063ba69fcaa14610464578063bdc963d81461047c578063c9a52d2c14610494578063f5866066146104b8575b600080fd5b34801561016f57600080fd5b5061017b6004356104dc565b60408051918252519081900360200190f35b34801561019957600080fd5b506101a56004356104ee565b005b3480156101b357600080fd5b506101a560043561057d565b3480156101cb57600080fd5b506101a56004356105fb565b3480156101e357600080fd5b506101a5600160a060020a0360043516610670565b34801561020457600080fd5b50610210600435610759565b604080519115158252519081900360200190f35b34801561023057600080fd5b506101a560043560243561076e565b34801561024b57600080fd5b506101a56004356024356107e4565b34801561026657600080fd5b506101a560043561085a565b34801561027e57600080fd5b506101a560043560243515156108d6565b34801561029b57600080fd5b506102a760043561095a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e15781810151838201526020016102c9565b50505050905090810190601f16801561030e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032857600080fd5b506103346004356109fb565b60408051600160a060020a039092168252519081900360200190f35b34801561035c57600080fd5b506101a5600160a060020a0360043516610a16565b34801561037d57600080fd5b50610334610aff565b34801561039257600080fd5b506101a5600435600160a060020a0360243516610b0e565b3480156103b657600080fd5b506101a5610bad565b3480156103cb57600080fd5b506101a5600435610cb5565b3480156103e357600080fd5b50610334610d2a565b3480156103f857600080fd5b5061017b600435610d39565b34801561041057600080fd5b506101a5600435610d4b565b34801561042857600080fd5b506102a7600435610dc0565b34801561044057600080fd5b506101a5600435602435610e2a565b34801561045b57600080fd5b50610334610ea0565b34801561047057600080fd5b506101a5600435610eaf565b34801561048857600080fd5b5061017b600435610f2a565b3480156104a057600080fd5b506101a5600480359060248035908101910135610f3c565b3480156104c457600080fd5b506101a5600480359060248035908101910135610fbf565b60009081526007602052604090205490565b600254600160a060020a03163314610552576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000908152600560205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b600254600160a060020a031633146105e1576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60008181526006602052604081206105f89161103c565b50565b600254600160a060020a0316331461065f576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260076020526040812055565b600054600160a060020a031633146106f8576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b600254600160a060020a031633146107d2576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526007602052604090912055565b600254600160a060020a03163314610848576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526003602052604090912055565b600254600160a060020a031633146108be576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000908152600860205260409020805460ff19169055565b600254600160a060020a0316331461093a576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026101006001851615026000190190931692909204918201849004840281018401909452808452606093928301828280156109ef5780601f106109c4576101008083540402835291602001916109ef565b820191906000526020600020905b8154815290600101906020018083116109d257829003601f168201915b50505050509050919050565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a03163314610a9e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600254600160a060020a03163314610b72576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600091825260056020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600154600160a060020a03163314610c35576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600254600160a060020a03163314610d19576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260096020526040812055565b600054600160a060020a031681565b60009081526009602052604090205490565b600254600160a060020a03163314610daf576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026101006001851615026000190190931692909204918201849004840281018401909452808452606093928301828280156109ef5780601f106109c4576101008083540402835291602001916109ef565b600254600160a060020a03163314610e8e576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526009602052604090912055565b600254600160a060020a031681565b600254600160a060020a03163314610f13576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60008181526004602052604081206105f89161103c565b60009081526003602052604090205490565b600254600160a060020a03163314610fa0576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000838152600660205260409020610fb9908383611080565b50505050565b600254600160a060020a03163314611023576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000838152600460205260409020610fb9908383611080565b50805460018160011615610100020316600290046000825580601f1061106257506105f8565b601f0160209004906000526020600020908101906105f891906110fe565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110c15782800160ff198235161785556110ee565b828001600101855582156110ee579182015b828111156110ee5782358255916020019190600101906110d3565b506110fa9291506110fe565b5090565b61111891905b808211156110fa5760008155600101611104565b9056004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820531a87be8a4483bef3d9e9bbf62e87857160f8008ec2ab17cd52197f7977cb410029",
			"abi": [
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "record",
							"type": "bytes32"
						},
						{
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"inputs": [
						{
							"name": "_owner",
							"type": "address"
						},
						{
							"name": "_issuer",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				}
			]
		},
		"SystemStatus": {
			"bytecode": "608060405234801561001057600080fd5b506040516128193803806128198339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061271f806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106103835760003560e01c80636309a10c116101de578063a55ce9c51161010f578063e470df58116100ad578063f405f65a1161007c578063f405f65a14610d61578063f44d1e0b14610d69578063f4c80f5e14610d71578063f8b4b08414610d8e57610383565b8063e470df5814610cb1578063e665edf014610cce578063e91e691814610d3c578063f161620714610d5957610383565b8063b9a49869116100e9578063b9a4986914610bb0578063c0eee44314610c1e578063da5917ae14610c26578063de1b885114610c4357610383565b8063a55ce9c514610b68578063abc0bb6e14610b70578063b431c0ea14610b9357610383565b80637c3125411161017c5780638da5cb5b116101565780638da5cb5b14610b1757806394c79f7414610b1f5780639f8a95ba14610b3c578063a0aad31c14610b6057610383565b80637c31254114610a845780637fe9b23d14610a8c578063856aae6c14610afa57610383565b80636ef5d841116101b85780636ef5d841146109505780637118d43114610a575780637243bc2c14610a5f57806379ba509714610a7c57610383565b80636309a10c146108bd57806367a280b2146108da57806369eaced2146108e257610383565b80632dd8afdb116102b85780634abdb44d1161025657806355585bce1161023057806355585bce1461088257806356c3da451461088a5780636132eba414610892578063614d08f8146108b557610383565b80634abdb44d146106f8578063517d60c61461070057806353a47bb71461085e57610383565b8063396e258e11610292578063396e258e1461065f57806342a28e211461067c57806348bf1971146106995780634a661850146106d557610383565b80632dd8afdb146106335780632e8d0b9e1461063b578063346cde511461065757610383565b80631ce00ba21161032557806322264567116102ff578063222645671461057d5780632366245e146105a05780632a647ab7146105a85780632be470901461061657610383565b80631ce00ba2146104a55780631f4b3401146104c857806320f2bf001461053657610383565b80631588e817116103615780631588e817146103b45780631627540c146103d1578063180113bc146103f75780631cba727c1461043757610383565b8063086dabd11461038857806312bde51414610392578063157c51d3146103ac575b600080fd5b610390610d96565b005b61039a610da0565b60408051918252519081900360200190f35b610390610dad565b610390600480360360208110156103ca57600080fd5b5035610e17565b610390600480360360208110156103e757600080fd5b50356001600160a01b0316610e82565b6104146004803603602081101561040d57600080fd5b5035610ede565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b6103906004803603604081101561044d57600080fd5b810190602081018135600160201b81111561046757600080fd5b82018360208201111561047957600080fd5b803590602001918460208302840111600160201b8311171561049a57600080fd5b919350915035610f03565b610390600480360360408110156104bb57600080fd5b5080359060200135610f46565b610390600480360360208110156104de57600080fd5b810190602081018135600160201b8111156104f857600080fd5b82018360208201111561050a57600080fd5b803590602001918460208302840111600160201b8311171561052b57600080fd5b509092509050610f7e565b6105626004803603604081101561054c57600080fd5b50803590602001356001600160a01b0316610fba565b60408051921515835290151560208301528051918290030190f35b6103906004803603604081101561059357600080fd5b5080359060200135610fe3565b610414611029565b610390600480360360408110156105be57600080fd5b810190602081018135600160201b8111156105d857600080fd5b8201836020820111156105ea57600080fd5b803590602001918460208302840111600160201b8311171561060b57600080fd5b919350915035611042565b6103906004803603602081101561062c57600080fd5b5035611080565b6104146110ea565b610643611103565b604080519115158252519081900360200190f35b61041461112d565b6103906004803603602081101561067557600080fd5b5035611146565b6103906004803603602081101561069257600080fd5b50356111b1565b610390600480360360808110156106af57600080fd5b508035906001600160a01b036020820135169060408101351515906060013515156111c5565b610390600480360360408110156106eb57600080fd5b50803590602001356111df565b61039a611225565b6103906004803603608081101561071657600080fd5b810190602081018135600160201b81111561073057600080fd5b82018360208201111561074257600080fd5b803590602001918460208302840111600160201b8311171561076357600080fd5b919390929091602081019035600160201b81111561078057600080fd5b82018360208201111561079257600080fd5b803590602001918460208302840111600160201b831117156107b357600080fd5b919390929091602081019035600160201b8111156107d057600080fd5b8201836020820111156107e257600080fd5b803590602001918460208302840111600160201b8311171561080357600080fd5b919390929091602081019035600160201b81111561082057600080fd5b82018360208201111561083257600080fd5b803590602001918460208302840111600160201b8311171561085357600080fd5b509092509050611234565b610866611325565b604080516001600160a01b039092168252519081900360200190f35b610390611334565b61039a61139f565b610390600480360360408110156108a857600080fd5b50803590602001356113ad565b61039a6113b5565b610390600480360360208110156108d357600080fd5b50356113c8565b61039061140d565b610390600480360360208110156108f857600080fd5b810190602081018135600160201b81111561091257600080fd5b82018360208201111561092457600080fd5b803590602001918460208302840111600160201b8311171561094557600080fd5b509092509050611479565b6109be6004803603602081101561096657600080fd5b810190602081018135600160201b81111561098057600080fd5b82018360208201111561099257600080fd5b803590602001918460208302840111600160201b831117156109b357600080fd5b5090925090506114b5565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610a025781810151838201526020016109ea565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610a41578181015183820152602001610a29565b5050505090500194505050505060405180910390f35b6103906115de565b61041460048036036020811015610a7557600080fd5b50356115ee565b610390611613565b6103906116cf565b61039060048036036040811015610aa257600080fd5b810190602081018135600160201b811115610abc57600080fd5b820183602082011115610ace57600080fd5b803590602001918460208302840111600160201b83111715610aef57600080fd5b9193509150356116df565b61039060048036036020811015610b1057600080fd5b503561171d565b61086661173e565b61039060048036036020811015610b3557600080fd5b503561174d565b610b44611792565b604080516001600160f81b039092168252519081900360200190f35b610390611797565b61039a6117af565b61039060048036036040811015610b8657600080fd5b50803590602001356117c3565b61064360048036036020811015610ba957600080fd5b5035611809565b6109be60048036036020811015610bc657600080fd5b810190602081018135600160201b811115610be057600080fd5b820183602082011115610bf257600080fd5b803590602001918460208302840111600160201b83111715610c1357600080fd5b509092509050611831565b610643611952565b61039060048036036020811015610c3c57600080fd5b503561195b565b61039060048036036020811015610c5957600080fd5b810190602081018135600160201b811115610c7357600080fd5b820183602082011115610c8557600080fd5b803590602001918460208302840111600160201b83111715610ca657600080fd5b50909250905061196c565b61039060048036036020811015610cc757600080fd5b50356119a8565b6109be60048036036020811015610ce457600080fd5b810190602081018135600160201b811115610cfe57600080fd5b820183602082011115610d1057600080fd5b803590602001918460208302840111600160201b83111715610d3157600080fd5b509092509050611a1d565b61041460048036036020811015610d5257600080fd5b5035611b3e565b61039a611b63565b610390611b72565b61039a611bde565b61039060048036036020811015610d8757600080fd5b5035611bea565b610414611c2f565b610d9e611c48565b565b6553797374656d60d01b81565b610dbf6553797374656d60d01b611d27565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610e2b6745786368616e676560c01b611d84565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610e8a611ddc565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60096020526000908152604090205460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611e25915050565b505050565b610f4e611c48565b610f56611ed3565b610f5f82611f15565b610f6881611f15565b610f7182611f63565b610f7a81611f63565b5050565b610f7a828280806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611fb192505050565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061101357fe5b602002602001018181525050610f418183612059565b60045460ff81169061010090046001600160f81b031682565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612059915050565b611093664675747572657360c81b611d84565b600680546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fbb77bf6af5bb933d0fb912130167ce25b6debb9c728f232ee4e7c181f16c8e0c9181900360200190a150565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015611128575060035461010090046001600160f81b03166001145b905090565b60065460ff81169061010090046001600160f81b031682565b61115a6749737375616e636560c01b611d84565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b6111b9611c48565b6111c281611f63565b50565b6111cd611ddc565b6111d984848484612101565b50505050565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061120f57fe5b602002602001018181525050610f418183611e25565b6749737375616e636560c01b81565b61123c611ddc565b868514801561124a57508483145b801561125557508281145b6112a6576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b8781101561131a576113128989838181106112c057fe5b905060200201358888848181106112d357fe5b905060200201356001600160a01b03168787858181106112ef57fe5b90506020020135151586868681811061130457fe5b905060200201351515612101565b6001016112a9565b505050505050505050565b6001546001600160a01b031681565b611347664675747572657360c81b611d27565b6006805460ff191690819055604080516101009092046001600160f81b03168252517fcbdc17547b5be7fb4a78666d4253509496561d5b1088a019865bd70d7e248fa6916020908290030190a16006805460ff169055565b664675747572657360c81b81565b610f68611c48565b6b53797374656d53746174757360a01b81565b6040805160018082528183019092526060916020808301908038833901905050905081816000815181106113f857fe5b602002602001018181525050610f7a81612247565b6114216749737375616e636560c01b611d27565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061224792505050565b606080838390506040519080825280602002602001820160405280156114e5578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611512578160200160208202803883390190505b50905060005b838110156115d6576009600086868481811061153057fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061156257fe5b911515602092830291909101909101526009600086868481811061158257fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106115c357fe5b6020908102919091010152600101611518565b509250929050565b6115e6611c48565b610d9e611ed3565b60086020526000908152604090205460ff81169061010090046001600160f81b031682565b6001546001600160a01b0316331461165c5760405162461bcd60e51b815260040180806020018281038252603581526020018061251d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6116d7611c48565b610d9e6122f5565b610f41838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250612337915050565b611725611c48565b61172d611ed3565b6117356123dd565b6111c28161241f565b6000546001600160a01b031681565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811061177d57fe5b602002602001018181525050610f7a81612476565b600181565b61179f611c48565b6117a7611ed3565b610d9e6123dd565b6c53796e746845786368616e676560981b81565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106117f357fe5b602002602001018181525050610f418183612337565b60035460009060ff168061182b575060008281526008602052604090205460ff165b92915050565b60608083839050604051908082528060200260200182016040528015611861578160200160208202803883390190505b5060408051858152602080870282010190915290925083801561188e578160200160208202803883390190505b50905060005b838110156115d657600860008686848181106118ac57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff168382815181106118de57fe5b91151560209283029190910190910152600860008686848181106118fe57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b031682828151811061193f57fe5b6020908102919091010152600101611894565b60035460ff1690565b611963611c48565b6111c281611f15565b610f7a82828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061247692505050565b6119ba6553797374656d60d01b611d84565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b60608083839050604051908082528060200260200182016040528015611a4d578160200160208202803883390190505b50604080518581526020808702820101909152909250838015611a7a578160200160208202803883390190505b50905060005b838110156115d65760076000868684818110611a9857fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110611aca57fe5b9115156020928302919091019091015260076000868684818110611aea57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110611b2b57fe5b6020908102919091010152600101611a80565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6745786368616e676560c01b81565b611b866745786368616e676560c01b611d27565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b640a6f2dce8d60db1b81565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110611c1a57fe5b602002602001018181525050610f7a81611fb1565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b0316600114611c84576040518060600160405280602c8152602001612659602c9139611c9e565b6040518060600160405280603e8152602001612685603e91395b906111c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611cec578181015183820152602001611cd4565b50505050905090810190601f168015611d195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff166111c25760405162461bcd60e51b81526004018080602001828103825260218152602001806126386021913960400191505060405180910390fd5b6000546001600160a01b03163314610d9e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806125de602f913960400191505060405180910390fd5b611e3e6c53796e746845786368616e676560981b611d84565b60005b8251811015610f41576000838281518110611e5857fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcea0da706e9f2a6a1cb56cdab42ac548791339f1710deadf814f15fc0a6a7114928290030190a150600101611e41565b60055460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b81526020018061260d602b913960400191505060405180910390fd5b60008181526007602052604090205460ff16156111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061257d602e913960400191505060405180910390fd5b60008181526008602052604090205460ff16156111c25760405162461bcd60e51b81526004018080602001828103825260288152602001806126c36028913960400191505060405180910390fd5b611fc4664675747572657360c81b611d27565b60005b8151811015610f7a576000828281518110611fde57fe5b6020908102919091018101516000818152600983526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f250fcb5d34afaf9bc18ec9ca0bf709e0f2ecb8ae4d4a3a616c0bf54b2ddf53e6928290030190a1600090815260096020526040812055600101611fc7565b61206c664675747572657360c81b611d84565b60005b8251811015610f4157600083828151811061208657fe5b60209081029190910181015160008181526009835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507fcaa561b71353382b62092c429c14613b5db8f9c5f3a27cb51df16e51f350f8ca928290030190a15060010161206f565b6553797374656d60d01b84148061212257506749737375616e636560c01b84145b8061213757506745786368616e676560c01b84145b8061214b5750664675747572657360c81b84145b8061216557506c53796e746845786368616e676560981b84145b806121775750640a6f2dce8d60db1b84145b6121c8576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b6122606c53796e746845786368616e676560981b611d27565b60005b8151811015610f7a57600082828151811061227a57fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f91037f810fbf9c3c6d5573650d27de6b5e8d2187698822700d4524102472bc08928290030190a1600090815260076020526040812055600101612263565b60045460ff1615610d9e5760405162461bcd60e51b815260040180806020018281038252602b815260200180612552602b913960400191505060405180910390fd5b612348640a6f2dce8d60db1b611d84565b60005b8251811015610f4157600083828151811061236257fe5b60209081029190910181015160008181526008835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f9cca506f9028bbcc0d976db0eaf80dfe6a6d7cadd99024edd88f690e1eda5541928290030190a15060010161234b565b60065460ff1615610d9e5760405162461bcd60e51b81526004018080602001828103825260338152602001806125ab6033913960400191505060405180910390fd5b60008181526009602052604090205460ff16156111c2576040805162461bcd60e51b815260206004820152601060248201526f13585c9ad95d081cdd5cdc195b99195960821b604482015290519081900360640190fd5b612487640a6f2dce8d60db1b611d27565b60005b8151811015610f7a5760008282815181106124a157fe5b6020908102919091018101516000818152600883526040908190205481518381526101009091046001600160f81b03169381019390935280519193507f691b6c9654fa1f01847f7e98a061557ca10378bb9670782b60ed13891703d220928290030190a160009081526008602052604081205560010161248a56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f6869626974656446757475726573206d61726b657473206172652073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737453796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656453796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e6420627953796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a723158202225676251b5f53c6aeb0b703bd197b625c299226f79ad58e087f41a4b1e20ad64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "FuturesMarketResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "FuturesMarketSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "FuturesResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "FuturesSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthExchangeResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthExchangeSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SynthSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemSuspended",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_FUTURES",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_ISSUANCE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYNTH_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYSTEM",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUSPENSION_REASON_UPGRADE",
					"outputs": [
						{
							"internalType": "uint248",
							"name": "",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "futuresMarketSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "futuresSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getFuturesMarketSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synths",
							"type": "bytes32[]"
						}
					],
					"name": "getSynthExchangeSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "exchangeSuspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synths",
							"type": "bytes32[]"
						}
					],
					"name": "getSynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isSystemUpgrading",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireExchangeBetweenSynthsAllowed",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireFuturesActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						}
					],
					"name": "requireFuturesMarketActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireSynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireSynthExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireSynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireSystemActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeFutures",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						}
					],
					"name": "resumeFuturesMarket",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumeFuturesMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumeSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumeSynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumeSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumeSynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendFutures",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendFuturesMarket",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendFuturesMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthExchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "synthSuspended",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspended",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0xd4ba3b8b574c2795ec994981815bdb6518da848579d169e419a906f4909ab8e1",
				"urls": [
					"bzz-raw://f1b100c21e7f590057d69e9a2a590dc9643369d060e4d3477021dd51bbeee5c9",
					"dweb:/ipfs/QmQaij3wLXzj9aewLx9QwaWAUfNDu3UqTw12n9ZDTjbj2p"
				]
			},
			"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": "0xd4ba3b8b574c2795ec994981815bdb6518da848579d169e419a906f4909ab8e1",
						"urls": [
							"bzz-raw://f1b100c21e7f590057d69e9a2a590dc9643369d060e4d3477021dd51bbeee5c9",
							"dweb:/ipfs/QmQaij3wLXzj9aewLx9QwaWAUfNDu3UqTw12n9ZDTjbj2p"
						]
					}
				},
				"version": 1
			}
		},
		"EternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b5060405161124b38038061124b8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506110a5806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107e4565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107f9565b6101fa600480360360408110156102c657600080fd5b5080359060200135610854565b6101fa600480360360208110156102e957600080fd5b50356108af565b6101fa6004803603604081101561030657600080fd5b50803590602001351515610910565b6103326004803603602081101561032b57600080fd5b5035610979565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b5035610a1a565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b0316610a35565b6103c4610ad2565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610ae1565b6101fa610b58565b6101fa6004803603602081101561045857600080fd5b5035610c14565b6103c4610c6e565b6101cb6004803603602081101561047d57600080fd5b5035610c7d565b6101fa6004803603602081101561049a57600080fd5b5035610c8f565b610332600480360360208110156104b757600080fd5b5035610ce9565b6101fa600480360360408110156104d457600080fd5b5080359060200135610d53565b6103c4610dae565b6101fa600480360360208110156104ff57600080fd5b5035610dbd565b6101cb6004803603602081101561051c57600080fd5b5035610e1d565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610e2f565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e97565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ef9565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260076020526040812055565b6000546001600160a01b031633146107905760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108425760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461089d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108f85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109595760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b820191906000526020600020905b8154815290600101906020018083116109f157829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6000546001600160a01b03163314610a7e5760405162461bcd60e51b815260040180806020018281038252602f81526020018061100e602f913960400191505060405180910390fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b2a5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610ba15760405162461bcd60e51b8152600401808060200182810382526035815260200180610fd96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610c5d5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610cd85760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610a0e5780601f106109e357610100808354040283529160200191610a0e565b6002546001600160a01b03163314610d9c5760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610e065760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ef9565b60009081526003602052604090205490565b6002546001600160a01b03163314610e785760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600660205260409020610e91908383610f3d565b50505050565b6002546001600160a01b03163314610ee05760405162461bcd60e51b815260040180806020018281038252603481526020018061103d6034913960400191505060405180910390fd5b6000838152600460205260409020610e91908383610f3d565b50805460018160011615610100020316600290046000825580601f10610f1f57506106ea565b601f0160209004906000526020600020908101906106ea9190610fbb565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f7e5782800160ff19823516178555610fab565b82800160010185558215610fab579182015b82811115610fab578235825591602001919060010190610f90565b50610fb7929150610fbb565b5090565b610fd591905b80821115610fb75760008155600101610fc1565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820890b88d06dd57d22f874f21510bda6a30f879ac72ddc010d8797db5e588518a564736f6c63430005100032",
			"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"
				}
			]
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516104cc3803806104cc8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506103d2806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b66101ad565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b03166101bc565b6100ac61025f565b6100b661031b565b6100b661032a565b6000546001600160a01b031633146101595760405162461bcd60e51b815260040180806020018281038252602f81526020018061036f602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6000546001600160a01b031633146102055760405162461bcd60e51b815260040180806020018281038252602f81526020018061036f602f913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102a85760405162461bcd60e51b815260040180806020018281038252603581526020018061033a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03168156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b878c0a58d67eea0d6a9cbef1e4c039388a1193f274de3a7ab86e4db4f087a2464736f6c63430005100032",
			"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"
				}
			]
		},
		"SynthUtil": {
			"bytecode": "608060405234801561001057600080fd5b506040516113693803806113698339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055611304806100656000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80630120be331461006757806327fe55a6146100a5578063492dbcdd14610146578063a827bf481461022c578063d18ab37614610252578063eade6d2d14610276575b600080fd5b6100936004803603604081101561007d57600080fd5b506001600160a01b0381351690602001356102ce565b60408051918252519081900360200190f35b6100ad61054d565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156100f15781810151838201526020016100d9565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610130578181015183820152602001610118565b5050505090500194505050505060405180910390f35b61014e6107b9565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561019657818101518382015260200161017e565b50505050905001848103835286818151815260200191508051906020019060200280838360005b838110156101d55781810151838201526020016101bd565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156102145781810151838201526020016101fc565b50505050905001965050505050505060405180910390f35b61014e6004803603602081101561024257600080fd5b50356001600160a01b0316610b32565b61025a610ec9565b604080516001600160a01b039092168252519081900360200190f35b61027e610ed8565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ba5781810151838201526020016102a2565b505050509050019250505060405180910390f35b6000806102d9611182565b905060006102e561123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561032257600080fd5b505afa158015610336573d6000803e3d6000fd5b505050506040513d602081101561034c57600080fd5b5051905060005b81811015610543576000846001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103a157600080fd5b505afa1580156103b5573d6000803e3d6000fd5b505050506040513d60208110156103cb57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038087169263654a60ac929185169163dbd06c85916004808301926020929190829003018186803b15801561041b57600080fd5b505afa15801561042f573d6000803e3d6000fd5b505050506040513d602081101561044557600080fd5b5051604080516370a0823160e01b81526001600160a01b038d811660048301529151918616916370a0823191602480820192602092909190829003018186803b15801561049157600080fd5b505afa1580156104a5573d6000803e3d6000fd5b505050506040513d60208110156104bb57600080fd5b5051604080516001600160e01b031960e086901b16815260048101939093526024830191909152604482018b9052516064808301926020929190829003018186803b15801561050957600080fd5b505afa15801561051d573d6000803e3d6000fd5b505050506040513d602081101561053357600080fd5b5051959095019450600101610353565b5050505092915050565b606080606061055a611182565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561059257600080fd5b505afa1580156105a6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105cf57600080fd5b81019080805160405193929190846401000000008211156105ef57600080fd5b90830190602082018581111561060457600080fd5b825186602082028301116401000000008211171561062157600080fd5b82525081516020918201928201910280838360005b8381101561064e578181015183820152602001610636565b5050505090500160405250505090508061066661123f565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156106c45781810151838201526020016106ac565b505050509050019250505060006040518083038186803b1580156106e757600080fd5b505afa1580156106fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561072457600080fd5b810190808051604051939291908464010000000082111561074457600080fd5b90830190602082018581111561075957600080fd5b825186602082028301116401000000008211171561077657600080fd5b82525081516020918201928201910280838360005b838110156107a357818101518382015260200161078b565b5050505090500160405250505092509250509091565b606080606060006107c8611182565b905060006107d461123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505afa158015610825573d6000803e3d6000fd5b505050506040513d602081101561083b57600080fd5b505160408051828152602080840282010190915290915060609082801561086c578160200160208202803883390190505b50905060608260405190808252806020026020018201604052801561089b578160200160208202803883390190505b5090506060836040519080825280602002602001820160405280156108ca578160200160208202803883390190505b50905060005b84811015610b22576000876001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561091e57600080fd5b505afa158015610932573d6000803e3d6000fd5b505050506040513d602081101561094857600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b15801561098e57600080fd5b505afa1580156109a2573d6000803e3d6000fd5b505050506040513d60208110156109b857600080fd5b505185518690849081106109c857fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d6020811015610a3757600080fd5b50518451859084908110610a4757fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610a6e57fe5b6020026020010151868581518110610a8257fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610ad457600080fd5b505afa158015610ae8573d6000803e3d6000fd5b505050506040513d6020811015610afe57600080fd5b50518351849084908110610b0e57fe5b6020908102919091010152506001016108d0565b5091975095509350505050909192565b60608060606000610b41611182565b90506000610b4d61123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015610b8a57600080fd5b505afa158015610b9e573d6000803e3d6000fd5b505050506040513d6020811015610bb457600080fd5b5051604080518281526020808402820101909152909150606090828015610be5578160200160208202803883390190505b509050606082604051908082528060200260200182016040528015610c14578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610c43578160200160208202803883390190505b50905060005b84811015610eb8576000876001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c9757600080fd5b505afa158015610cab573d6000803e3d6000fd5b505050506040513d6020811015610cc157600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b158015610d0757600080fd5b505afa158015610d1b573d6000803e3d6000fd5b505050506040513d6020811015610d3157600080fd5b50518551869084908110610d4157fe5b602002602001018181525050806001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610da357600080fd5b505afa158015610db7573d6000803e3d6000fd5b505050506040513d6020811015610dcd57600080fd5b50518451859084908110610ddd57fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610e0457fe5b6020026020010151868581518110610e1857fe5b6020026020010151631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610e6a57600080fd5b505afa158015610e7e573d6000803e3d6000fd5b505050506040513d6020811015610e9457600080fd5b50518351849084908110610ea457fe5b602090810291909101015250600101610c49565b509199909850909650945050505050565b6000546001600160a01b031681565b60606000610ee4611182565b90506000610ef061123f565b90506000826001600160a01b031663dbf633406040518163ffffffff1660e01b815260040160206040518083038186803b158015610f2d57600080fd5b505afa158015610f41573d6000803e3d6000fd5b505050506040513d6020811015610f5757600080fd5b5051604080518281526020808402820101909152909150606090828015610f88578160200160208202803883390190505b50905060005b82811015611179576000856001600160a01b031663835e119c836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fdc57600080fd5b505afa158015610ff0573d6000803e3d6000fd5b505050506040513d602081101561100657600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038088169263af3aea86929185169163dbd06c85916004808301926020929190829003018186803b15801561105657600080fd5b505afa15801561106a573d6000803e3d6000fd5b505050506040513d602081101561108057600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b1580156110bf57600080fd5b505afa1580156110d3573d6000803e3d6000fd5b505050506040513d60208110156110e957600080fd5b50511561117057806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561112957600080fd5b505afa15801561113d573d6000803e3d6000fd5b505050506040513d602081101561115357600080fd5b5051835184908490811061116357fe5b6020026020010181815250505b50600101610f8e565b50935050505090565b600080546040805163dacb2d0160e01b8152680a6f2dce8d0cae8d2f60bb1b600482015260248101829052601960448201527f4d697373696e672053796e746865746978206164647265737300000000000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561120e57600080fd5b505afa158015611222573d6000803e3d6000fd5b505050506040513d602081101561123857600080fd5b5051905090565b600080546040805163dacb2d0160e01b81526c45786368616e6765526174657360981b600482015260248101829052601d60448201527f4d697373696e672045786368616e676552617465732061646472657373000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561120e57600080fdfea265627a7a723158209e7ba686f73798746736e8ff9d170da8215f2ad60eb6b3c4ba5c14e221d4140064736f6c63430005100032",
			"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": "frozenSynths",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeade6d2d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "synthsBalances",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa827bf48"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthsRates",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x27fe55a6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthsTotalSupplies",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x492dbcdd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalSynthsInKey",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0120be33"
				}
			]
		},
		"DappMaintenance": {
			"bytecode": "60806040526001805461ffff60a01b1916905534801561001e57600080fd5b5060405161078a38038061078a8339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383169081178255604080519283526020830191909152805160008051602061076a8339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b0383169081178255604080519283526020830191909152805160008051602061076a8339815191529281900390910190a1506105d3806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b50351515610212565b6100e76102f2565b604080516001600160a01b039092168252519081900360200190f35b6100be610301565b6100e76103bd565b61011b6103cc565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b503515156103dc565b61011b610483565b6100be6004803603602081101561016c57600080fd5b50351515610493565b6000546001600160a01b031633146101be5760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000546001600160a01b0316331461025b5760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b0316331461034a5760405162461bcd60e51b815260040180806020018281038252603581526020018061053b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b6000546001600160a01b031633146104255760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6000546001600160a01b031633146104dc5760405162461bcd60e51b815260040180806020018281038252602f815260200180610570602f913960400191505060405180910390fd5b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a15056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820c1158584fb5d71702e6078c73094c7f037a466b9db7562e0acacb0e35c65623064736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
			"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"
				}
			]
		},
		"FlexibleStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a72315820bdee8814580757614c4504a1be30463b164f9dfaa045b4dc6a6b21d80306408d64736f6c63430005100032",
			"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": "0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757",
				"urls": [
					"bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874",
					"dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"
				]
			},
			"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": "0x952f7c2f536ec424f53fc741cb4384b5d9ea94934de777ead382bf84e3c1e757",
						"urls": [
							"bzz-raw://c6ece5e5b14079110f32d446649475b7df647ba879552b11ba0af419830e3874",
							"dweb:/ipfs/QmdY783nbqCJLiadqPa5TUmsqhNCbw7GyPaMKnZ15eRi7p"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettings": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200570838038062005708833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15080600260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550505073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156200016657600080fd5b505af41580156200017b573d6000803e3d6000fd5b505050506040513d60208110156200019257600080fd5b50516d53797374656d53657474696e677360901b14620001f9576040805162461bcd60e51b815260206004820152601d60248201527f7265616420616e64207772697465206b657973206e6f7420657175616c000000604482015290519081900360640190fd5b50506154fd806200020b6000396000f3fe608060405234801561001057600080fd5b50600436106104e35760003560e01c80636a2b91511161028e578063a777155611610167578063d954bc02116100d9578063e84e2c3c11610092578063e84e2c3c14610d94578063e942204614610d9c578063ee93119814610db9578063f081da8514610dd6578063f216310714610df9578063f867e76714610e16576104e3565b8063d954bc0214610cf8578063dad0ab0f14610d24578063dc8f4a1b14610d2c578063e0e6393d14610d52578063e3bb67d414610d5a578063e7894da114610d77576104e3565b8063c193f0d81161012b578063c193f0d814610c56578063c52f35fe14610c5e578063c7b481bd14610c8a578063c855a8e114610cb6578063cc754a4c14610cbe578063d8ee820814610cdb576104e3565b8063a777155614610bf5578063af5355d814610c12578063b16e450f14610c1a578063b410a03414610c46578063bcf7eeac14610c4e576104e3565b80638925711711610200578063946ce8cd116101c4578063946ce8cd14610b62578063967706e914610b7f57806397a4aca014610b9c5780639d4e186d14610bb9578063a0cf745114610be5578063a4bca13114610bed576104e3565b80638925711714610acd5780638979ee0f14610ad5578063899ffef414610afa5780638da5cb5b14610b52578063922fef0814610b5a576104e3565b806379cb657a1161025257806379cb657a14610a315780637bf8230514610a4e5780637d708a4614610a745780637f3b293c14610a915780638074b37214610a995780638326470c14610aa1576104e3565b80636a2b9151146109d65780637066871f146109de5780637418536014610a0457806375aca32114610a0c57806379ba509714610a29576104e3565b806328a1170d116103c05780634c36b837116103325780635d14928f116102f65780635d14928f146109345780635d467d6a146109515780635e0117d614610977578063614d08f8146109945780636190dd7a1461099c578063635a3872146109b9576104e3565b80634c36b837146108e2578063510242bc146108ea578063523fd889146108f257806353a47bb71461090f578063556eaeb114610917576104e3565b8063345a394311610384578063345a39431461084157806334eac4971461085e578063372a395a14610881578063393d334f146108895780634328a925146108a65780634641ab66146108c3576104e3565b806328a1170d1461071857806329a022ba146107da5780632af64bd3146108005780632cce0e541461081c57806331e4e03014610839576104e3565b80631710940c1161045957806322425fa41161041d57806322425fa4146106a957806323b55008146106b157806323f5589a146106ce578063242df9e1146106d657806325539dd2146106de5780632806a743146106fb576104e3565b80631710940c146106395780631775765f146106415780631e6e219014610649578063214bf9e51461066657806321d9eba61461068c576104e3565b806309e514a4116104ab57806309e514a4146105975780630ee4951b146105bd5780630f27b788146105c557806310557020146105cd57806313d825b2146105f05780631627540c14610613576104e3565b8063038e47fe146104e85780630411d53c1461051a57806304c49f2c1461053957806304f3bcec14610556578063054be0b71461057a575b600080fd5b610508600480360360208110156104fe57600080fd5b503560ff16610e1e565b60408051918252519081900360200190f35b6105376004803603602081101561053057600080fd5b5035610e31565b005b6105376004803603602081101561054f57600080fd5b5035610f00565b61055e610fdb565b604080516001600160a01b039092168252519081900360200190f35b6105376004803603602081101561059057600080fd5b5035610fea565b610508600480360360208110156105ad57600080fd5b50356001600160a01b03166110c1565b6105086110cc565b6105086110dc565b610537600480360360408110156105e357600080fd5b50803590602001356110e6565b6105376004803603604081101561060657600080fd5b50803590602001356111dc565b6105376004803603602081101561062957600080fd5b50356001600160a01b03166112ca565b610508611326565b610508611330565b6105376004803603602081101561065f57600080fd5b503561133a565b6105086004803603602081101561067c57600080fd5b50356001600160a01b0316611421565b610537600480360360208110156106a257600080fd5b503561142c565b610508611558565b610537600480360360208110156106c757600080fd5b5035611562565b610508611642565b61050861164c565b610508600480360360208110156106f457600080fd5b5035611656565b6105376004803603602081101561071157600080fd5b5035611661565b6105376004803603604081101561072e57600080fd5b81019060208101813564010000000081111561074957600080fd5b82018360208201111561075b57600080fd5b8035906020019184602083028401116401000000008311171561077d57600080fd5b91939092909160208101903564010000000081111561079b57600080fd5b8201836020820111156107ad57600080fd5b803590602001918460208302840111640100000000831117156107cf57600080fd5b50909250905061173d565b610508600480360360208110156107f057600080fd5b50356001600160a01b03166118cb565b6108086118d6565b604080519115158252519081900360200190f35b6105376004803603602081101561083257600080fd5b50356119e0565b610508611ad2565b6108086004803603602081101561085757600080fd5b5035611adc565b6105376004803603604081101561087457600080fd5b5080359060200135611ae7565b610508611bdd565b6105376004803603602081101561089f57600080fd5b5035611be7565b610537600480360360208110156108bc57600080fd5b5035611cc6565b610537600480360360208110156108d957600080fd5b50351515611dfa565b61055e611edc565b610508611ee6565b6105376004803603602081101561090857600080fd5b5035611ef6565b61055e611fca565b6105376004803603602081101561092d57600080fd5b5035611fd9565b6105376004803603602081101561094a57600080fd5b50356120b8565b6105086004803603602081101561096757600080fd5b50356001600160a01b0316612199565b6105376004803603602081101561098d57600080fd5b50356121a4565b61050861227e565b610537600480360360208110156109b257600080fd5b50356122f5565b610537600480360360208110156109cf57600080fd5b50356123d4565b6105086124af565b610508600480360360208110156109f457600080fd5b50356001600160a01b03166124b9565b6105376124c4565b61053760048036036020811015610a2257600080fd5b503561268c565b61053761276d565b61053760048036036020811015610a4757600080fd5b5035612829565b61053760048036036020811015610a6457600080fd5b50356001600160a01b0316612902565b61053760048036036020811015610a8a57600080fd5b50356129eb565b610508612ac5565b610508612ad8565b61053760048036036040811015610ab757600080fd5b506001600160a01b038135169060200135612ae2565b610508612bc3565b61053760048036036040811015610aeb57600080fd5b50803590602001351515612bcd565b610b02612cc5565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610b3e578181015183820152602001610b26565b505050509050019250505060405180910390f35b61055e612d16565b610508612d25565b61053760048036036020811015610b7857600080fd5b5035612d2f565b61050860048036036020811015610b9557600080fd5b5035612e3a565b61050860048036036020811015610bb257600080fd5b5035612e45565b61053760048036036040811015610bcf57600080fd5b506001600160a01b038135169060200135612e50565b610508612f7a565b610508612f84565b61050860048036036020811015610c0b57600080fd5b5035612f8e565b610508612f99565b61053760048036036040811015610c3057600080fd5b506001600160a01b038135169060200135612fa3565b610508613095565b61050861309f565b6108086130a9565b61053760048036036040811015610c7457600080fd5b50803590602001356001600160a01b03166130b3565b61053760048036036040811015610ca057600080fd5b506001600160a01b0381351690602001356131b1565b610508613293565b61053760048036036020811015610cd457600080fd5b503561329d565b61053760048036036020811015610cf157600080fd5b5035613379565b61053760048036036040811015610d0e57600080fd5b506001600160a01b038135169060200135613456565b610508613580565b61053760048036036040811015610d4257600080fd5b5060ff8135169060200135613593565b61050861368f565b61053760048036036020811015610d7057600080fd5b5035613699565b61053760048036036020811015610d8d57600080fd5b5035613777565b610508613858565b61053760048036036020811015610db257600080fd5b5035613862565b61050860048036036020811015610dcf57600080fd5b503561393c565b61053760048036036040811015610dec57600080fd5b5080359060200135613947565b61055e60048036036020811015610e0f57600080fd5b5035613a38565b610508613a43565b6000610e2982613a56565b90505b919050565b610e39613af3565b610e41613b3e565b6001600160a01b0316631d5b277f6000805160206154a983398151915269199b1859d4995dd85c9960b21b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610eb157600080fd5b505af1158015610ec5573d6000803e3d6000fd5b50506040805184815290517fa31178ade19fb6a78fe78b68ebf820b88707e3bdbedbf77db4e80977800f39449350908190036020019150a150565b610f08613af3565b610f10613b3e565b604080516363daca0960e01b81526001600160a01b03929092166004830152703332b2a832b934b7b2223ab930ba34b7b760791b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916363daca09916064808301926000929190829003018186803b158015610f8c57600080fd5b505af4158015610fa0573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610ff2613af3565b610ffa613b3e565b60408051636d4851f160e01b81526001600160a01b039290921660048301526c69737375616e6365526174696f60981b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636d4851f1916064808301926000929190829003018186803b15801561107257600080fd5b505af4158015611086573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6000610e2982613b5b565b60006110d6613c14565b90505b90565b60006110d6613c9d565b6110ee613af3565b6110f6613b3e565b60408051635d3045ab60e01b81526001600160a01b039290921660048301527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635d3045ab916084808301926000929190829003018186803b15801561118557600080fd5b505af4158015611199573d6000803e3d6000fd5b5050604080518581526020810185905281517f98698e41d9ebb66410ec490ae1224f1b8d1766696d7217fa96e067de3ef5332a9450908190039091019150a15050565b6111e4613af3565b6111ec613b3e565b60408051638134ddb760e01b81526001600160a01b039290921660048301527461746f6d696345786368616e67654665655261746560581b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91638134ddb7916084808301926000929190829003018186803b15801561127357600080fd5b505af4158015611287573d6000803e3d6000fd5b5050604080518581526020810185905281517f84023d924a8ccb4a028f052967ed7e1e642279c24150e018962f0779021fce4c9450908190039091019150a15050565b6112d2613af3565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006110d6613d1a565b60006110d6613d96565b611342613af3565b61134a613b3e565b60408051630e7bf1c560e01b81526001600160a01b039290921660048301527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91630e7bf1c5916064808301926000929190829003018186803b1580156113d257600080fd5b505af41580156113e6573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610e2982613e0c565b611434613af3565b8061147e576040805162461bcd60e51b815260206004820152601560248201527405468726573686f6c642063616e6e6f74206265203605c1b604482015290519081900360640190fd5b611486613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655468726573686f6c640000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561150957600080fd5b505af115801561151d573d6000803e3d6000fd5b50506040805184815290517f0a1c77eb56927959639f898ae5258d25789fe6c36d7958d2c3daf3f1471d42d99350908190036020019150a150565b60006110d6613ec5565b61156a613af3565b611572613b3e565b604080516367f9fdd960e11b81526001600160a01b039290921660048301527573656c664c69717569646174696f6e50656e616c747960501b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163cff3fbb2916064808301926000929190829003018186803b1580156115f357600080fd5b505af4158015611607573d6000803e3d6000fd5b50506040805184815290517fcc1eff40ab461aae35275af10e50d93e6e37087e019f27e936816b62540168fe9350908190036020019150a150565b60006110d6613f3c565b60006110d6613fb4565b6000610e298261402a565b611669613af3565b611671613b3e565b60408051631faca50560e21b81526001600160a01b03929092166004830152716c69717569646174696f6e50656e616c747960701b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637eb29414916064808301926000929190829003018186803b1580156116ee57600080fd5b505af4158015611702573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b611745613af3565b61174d613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__631a5bb1f790916e65786368616e67654665655261746560881b878787876040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b0316815260200186815260200180602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600081840152601f19601f8201169050808301925050509850505050505050505060006040518083038186803b15801561183957600080fd5b505af415801561184d573d6000803e3d6000fd5b506000925050505b838110156118c4577fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e85858381811061188a57fe5b9050602002013584848481811061189d57fe5b604080519485526020918202939093013590840152508051918290030190a1600101611855565b5050505050565b6000610e29826140d3565b600060606118e2612cc5565b905060005b81518110156119d75760008282815181106118fe57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561196657600080fd5b505afa15801561197a573d6000803e3d6000fd5b505050506040513d602081101561199057600080fd5b50516001600160a01b03161415806119bd57506000818152600360205260409020546001600160a01b0316155b156119ce57600093505050506110d9565b506001016118e7565b50600191505090565b6119e8613af3565b60006119f2613b3e565b6040805162856d3960e51b81526001600160a01b039290921660048301526e1d185c99d95d151a1c995cda1bdb19608a1b6024830152604482018490525173__$6a024fd1d0d065824004f6878746fc5d0d$__916310ada720916064808301926020929190829003018186803b158015611a6b57600080fd5b505af4158015611a7f573d6000803e3d6000fd5b505050506040513d6020811015611a9557600080fd5b50516040805182815290519192507fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12919081900360200190a15050565b60006110d661418e565b6000610e2982614203565b611aef613af3565b611af7613b3e565b60408051636c5a980960e01b81526001600160a01b039290921660048301527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636c5a9809916084808301926000929190829003018186803b158015611b8657600080fd5b505af4158015611b9a573d6000803e3d6000fd5b5050604080518581526020810185905281517f2f10f42e3d725e85dada13510e81fc571c49386ab4cd9152b12e2db2b0c04b729450908190039091019150a15050565b60006110d66142b4565b611bef613af3565b611bf7613b3e565b604080516339aafdf360e21b81526001600160a01b039290921660048301527465786368616e67654d617844796e616d696346656560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163e6abf7cc916064808301926000929190829003018186803b158015611c7757600080fd5b505af4158015611c8b573d6000803e3d6000fd5b50506040805184815290517fd7764866d2b524c8fa50c82668b78d32bf7b46a87e37b891de9dd40853de464f9350908190036020019150a150565b611cce613af3565b80611d20576040805162461bcd60e51b815260206004820152601860248201527f5765696768742064656361792063616e6e6f7420626520300000000000000000604482015290519081900360640190fd5b611d28613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527f65786368616e676544796e616d69634665655765696768744465636179000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611dab57600080fd5b505af1158015611dbf573d6000803e3d6000fd5b50506040805184815290517fd80e77b0d087a975f2a783eb806eb9a1e93dab1bf148651d3e70c6e85d740eba9350908190036020019150a150565b611e02613af3565b611e0a613b3e565b60408051633e0ecceb60e11b81526001600160a01b03929092166004830152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b602483015282151560448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c1d99d6916064808301926000929190829003018186803b158015611e8b57600080fd5b505af4158015611e9f573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b60006110d6614337565b6000611ef06143b3565b51905090565b611efe613af3565b611f06613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611f7b57600080fd5b505af1158015611f8f573d6000803e3d6000fd5b50506040805184815290517f6586b69a20f0202ee8802e307c1ca76ce96354ff6b1123d5d7fd3e9b0057e0359350908190036020019150a150565b6001546001600160a01b031681565b611fe1613af3565b611fe9613b3e565b60408051636a5b304360e01b81526001600160a01b0392909216600483015274736e784c69717569646174696f6e50656e616c747960581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91636a5b3043916064808301926000929190829003018186803b15801561206957600080fd5b505af415801561207d573d6000803e3d6000fd5b50506040805184815290517fe7a7d374b4557aa224d3675ac9b1abd0ac00b616e7b669db75d30d8582935bb39350908190036020019150a150565b6120c0613af3565b6120c8613b3e565b6040805163064c16cf60e21b81526001600160a01b039290921660048301527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916319305b3c916064808301926000929190829003018186803b15801561214a57600080fd5b505af415801561215e573d6000803e3d6000fd5b50506040805184815290517ff96e059cb3386bb65fd1d80017c7ce524f813b012d7dc97a1252f9cd4f4c99f39350908190036020019150a150565b6000610e298261469d565b6121ac613af3565b6121b4613b3e565b60408051632cfaf72960e21b81526001600160a01b039290921660048301526f6c69717569646174696f6e44656c617960801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163b3ebdca4916064808301926000929190829003018186803b15801561222f57600080fd5b505af4158015612243573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b600073__$6a024fd1d0d065824004f6878746fc5d0d$__6375d0c0dc6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122c457600080fd5b505af41580156122d8573d6000803e3d6000fd5b505050506040513d60208110156122ee57600080fd5b5051905090565b6122fd613af3565b612305613b3e565b6040805163d4aebcef60e01b81526001600160a01b039290921660048301527464656274536e617073686f745374616c6554696d6560581b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d4aebcef916064808301926000929190829003018186803b15801561238557600080fd5b505af4158015612399573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b6123dc613af3565b6123e4613b3e565b604080516341a7936f60e11b81526001600160a01b039290921660048301527077616974696e67506572696f645365637360781b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163834f26de916064808301926000929190829003018186803b15801561246057600080fd5b505af4158015612474573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b60006110d6614755565b6000610e29826147cb565b60606124ce612cc5565b905060005b81518110156126885760008282815181106124ea57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156125a0578181015183820152602001612588565b50505050905090810190601f1680156125cd5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156125eb57600080fd5b505afa1580156125ff573d6000803e3d6000fd5b505050506040513d602081101561261557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016124d3565b5050565b612694613af3565b61269c613b3e565b6040805163fe250a5560e01b81526001600160a01b03929092166004830152766574686572577261707065724d696e744665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fe250a55916064808301926000929190829003018186803b15801561271e57600080fd5b505af4158015612732573d6000803e3d6000fd5b50506040805184815290517f19ef86e0422ac5c02afdc7b9f91f468ccc5e9b785bf7c158e01357e8503a819b9350908190036020019150a150565b6001546001600160a01b031633146127b65760405162461bcd60e51b81526004018080602001828103825260358152602001806154456035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b612831613af3565b612839613b3e565b6040805163fd194a3560e01b81526001600160a01b039290921660048301526e1c985d1954dd185b1954195c9a5bd9608a1b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fd194a35916064808301926000929190829003018186803b1580156128b357600080fd5b505af41580156128c7573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b61290a613af3565b612912613b3e565b604080516330d6e65760e21b81526001600160a01b0392831660048201527561676772656761746f725761726e696e67466c61677360501b602482015291831660448301525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163c35b995c916064808301926000929190829003018186803b15801561299357600080fd5b505af41580156129a7573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b6129f3613af3565b6129fb613b3e565b6040805163067bb56d60e31b81526001600160a01b039290921660048301526f61746f6d69635477617057696e646f7760801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916333ddab68916064808301926000929190829003018186803b158015612a7657600080fd5b505af4158015612a8a573d6000803e3d6000fd5b50506040805184815290517f61ee2076e20b46130ce31de66f08321493e96f79de0837fb0296b7feca92285b9350908190036020019150a150565b6000612acf6143b3565b60400151905090565b60006110d6614886565b612aea613af3565b612af2613b3e565b60408051631b5238f760e31b81526001600160a01b0392831660048201526e636f6c6c617073654665655261746560881b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163da91c7b8916084808301926000929190829003018186803b158015612b7357600080fd5b505af4158015612b87573d6000803e3d6000fd5b50506040805184815290517f7e9498fa8cb2442ec5a6f05b47f4adaafaf286d03a3fa580cc0f3592b60b32359350908190036020019150a15050565b60006110d66148f6565b612bd5613af3565b612bdd613b3e565b60408051637c14e56b60e01b81526001600160a01b039290921660048301527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c6564000060248301526044820184905282151560648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637c14e56b916084808301926000929190829003018186803b158015612c6d57600080fd5b505af4158015612c81573d6000803e3d6000fd5b505060408051858152841515602082015281517fc39c526ec779c4ad9e0426c2a964a82134f99c4490e764153e19574c58b2ab539450908190039091019150a15050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612d0757fe5b60200260200101818152505090565b6000546001600160a01b031681565b60006110d661496d565b612d37613af3565b612d3f613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6311d78c0c90916f6c69717569646174696f6e526174696f60801b84612d816149ea565b612d89614a65565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b031681526020018581526020018481526020018381526020018281526020019550505050505060006040518083038186803b158015612deb57600080fd5b505af4158015612dff573d6000803e3d6000fd5b50506040805184815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a150565b6000610e2982614ad8565b6000610e2982614b7b565b612e58613af3565b612e60613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63c404a0de909171777261707065724275726e4665655261746560701b8585612ea6886140d3565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b158015612f1a57600080fd5b505af4158015612f2e573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517f65647551bef307c3b3c3cc08ff4dd60cf02eb1e9e9d20604c5603b90a453e4979450908190039091019150a15050565b60006110d6614c27565b60006110d6614c9d565b6000610e2982614d1a565b60006110d6614dcb565b612fab613af3565b612fb3613b3e565b60408051631f86e9a960e21b81526001600160a01b0392831660048201526f777261707065724d6178546f6b656e7360801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__91637e1ba6a4916084808301926000929190829003018186803b15801561303557600080fd5b505af4158015613049573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517fc466f93337e5645290e02cdbed66a95340e81d809b710d8f6de2280de3e27b2f9450908190039091019150a15050565b60006110d6614a65565b60006110d6614e46565b60006110d6614ebe565b6130bb613af3565b6130c3613b3e565b60408051635f7ad87160e01b81526001600160a01b0392831660048201527f61746f6d69634571756976616c656e74466f7244657850726963696e6700000060248201526044810185905291831660648301525173__$6a024fd1d0d065824004f6878746fc5d0d$__91635f7ad871916084808301926000929190829003018186803b15801561315257600080fd5b505af4158015613166573d6000803e3d6000fd5b5050604080518581526001600160a01b038516602082015281517fc7cff0a6f47777500050f9a29aac5206e15b25b782d1834a176f3b3b134d4f3a9450908190039091019150a15050565b6131b9613af3565b6131c1613b3e565b60408051637dfecb2360e11b81526001600160a01b0392831660048201526f696e746572616374696f6e44656c617960801b60248201529184166044830152606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163fbfd9646916084808301926000929190829003018186803b15801561324357600080fd5b505af4158015613257573d6000803e3d6000fd5b50506040805184815290517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c23619350908190036020019150a15050565b60006110d6614f39565b6132a5613af3565b6132ad613b3e565b60408051630a6c461160e41b81526001600160a01b03929092166004830152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163a6c46110916064808301926000929190829003018186803b15801561332a57600080fd5b505af415801561333e573d6000803e3d6000fd5b50506040805184815290517f8086de8bfec0a6cd9a9213caef7ee137a59e4d8da145de163dc3f244dacddc689350908190036020019150a150565b613381613af3565b613389613b3e565b6001600160a01b0316631d5b277f6000805160206154a98339815191527765786368616e676544796e616d6963466565526f756e647360401b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561340757600080fd5b505af115801561341b573d6000803e3d6000fd5b50506040805184815290517f098d0190950f074545dd4e10dda16c804bd054facc9ed1ec4181e076ab09bd479350908190036020019150a150565b61345e613af3565b613466613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__6353c0bf1c909171777261707065724d696e744665655261746560701b85856134ac886147cb565b6040518663ffffffff1660e01b815260040180866001600160a01b03166001600160a01b03168152602001858152602001846001600160a01b03166001600160a01b031681526020018381526020018281526020019550505050505060006040518083038186803b15801561352057600080fd5b505af4158015613534573d6000803e3d6000fd5b5050604080516001600160a01b03861681526020810185905281517ffe7e17467e216f68f8d4a3aea0ab082631afc874fb216e93c38e52a2ddb7ec659450908190039091019150a15050565b600061358a6143b3565b60200151905090565b61359b613af3565b6135a3613b3e565b6001600160a01b031673__$6a024fd1d0d065824004f6878746fc5d0d$__63f02d9a5b90916135d185614fb8565b846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060006040518083038186803b15801561362657600080fd5b505af415801561363a573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a82826040518083600581111561367157fe5b60ff1681526020018281526020019250505060405180910390a15050565b60006110d6615161565b6136a1613af3565b6136a9613b3e565b6001600160a01b0316631d5b277f6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561372857600080fd5b505af115801561373c573d6000803e3d6000fd5b50506040805184815290517f9f268a84b9cb3eb37f078345457b36a34236602cd78eac0d9166e9e62579fef19350908190036020019150a150565b61377f613af3565b613787613b3e565b6040805163496d5d7960e11b81526001600160a01b03929092166004830152766574686572577261707065724275726e4665655261746560481b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__916392dabaf2916064808301926000929190829003018186803b15801561380957600080fd5b505af415801561381d573d6000803e3d6000fd5b50506040805184815290517f1c97c2e8b44aa487062d3e92ce52ac814b35191f4799fd2d5a3f36c67f1d9d4a9350908190036020019150a150565b60006110d66149ea565b61386a613af3565b613872613b3e565b6040805163d9158b0360e01b81526001600160a01b039290921660048301526f6d696e696d756d5374616b6554696d6560801b6024830152604482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163d9158b03916064808301926000929190829003018186803b1580156138ed57600080fd5b505af4158015613901573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b6000610e29826151d6565b61394f613af3565b613957613b3e565b6040805163446ca4fd60e01b81526001600160a01b0392909216600483015277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b602483015260448201849052606482018390525173__$6a024fd1d0d065824004f6878746fc5d0d$__9163446ca4fd916084808301926000929190829003018186803b1580156139e157600080fd5b505af41580156139f5573d6000803e3d6000fd5b5050604080518581526020810185905281517f460476cc6f40e86f19053ba74c9baf4c2cef96452bb2722a454d66db953a7b3d9450908190039091019150a15050565b6000610e2982615287565b6000613a4d6143b3565b60600151905090565b6000613a60613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152613a8685614fb8565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b505afa158015613ad5573d6000803e3d6000fd5b505050506040513d6020811015613aeb57600080fd5b505192915050565b6000546001600160a01b03163314613b3c5760405162461bcd60e51b815260040180806020018281038252602f81526020018061547a602f913960400191505060405180910390fd5b565b60006110d66e466c657869626c6553746f7261676560881b615338565b6000613b65613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f696e746572616374696f6e44656c617960801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613c1e613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b505afa1580156122d8573d6000803e3d6000fd5b6000613ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724d696e744665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613da0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613e16613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f777261707065724d6178546f6b656e7360801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000613ecf613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613f46613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000613fbe613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614034613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527461746f6d696345786368616e67654665655261746560581b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006140dd613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724d696e744665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614198613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600061420d613b3e565b6001600160a01b031663d994502d6000805160206154a98339815191527f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b60006142be613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614341613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6143bb61541c565b60408051600480825260a08201909252606091602082016080803883390190505090507f65786368616e676544796e616d69634665655468726573686f6c6400000000008160008151811061440c57fe5b6020026020010181815250507f65786368616e676544796e616d696346656557656967687444656361790000008160018151811061444657fe5b6020026020010181815250507765786368616e676544796e616d6963466565526f756e647360401b8160028151811061447b57fe5b6020026020010181815250507465786368616e67654d617844796e616d696346656560581b816003815181106144ad57fe5b60200260200101818152505060606144c3613b3e565b6001600160a01b031663b67fa7ed6000805160206154a9833981519152846040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019060200280838360005b8381101561453657818101518382015260200161451e565b50505050905001935050505060006040518083038186803b15801561455a57600080fd5b505afa15801561456e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561459757600080fd5b81019080805160405193929190846401000000008211156145b757600080fd5b9083019060208201858111156145cc57600080fd5b82518660208202830111640100000000821117156145e957600080fd5b82525081516020918201928201910280838360005b838110156146165781810151838201526020016145fe565b50505050905001604052505050905060405180608001604052808260008151811061463d57fe5b602002602001015181526020018260018151811061465757fe5b602002602001015181526020018260028151811061467157fe5b602002602001015181526020018260038151811061468b57fe5b60200260200101518152509250505090565b60006146a7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e636f6c6c617073654665655261746560881b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600061475f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006147d5613b3e565b6001600160a01b031663c4f610ed6000805160206154a983398151915271777261707065724275726e4665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614890613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915269199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614900613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614977613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152766574686572577261707065724275726e4665655261746560481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006149f4613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915274736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614a6f613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ae2613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614b85613b3e565b6001600160a01b03166323257c2b6000805160206154a983398151915277185d1bdb5a58d59bdb155c19185d19551a1c995cda1bdb1960421b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614c31613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ca7613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527661746f6d69634d6178566f6c756d65506572426c6f636b60481b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614d24613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f7700000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000614dd5613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614e50613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614ec8613b3e565b6001600160a01b031663d994502d6000805160206154a9833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b6000614f43613b3e565b6001600160a01b03166323257c2b6000805160206154a9833981519152783634b8bab4b230ba34b7b722b9b1b937bba23ab930ba34b7b760391b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b600080826005811115614fc757fe5b1415614ff457507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610e2c565b600182600581111561500257fe5b141561502f57507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610e2c565b600282600581111561503d57fe5b141561506a57507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610e2c565b600382600581111561507857fe5b14156150a557507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610e2c565b60058260058111156150b357fe5b14156150e057507f63726f7373446f6d61696e52656c61794761734c696d69740000000000000000610e2c565b60048260058111156150ee57fe5b141561511b57507f63726f7373446f6d61696e436c6f73654761734c696d69740000000000000000610e2c565b6040805162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b604482015290519081900360640190fd5b600061516b613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613c8957600080fd5b60006151e0613b3e565b6001600160a01b03166323257c2b6000805160206154a98339815191527f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b6000615291613b3e565b6001600160a01b0316639ee5955a6000805160206154a98339815191527f61746f6d69634571756976616c656e74466f7244657850726963696e67000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613ac157600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816154155760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156153da5781810151838201526020016153c2565b50505050905090810190601f1680156154075780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b604051806080016040528060008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53797374656d53657474696e6773000000000000000000000000000000000000a265627a7a72315820032bfd705d71b297711677cb27c167eb44b71f1642e213a4cb432d6e92fceaa764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "flags",
							"type": "address"
						}
					],
					"name": "AggregatorWarningFlagsUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "equivalent",
							"type": "address"
						}
					],
					"name": "AtomicEquivalentForDexPricingUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "AtomicExchangeFeeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newMaxVolume",
							"type": "uint256"
						}
					],
					"name": "AtomicMaxVolumePerBlockUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newWindow",
							"type": "uint256"
						}
					],
					"name": "AtomicTwapWindowUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newVolatilityConsiderationWindow",
							"type": "uint256"
						}
					],
					"name": "AtomicVolatilityConsiderationWindowUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newVolatilityUpdateThreshold",
							"type": "uint256"
						}
					],
					"name": "AtomicVolatilityUpdateThresholdUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collapseFeeRate",
							"type": "uint256"
						}
					],
					"name": "CollapseFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "CrossChainSynthTransferEnabledUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtSnapshotStaleTime",
							"type": "uint256"
						}
					],
					"name": "DebtSnapshotStaleTimeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "EtherWrapperBurnFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxETH",
							"type": "uint256"
						}
					],
					"name": "EtherWrapperMaxETHUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "EtherWrapperMintFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "dynamicFeeRounds",
							"type": "uint256"
						}
					],
					"name": "ExchangeDynamicFeeRoundsUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "dynamicFeeThreshold",
							"type": "uint256"
						}
					],
					"name": "ExchangeDynamicFeeThresholdUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "dynamicFeeWeightDecay",
							"type": "uint256"
						}
					],
					"name": "ExchangeDynamicFeeWeightDecayUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxDynamicFee",
							"type": "uint256"
						}
					],
					"name": "ExchangeMaxDynamicFeeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newFeePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "FeePeriodDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newReward",
							"type": "uint256"
						}
					],
					"name": "FlagRewardUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newReward",
							"type": "uint256"
						}
					],
					"name": "LiquidateRewardUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDelay",
							"type": "uint256"
						}
					],
					"name": "LiquidationDelayUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "LiquidationEscrowDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimumStakeTime",
							"type": "uint256"
						}
					],
					"name": "MinimumStakeTimeUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "threshold",
							"type": "uint256"
						}
					],
					"name": "PriceDeviationThresholdUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "PureChainlinkPriceForAtomicSwapsEnabledUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateStalePeriod",
							"type": "uint256"
						}
					],
					"name": "RateStalePeriodUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "SelfLiquidationPenaltyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "SnxLiquidationPenaltyUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newTargetThreshold",
							"type": "uint256"
						}
					],
					"name": "TargetThresholdUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "TradingRewardsEnabled",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "WaitingPeriodSecsUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "rate",
							"type": "int256"
						}
					],
					"name": "WrapperBurnFeeRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxTokenAmount",
							"type": "uint256"
						}
					],
					"name": "WrapperMaxTokenAmountUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "rate",
							"type": "int256"
						}
					],
					"name": "WrapperMintFeeRateUpdated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "atomicEquivalentForDexPricing",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "atomicExchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "atomicMaxVolumePerBlock",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "atomicTwapWindow",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "atomicVolatilityConsiderationWindow",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "atomicVolatilityUpdateThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "collapseFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "crossChainSynthTransferEnabled",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "etherWrapperBurnFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "etherWrapperMaxETH",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "etherWrapperMintFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeDynamicFeeRounds",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeDynamicFeeThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeDynamicFeeWeightDecay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeMaxDynamicFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "flagReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidateReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationEscrowDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "pureChainlinkPriceForAtomicSwapsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfLiquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_equivalent",
							"type": "address"
						}
					],
					"name": "setAtomicEquivalentForDexPricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_exchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "setAtomicExchangeFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxVolume",
							"type": "uint256"
						}
					],
					"name": "setAtomicMaxVolumePerBlock",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_window",
							"type": "uint256"
						}
					],
					"name": "setAtomicTwapWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_window",
							"type": "uint256"
						}
					],
					"name": "setAtomicVolatilityConsiderationWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_threshold",
							"type": "uint256"
						}
					],
					"name": "setAtomicVolatilityUpdateThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_collateral",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_collapseFeeRate",
							"type": "uint256"
						}
					],
					"name": "setCollapseFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_value",
							"type": "uint256"
						}
					],
					"name": "setCrossChainSynthTransferEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setDebtSnapshotStaleTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rate",
							"type": "uint256"
						}
					],
					"name": "setEtherWrapperBurnFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxETH",
							"type": "uint256"
						}
					],
					"name": "setEtherWrapperMaxETH",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rate",
							"type": "uint256"
						}
					],
					"name": "setEtherWrapperMintFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rounds",
							"type": "uint256"
						}
					],
					"name": "setExchangeDynamicFeeRounds",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "threshold",
							"type": "uint256"
						}
					],
					"name": "setExchangeDynamicFeeThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "weightDecay",
							"type": "uint256"
						}
					],
					"name": "setExchangeDynamicFeeWeightDecay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "maxFee",
							"type": "uint256"
						}
					],
					"name": "setExchangeMaxDynamicFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_feePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "setFeePeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "setFlagReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_collateral",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "setLiquidateReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "setLiquidationDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setLiquidationEscrowDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setMinimumStakeTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_priceDeviationThresholdFactor",
							"type": "uint256"
						}
					],
					"name": "setPriceDeviationThresholdFactor",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "_enabled",
							"type": "bool"
						}
					],
					"name": "setPureChainlinkPriceForAtomicSwapsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "setRateStalePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setSelfLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setSnxLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "percent",
							"type": "uint256"
						}
					],
					"name": "setTargetThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_tradingRewardsEnabled",
							"type": "bool"
						}
					],
					"name": "setTradingRewardsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "setWaitingPeriodSecs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_wrapper",
							"type": "address"
						},
						{
							"internalType": "int256",
							"name": "_rate",
							"type": "int256"
						}
					],
					"name": "setWrapperBurnFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_wrapper",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_maxTokenAmount",
							"type": "uint256"
						}
					],
					"name": "setWrapperMaxTokenAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_wrapper",
							"type": "address"
						},
						{
							"internalType": "int256",
							"name": "_rate",
							"type": "int256"
						}
					],
					"name": "setWrapperMintFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "snxLiquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						}
					],
					"name": "wrapperBurnFeeRate",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						}
					],
					"name": "wrapperMaxTokenAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "wrapper",
							"type": "address"
						}
					],
					"name": "wrapperMintFeeRate",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x6af2cf3e8bef667404d764f991e906eaffedde5921397198a65282aef2e2056c",
				"urls": [
					"bzz-raw://6b1e81e37921612ba01c4baeffa94d25d13039818f7d978d00c2655433616dfa",
					"dweb:/ipfs/Qmb26xEqvPh857bTCJYJVVEncPcad4MW9ucg4acDZxtjwT"
				]
			},
			"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": "0x6af2cf3e8bef667404d764f991e906eaffedde5921397198a65282aef2e2056c",
						"urls": [
							"bzz-raw://6b1e81e37921612ba01c4baeffa94d25d13039818f7d978d00c2655433616dfa",
							"dweb:/ipfs/Qmb26xEqvPh857bTCJYJVVEncPcad4MW9ucg4acDZxtjwT"
						]
					}
				},
				"version": 1
			}
		},
		"TradingRewards": {
			"bytecode": "608060405234801561001057600080fd5b506040516122133803806122138339818101604052606081101561003357600080fd5b5080516020820151604090920151600160005590919080836001600160a01b0381166100a6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506001546001600160a01b0316610152576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60048054610100600160a81b0319166101006001600160a01b039384160217905582166101c6576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b50600980546001600160a01b0319166001600160a01b03929092169190911790555061201c806101f76000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063741853601161010f578063b225dbaa116100a2578063f32ffd6911610071578063f32ffd69146104e2578063f61f5df614610552578063f6b584791461057e578063fc9c99ac146105fe576101f0565b8063b225dbaa14610491578063ccb6e043146102c5578063ce7fccba146104ae578063dea021a5146104da576101f0565b806391b4ded9116100de57806391b4ded914610438578063937ffb8f146104405780639865fdb71461045d578063ae934a7a14610465576101f0565b806374185360146103c857806379ba5097146103d0578063899ffef4146103d85780638da5cb5b14610430576101f0565b80632af64bd31161018757806355aa41bf1161015657806355aa41bf1461037e5780635c975abb1461039b5780636fe4136b146103a3578063706848d2146103ab576101f0565b80632af64bd31461032257806338dfa8cf1461032a5780633dbf12fa1461035057806353a47bb714610376576101f0565b806316841952116101c3578063168419521461028957806316c38b3c146102a6578063175c5189146102c557806321cad774146102f6576101f0565b806304f3bcec146101f5578063056097ac14610219578063086146d2146102495780631627540c14610263575b600080fd5b6101fd610606565b604080516001600160a01b039092168252519081900360200190f35b6102476004803603604081101561022f57600080fd5b506001600160a01b038135811691602001351661061a565b005b6102516107c5565b60408051918252519081900360200190f35b6102476004803603602081101561027957600080fd5b50356001600160a01b03166107cc565b6102476004803603602081101561029f57600080fd5b5035610828565b610247600480360360208110156102bc57600080fd5b50351515610a51565b6102e2600480360360208110156102db57600080fd5b5035610acb565b604080519115158252519081900360200190f35b6102476004803603604081101561030c57600080fd5b50803590602001356001600160a01b0316610ae0565b6102e2610c0a565b6102476004803603602081101561034057600080fd5b50356001600160a01b0316610d1c565b6102476004803603602081101561036657600080fd5b50356001600160a01b0316610ed4565b6101fd610f8b565b6102516004803603602081101561039457600080fd5b5035610f9a565b6102e2610faf565b6101fd610fb8565b610251600480360360208110156103c157600080fd5b5035610fc7565b610247610fdc565b6102476111b9565b6103e0611275565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561041c578181015183820152602001610404565b505050509050019250505060405180910390f35b6101fd6112e4565b6102516112f3565b6102516004803603602081101561045657600080fd5b50356112f9565b61025161130e565b6102476004803603604081101561047b57600080fd5b506001600160a01b0381351690602001356113ab565b610247600480360360208110156104a757600080fd5b5035611518565b610251600480360360408110156104c457600080fd5b506001600160a01b0381351690602001356115c5565b6101fd6115da565b610247600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184602083028401116401000000008311171561054757600080fd5b5090925090506115e9565b6102516004803603604081101561056857600080fd5b506001600160a01b0381351690602001356116c7565b6102516004803603604081101561059457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460208302840111640100000000831117156105f357600080fd5b5090925090506116f2565b610251611742565b60045461010090046001600160a01b031681565b610622611748565b61062b81611793565b610633611803565b6001600160a01b0316826001600160a01b03161415610699576040805162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d602081101561070e57600080fd5b505190508061075b576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6107756001600160a01b038316848363ffffffff61181a16565b604080516001600160a01b0380871682528516602082015280820183905290517f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe69181900360600190a150505050565b6006545b90565b6107d4611748565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6009546001600160a01b03163314610887576040805162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015290519081900360640190fd5b6000610891611803565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108e657600080fd5b505afa1580156108fa573d6000803e3d6000fd5b505050506040513d602081101561091057600080fd5b505160075490915060009061092c90839063ffffffff61186c16565b905080831115610983576040805162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015290519081900360640190fd5b60065460009081526008602052604090206002810184905560038101849055805460ff191660011781556007546109c0908563ffffffff6118c916565b600755600654604080519182526020820186905280517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9281900390910190a1600654610a1490600163ffffffff6118c916565b600681905560408051918252517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329181900360200190a150505050565b610a59611748565b60045460ff1615158115151415610a6f57610ac8565b6004805460ff1916821515179081905560ff1615610a8c57426003555b6004546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60009081526008602052604090205460ff1690565b610ae8611923565b6001600160a01b0316336001600160a01b031614610b4d576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60065460009081526008602090815260408083206001600160a01b03851684526004810190925290912054610b88908463ffffffff6118c916565b6001600160a01b03831660009081526004830160205260409020556001810154610bb8908463ffffffff6118c916565b600182015560065460408051858152602081019290925280516001600160a01b038516927f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf86692908290030190a2505050565b60006060610c16611275565b905060005b8151811015610d13576000828281518110610c3257fe5b602090810291909101810151600081815260058352604090819020546004805483516321f8a72160e01b815291820185905292519395506001600160a01b0391821694610100909304909116926321f8a72192602480840193919291829003018186803b158015610ca257600080fd5b505afa158015610cb6573d6000803e3d6000fd5b505050506040513d6020811015610ccc57600080fd5b50516001600160a01b0316141580610cf957506000818152600560205260409020546001600160a01b0316155b15610d0a57600093505050506107c9565b50600101610c1b565b50600191505090565b610d24611748565b610d2d81611793565b6000610d37611803565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d6020811015610db657600080fd5b5051905080610e03576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6000610e1a6007548361186c90919063ffffffff16565b905060008111610e68576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b610e8b8382610e75611803565b6001600160a01b0316919063ffffffff61181a16565b604080516001600160a01b03851681526020810183905281517f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3929181900390910190a1505050565b610edc611748565b6001600160a01b038116610f37576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600980546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc9181900360200190a150565b6002546001600160a01b031681565b60009081526008602052604090206001015490565b60045460ff1681565b6000610fc2611803565b905090565b60009081526008602052604090206003015490565b6060610fe6611275565b905060005b81518110156111b557600082828151811061100257fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110cd5781810151838201526020016110b5565b50505050905090810190601f1680156110fa5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b505160008381526005602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610feb565b5050565b6002546001600160a01b031633146112025760405162461bcd60e51b8152600401808060200182810382526035815260200180611efd6035913960400191505060405180910390fd5b600154600254604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b816000815181106112af57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106112d557fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526008602052604090206002015490565b6000610fc260075461131e611803565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137357600080fd5b505afa158015611387573d6000803e3d6000fd5b505050506040513d602081101561139d57600080fd5b50519063ffffffff61186c16565b6113b3611748565b6113bc82611793565b6006548110611412576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015290519081900360640190fd5b60008181526008602052604090206003810154611476576040805162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015290519081900360640190fd5b60038101546114888482610e75611803565b60075461149b908263ffffffff61186c16565b6007556000838152600860209081526040808320805460ff1916815560018101849055600281018490556003019290925581516001600160a01b038716815290810183905280820185905290517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9181900360600190a150505050565b600080546001019081905560045460ff16156115655760405162461bcd60e51b815260040180806020018281038252603c815260200180611f82603c913960400191505060405180910390fd5b61156f338361193a565b60005481146111b5576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60006115d18383611a99565b90505b92915050565b6009546001600160a01b031690565b600080546001019081905560045460ff16156116365760405162461bcd60e51b815260040180806020018281038252603c815260200180611f82603c913960400191505060405180910390fd5b60005b8281101561166b57600084848381811061164f57fe5b905060200201359050611662338261193a565b50600101611639565b5060005481146116c2576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b60009081526008602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b8281101561173a57600084848381811061170c57fe5b90506020020135905061172f6117228783611a99565b849063ffffffff6118c916565b9250506001016116f6565b509392505050565b60075490565b6001546001600160a01b031633146117915760405162461bcd60e51b815260040180806020018281038252602f815260200180611f32602f913960400191505060405180910390fd5b565b6001600160a01b03811615806117b157506001600160a01b03811630145b15610ac8576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f7665722061646472657373000000000000000000604482015290519081900360640190fd5b6000610fc2680a6f2dce8d0cae8d2f60bb1b611b3d565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526116c2908490611c21565b6000828211156118c3576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156115d1576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610fc26822bc31b430b733b2b960b91b611b3d565b6000818152600860205260409020805460ff1661199e576040805162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a6564000000000000000000604482015290519081900360640190fd5b60006119aa8484611a99565b9050600081116119f8576040805162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015290519081900360640190fd5b6001600160a01b03841660009081526004830160205260408120556003820154611a28908263ffffffff61186c16565b6003830155600754611a40908263ffffffff61186c16565b600755611a508482610e75611803565b604080518281526020810185905281516001600160a01b038716927fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325928290030190a250505050565b600081815260086020526040812060038101541580611aba57506001810154155b80611ac75750805460ff16155b15611ad65760009150506115d4565b6001600160a01b038416600090815260048201602052604090205480611b01576000925050506115d4565b6000611b1a836001015483611ddf90919063ffffffff16565b9050611b33836002015482611e0990919063ffffffff16565b9695505050505050565b600081815260056020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611c1a5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611bdf578181015183820152602001611bc7565b50505050905090810190601f168015611c0c5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b611c33826001600160a01b0316611e33565b611c84576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611cc25780518252601f199092019160209182019101611ca3565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d24576040519150601f19603f3d011682016040523d82523d6000602084013e611d29565b606091505b509150915081611d80576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611dd957808060200190516020811015611d9c57600080fd5b5051611dd95760405162461bcd60e51b815260040180806020018281038252602a815260200180611fbe602a913960400191505060405180910390fd5b50505050565b60006115d182611dfd85670de0b6b3a764000063ffffffff611e3916565b9063ffffffff611e9216565b6000670de0b6b3a7640000611e24848463ffffffff611e3916565b81611e2b57fe5b049392505050565b3b151590565b600082611e48575060006115d4565b82820282848281611e5557fe5b04146115d15760405162461bcd60e51b8152600401808060200182810382526021815260200180611f616021913960400191505060405180910390fd5b6000808211611ee8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611ef357fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a7231582099ffc330f83cbd93ea5c827c0f9f0c8e88d2c0be241499dc9e0d9fc7f71eed3164736f6c63430005100032",
			"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": "0xbd78e356e87ea7ca505e365a1a21c5f84511c231a3531d61e7f0c4341ea80530",
				"urls": [
					"bzz-raw://7252dda708182a6cebf3c49e4de48b440cc3948e4216416b20dea5f75563bbb2",
					"dweb:/ipfs/QmdqHfLopjqVqvuEGMfU16XvzK2znZsws4ieMNGVoiaErW"
				]
			},
			"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": "0xbd78e356e87ea7ca505e365a1a21c5f84511c231a3531d61e7f0c4341ea80530",
						"urls": [
							"bzz-raw://7252dda708182a6cebf3c49e4de48b440cc3948e4216416b20dea5f75563bbb2",
							"dweb:/ipfs/QmdqHfLopjqVqvuEGMfU16XvzK2znZsws4ieMNGVoiaErW"
						]
					}
				},
				"version": 1
			}
		},
		"DebtCache": {
			"bytecode": "60806040526008805461ff001960ff199091166001171690553480156200002557600080fd5b50604051620036f0380380620036f0833981016040819052620000489162000114565b81818080836001600160a01b0381166200007f5760405162461bcd60e51b81526004016200007690620001d0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000cc918490620001aa565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055506200022b9350505050565b80516200010e8162000211565b92915050565b600080604083850312156200012857600080fd5b600062000136858562000101565b9250506020620001498582860162000101565b9150509250929050565b6200015e81620001fd565b82525050565b6200015e81620001eb565b60006200017e601983620001e2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001ba828562000153565b620001c9602083018462000164565b9392505050565b602080825281016200010e816200016f565b90815260200190565b60006001600160a01b0382166200010e565b60006200010e8260006200010e82620001eb565b6200021c81620001eb565b81146200022857600080fd5b50565b6134b5806200023b6000396000f3fe608060405234801561001057600080fd5b50600436106101e55760003560e01c8063741853601161010f578063af5355d8116100a2578063d0fffafd11610071578063d0fffafd146103cd578063d685743a146103d5578063e3476cd4146103e8578063fc524773146103f0576101e5565b8063af5355d81461038c578063b13cd78514610394578063b7224ec7146103a7578063cda218c7146103ba576101e5565b80638da5cb5b116100de5780638da5cb5b146103565780638dd5bfbc1461035e5780639e3b92ca14610371578063a5f27edb14610384576101e5565b80637418536014610329578063759076e51461033157806379ba509714610339578063899ffef414610341576101e5565b80632992dba21161018757806342c7b8191161015657806342c7b819146102d657806353a47bb7146102e9578063614d08f8146102fe5780636bf7c43514610306576101e5565b80632992dba21461028b5780632af64bd3146102a1578063392e53cd146102b65780633a900a2e146102be576101e5565b806307619a5f116101c357806307619a5f146102325780630fb38465146102525780631627540c1461026557806317b38db414610278576101e5565b806304bd11e5146101ea57806304f3bcec146101ff578063053932621461021d575b600080fd5b6101fd6101f8366004612a9c565b6103f8565b005b61020761040c565b604051610214919061320d565b60405180910390f35b61022561041b565b60405161021491906131b6565b6102456102403660046128fa565b610422565b6040516102149190613154565b610225610260366004612ad8565b610469565b6101fd6102733660046128b6565b61047b565b6101fd61028636600461293c565b6104d9565b610293610554565b60405161021492919061330c565b6102a961067c565b60405161021491906131a8565b6102a9610793565b6102c66107a1565b6040516102149493929190613327565b6101fd6102e4366004612ad8565b6107d2565b6102f16108ff565b60405161021491906130fa565b61022561090e565b6103196103143660046128fa565b61091e565b6040516102149493929190613165565b6101fd610971565b610293610ac7565b6101fd610ada565b610349610b7f565b6040516102149190613143565b6102f1610d44565b6101fd61036c366004612ad8565b610d53565b6101fd61037f366004612b14565b610e17565b6102a9610e66565b610225610e6f565b6102456103a23660046128fa565b610e7e565b6101fd6103b5366004612b44565b610ebc565b6101fd6103c83660046128fa565b6110d1565b6102256111aa565b6101fd6103e3366004612b14565b6111b0565b6101fd61123d565b6102a961146c565b610400611479565b610409816114b3565b50565b6002546001600160a01b031681565b6004545b90565b606061046083838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061150092505050565b90505b92915050565b60009081526005602052604090205490565b610483611590565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906104ce9083906130fa565b60405180910390a150565b6104e16115ba565b61054e8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201829052509250611615915050565b50505050565b600080606061056161175a565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561059957600080fd5b505afa1580156105ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105d591908101906129ac565b9050606060006105e361176e565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b815260040161060e9190613143565b60006040518083038186803b15801561062657600080fd5b505afa15801561063a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106629190810190612a4b565b91509150610671838383611789565b945094505050509091565b60006060610688610b7f565b905060005b815181101561078a5760008282815181106106a457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906106f59085906004016131b6565b60206040518083038186803b15801561070d57600080fd5b505afa158015610721573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061074591908101906128dc565b6001600160a01b031614158061077057506000818152600360205260409020546001600160a01b0316155b15610781576000935050505061041f565b5060010161068d565b50600191505090565b600854610100900460ff1681565b6007546004546008546000928392839283929190829060ff166107c3826119b6565b94509450945094505090919293565b6107da611479565b60006107e5826119cf565b9050600082131561085b57631cd554d160e21b600052600560205260008051602061345383398151915254610820908263ffffffff6119da16565b631cd554d160e21b600052600560205260008051602061345383398151915255600454610853908263ffffffff6119da16565b6004556108c2565b631cd554d160e21b60005260056020526000805160206134538339815191525461088b908263ffffffff6119ff16565b631cd554d160e21b6000526005602052600080516020613453833981519152556004546108be908263ffffffff6119ff16565b6004555b7f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5996004546040516108f391906131b6565b60405180910390a15050565b6001546001600160a01b031681565b6844656274436163686560b81b81565b60606000806000610961868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a2792505050565b9299919850965090945092505050565b606061097b610b7f565b905060005b8151811015610ac357600082828151811061099757fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109d991906130ef565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610a059291906131ed565b60206040518083038186803b158015610a1d57600080fd5b505afa158015610a31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a5591908101906128dc565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ab190849084906131c4565b60405180910390a15050600101610980565b5050565b600080610ad2611b85565b915091509091565b6001546001600160a01b03163314610b0d5760405162461bcd60e51b8152600401610b049061323c565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610b50926001600160a01b0391821692911690613116565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610b8a611dcd565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506524b9b9bab2b960d11b81600081518110610bca57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610bf057fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610c1a57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610c4357fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600481518110610c7157fe5b6020026020010181815250506d57726170706572466163746f727960901b81600581518110610c9c57fe5b6020026020010181815250506b22ba3432b92bb930b83832b960a11b81600681518110610cc557fe5b60200260200101818152505073233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b81600781518110610cf657fe5b60200260200101818152505073223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b81600881518110610d2757fe5b602002602001018181525050610d3d8282611e1e565b9250505090565b6000546001600160a01b031681565b610d5b611590565b6000610d6561175a565b6001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610d9091906131b6565b60206040518083038186803b158015610da857600080fd5b505afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de09190810190612b74565b6001600160a01b031614610e065760405162461bcd60e51b8152600401610b04906132ec565b600090815260056020526040812055565b610e1f611eda565b600082815260066020526040812054820190811215610e505760405162461bcd60e51b8152600401610b049061322c565b6000928352600660205260409092209190915550565b60085460ff1690565b6000610e79611f95565b905090565b606061046083838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061204592505050565b610ec4611590565b600854610100900460ff1615610eec5760405162461bcd60e51b8152600401610b049061327c565b6008805461ff001916610100179055604080516372cb051f60e01b815290516060916001600160a01b038416916372cb051f91600480820192600092909190829003018186803b158015610f3f57600080fd5b505afa158015610f53573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610f7b91908101906129ac565b90506000815111610f9e5760405162461bcd60e51b8152600401610b04906132fc565b6040516307619a5f60e01b81526060906001600160a01b038516906307619a5f90610fcd908590600401613143565b60006040518083038186803b158015610fe557600080fd5b505afa158015610ff9573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110219190810190612a16565b905060005b82518110156110ca57600082828151811061103d57fe5b602002602001015111156110c25761109782828151811061105a57fe5b60200260200101516006600086858151811061107257fe5b60200260200101518152602001908152602001600020546119da90919063ffffffff16565b600660008584815181106110a757fe5b60200260200101518152602001908152602001600020819055505b600101611026565b5050505050565b6110d96120cd565b606060006110e561176e565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b8152600401611112929190613131565b60006040518083038186803b15801561112a57600080fd5b505afa15801561113e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111669190810190612a4b565b9150915061054e8484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152508692508591506116159050565b60075490565b6111b8611479565b6040805160018082528183019092526060916020808301908038833901905050905082816000815181106111e857fe5b6020908102919091010152604080516001808252818301909252606091816020016020820280388339019050509050828160008151811061122557fe5b60200260200101818152505061054e82826000611615565b6112456120cd565b606061124f61175a565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561128757600080fd5b505afa15801561129b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112c391908101906129ac565b9050606060008060006112d585611a27565b6b11955515549154d7d111509560a21b600090815260056020527fb03402a6fc396b42a4a74df8120873f820800f1398191168ef707a9051d6d76e849055845194985092965090945092508491905b8181101561138e57600087828151811061133a57fe5b6020026020010151905061135781856119da90919063ffffffff16565b935080600560008b858151811061136a57fe5b60209081029190910181015182528101919091526040016000205550600101611324565b506c115610d31551115117d1115095609a1b600090815260056020527fbca14b7b4212dd98a4b255832d862779dccd9aba14592c2e2c4e62d4efc07bc78590556113de838663ffffffff61213316565b6004819055426007556040519091507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999061141a9083906131b6565b60405180910390a17fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f4260405161145191906131b6565b60405180910390a1611462846114b3565b5050505050505050565b6000610e796007546119b6565b61148161175a565b6001600160a01b0316336001600160a01b0316146114b15760405162461bcd60e51b8152600401610b04906132dc565b565b60085460ff16151581151514610409576008805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6060600082519050606081604051908082528060200260200182016040528015611534578160200160208202803883390190505b50905060005b82811015611588576006600086838151811061155257fe5b602002602001015181526020019081526020016000205482828151811061157557fe5b602090810291909101015260010161153a565b509392505050565b6000546001600160a01b031633146114b15760405162461bcd60e51b8152600401610b04906132bc565b6115c261175a565b6001600160a01b0316336001600160a01b031614806115f957506115e461214e565b6001600160a01b0316336001600160a01b0316145b6114b15760405162461bcd60e51b8152600401610b049061324c565b8251825181146116375760405162461bcd60e51b8152600401610b04906132ac565b60008060606116468787612165565b905060005b848110156116d557600088828151811061166157fe5b60200260200101519050600083838151811061167957fe5b602002602001015190506116a96005600084815260200190815260200160002054876119da90919063ffffffff16565b95506116bb858263ffffffff6119da16565b60009283526005602052604090922055925060010161164b565b5081831461174257600454611700846116f4838663ffffffff6119da16565b9063ffffffff6119ff16565b9050806004819055507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5998160405161173891906131b6565b60405180910390a1505b841561175157611751856114b3565b50505050505050565b6000610e796524b9b9bab2b960d11b6124f0565b6000610e796c45786368616e6765526174657360981b6124f0565b60008060008061179761254d565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b1580156117ce57600080fd5b505afa1580156117e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118069190810190612b92565b9150915060008061181561254d565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b15801561184c57600080fd5b505afa158015611860573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118849190810190612b92565b9150915086806118915750825b806118995750805b94506118ab848363ffffffff6119da16565b95506119356118b861256c565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b1580156118f057600080fd5b505afa158015611904573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119289190810190612af6565b879063ffffffff6119da16565b955060005b89518110156119a95761199f6119928a838151811061195557fe5b6020026020010151600660008e868151811061196d57fe5b602002602001015181526020019081526020016000205461258690919063ffffffff16565b889063ffffffff6119da16565b965060010161193a565b5050505050935093915050565b60008142036119c3611f95565b10806104635750501590565b60006104638261259b565b6000828201838110156104605760405162461bcd60e51b8152600401610b049061325c565b600082821115611a215760405162461bcd60e51b8152600401610b049061326c565b50900390565b6060600080600060606000611a3a61176e565b6001600160a01b031663c8e5bbd5886040518263ffffffff1660e01b8152600401611a659190613143565b60006040518083038186803b158015611a7d57600080fd5b505afa158015611a91573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ab99190810190612a4b565b915091506060611ac98884612165565b9050600080611ad98a8686611789565b91509150600080611ae86125b1565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b158015611b1f57600080fd5b505afa158015611b33573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b579190810190612b92565b915091508482858880611b675750835b80611b6f5750855b9a509a509a509a50505050505050509193509193565b6000806060611b9261175a565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611bca57600080fd5b505afa158015611bde573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c0691908101906129ac565b905060606000611c1461176e565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b8152600401611c3f9190613143565b60006040518083038186803b158015611c5757600080fd5b505afa158015611c6b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c939190810190612a4b565b915091506060611ca38484612165565b9050600080611cb3868686611789565b845191935091506000805b82811015611cf657611cec868281518110611cd557fe5b6020026020010151836119da90919063ffffffff16565b9150600101611cbe565b50600080611d026125b1565b6001600160a01b031663fc7b9c186040518163ffffffff1660e01b8152600401604080518083038186803b158015611d3957600080fd5b505afa158015611d4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d719190810190612b92565b9092509050611d86838363ffffffff6119da16565b9250858310611da457611d9f838763ffffffff6119ff16565b611da7565b60005b9250828880611db35750815b80611dbb5750855b9b509b50505050505050505050509091565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611e0f57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611e4e578160200160208202803883390190505b50905060005b8351811015611e9057838181518110611e6957fe5b6020026020010151828281518110611e7d57fe5b6020908102919091010152600101611e54565b5060005b8251811015611ed357828181518110611ea957fe5b6020026020010151828286510181518110611ec057fe5b6020908102919091010152600101611e94565b5092915050565b6000611ee46125d3565b6001600160a01b031663e0aa2797336040518263ffffffff1660e01b8152600401611f0f9190613108565b60206040518083038186803b158015611f2757600080fd5b505afa158015611f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f5f9190810190612aba565b6000549091506001600160a01b031633148080611f795750815b610ac35760405162461bcd60e51b8152600401610b049061329c565b6000611f9f6125ef565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401611ff59291906131d2565b60206040518083038186803b15801561200d57600080fd5b505afa158015612021573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e799190810190612af6565b6060600082519050606081604051908082528060200260200182016040528015612079578160200160208202803883390190505b50905060005b82811015611588576005600086838151811061209757fe5b60200260200101518152602001908152602001600020548282815181106120ba57fe5b602090810291909101015260010161207f565b6000546001600160a01b031633146114b1576120e761260c565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561211f57600080fd5b505afa15801561054e573d6000803e3d6000fd5b60008282101561214557818303610460565b50600092915050565b6000610e796822bc31b430b733b2b960b91b6124f0565b606060008351905080604051908082528060200260200182016040528015612197578160200160208202803883390190505b50915060606121a461175a565b6001600160a01b0316633b6afe40866040518263ffffffff1660e01b81526004016121cf9190613143565b60006040518083038186803b1580156121e757600080fd5b505afa1580156121fb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261222391908101906129e1565b9050600061222f612626565b6001600160a01b0316634c74183c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561226757600080fd5b505afa15801561227b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061229f9190810190612af6565b905060005b838110156124e65760008382815181106122ba57fe5b6020026020010151905060006001600160a01b0316816001600160a01b031614156122f75760405162461bcd60e51b8152600401610b049061328c565b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561233257600080fd5b505afa158015612346573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061236a9190810190612af6565b9050600061239489858151811061237d57fe5b60200260200101518361258690919063ffffffff16565b90506000631cd554d160e21b8786815181106123ac57fe5b60200260200101516001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156123ec57600080fd5b505afa158015612400573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124249190810190612af6565b14156124ab5773__$dca23be7dad9e358f0d949d7943fe17a26$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561246e57600080fd5b505af4158015612482573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124a69190810190612af6565b6124ad565b855b90506124bf828263ffffffff61258616565b8986815181106124cb57fe5b60209081029190910101525050600190920191506122a49050565b5050505092915050565b60008181526003602090815260408083205490516001600160a01b039091169182151591612520918691016130cf565b60405160208183030381529060405290611ed35760405162461bcd60e51b8152600401610b04919061321b565b6000610e797021b7b63630ba32b930b626b0b730b3b2b960791b6124f0565b6000610e796b22ba3432b92bb930b83832b960a11b6124f0565b60006104608383670de0b6b3a7640000612648565b60008082126125aa5781610463565b5060000390565b6000610e7973233aba3ab932b9a6b0b935b2ba26b0b730b3b2b960611b6124f0565b6000610e796d57726170706572466163746f727960901b6124f0565b6000610e796e466c657869626c6553746f7261676560881b6124f0565b6000610e796b53797374656d53746174757360a01b6124f0565b6000610e7973223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b6124f0565b600080600a830461265f868663ffffffff61268616565b8161266657fe5b0490506005600a82061061267857600a015b600a900490505b9392505050565b60008261269557506000610463565b828202828482816126a257fe5b04146104605760405162461bcd60e51b8152600401610b04906132cc565b803561046381613423565b805161046381613423565b60008083601f8401126126e857600080fd5b50813567ffffffffffffffff81111561270057600080fd5b60208301915083602082028301111561271857600080fd5b9250929050565b600082601f83011261273057600080fd5b815161274361273e82613376565b61334f565b9150818183526020840193506020810190508385602084028201111561276857600080fd5b60005b838110156124e6578161277e8882612895565b845250602092830192919091019060010161276b565b600082601f8301126127a557600080fd5b81516127b361273e82613376565b915081818352602084019350602081019050838560208402820111156127d857600080fd5b60005b838110156124e657816127ee88826128ab565b84525060209283019291909101906001016127db565b600082601f83011261281557600080fd5b815161282361273e82613376565b9150818183526020840193506020810190508385602084028201111561284857600080fd5b60005b838110156124e6578161285e8882612895565b845250602092830192919091019060010161284b565b803561046381613437565b805161046381613437565b803561046381613440565b805161046381613440565b803561046381613449565b805161046381613449565b6000602082840312156128c857600080fd5b60006128d484846126c0565b949350505050565b6000602082840312156128ee57600080fd5b60006128d484846126cb565b6000806020838503121561290d57600080fd5b823567ffffffffffffffff81111561292457600080fd5b612930858286016126d6565b92509250509250929050565b6000806000806040858703121561295257600080fd5b843567ffffffffffffffff81111561296957600080fd5b612975878288016126d6565b9450945050602085013567ffffffffffffffff81111561299457600080fd5b6129a0878288016126d6565b95989497509550505050565b6000602082840312156129be57600080fd5b815167ffffffffffffffff8111156129d557600080fd5b6128d48482850161271f565b6000602082840312156129f357600080fd5b815167ffffffffffffffff811115612a0a57600080fd5b6128d484828501612794565b600060208284031215612a2857600080fd5b815167ffffffffffffffff811115612a3f57600080fd5b6128d484828501612804565b60008060408385031215612a5e57600080fd5b825167ffffffffffffffff811115612a7557600080fd5b612a8185828601612804565b9250506020612a928582860161287f565b9150509250929050565b600060208284031215612aae57600080fd5b60006128d48484612874565b600060208284031215612acc57600080fd5b60006128d4848461287f565b600060208284031215612aea57600080fd5b60006128d4848461288a565b600060208284031215612b0857600080fd5b60006128d48484612895565b60008060408385031215612b2757600080fd5b6000612b33858561288a565b9250506020612a928582860161288a565b60008060408385031215612b5757600080fd5b6000612b6385856128a0565b9250506020612a92858286016128a0565b600060208284031215612b8657600080fd5b60006128d484846128ab565b60008060408385031215612ba557600080fd5b6000612a818585612895565b6000612bbd8383612cc6565b505060200190565b612bce816133d6565b82525050565b612bce816133af565b6000612be983856133a1565b93506001600160fb1b03831115612bff57600080fd5b602083029250612c108385846133e1565b50500190565b6000612c218261339d565b612c2b81856133a1565b9350612c3683613397565b8060005b83811015612c64578151612c4e8882612bb1565b9750612c5983613397565b925050600101612c3a565b509495945050505050565b6000612c7a8261339d565b612c8481856133a1565b9350612c8f83613397565b8060005b83811015612c64578151612ca78882612bb1565b9750612cb283613397565b925050600101612c93565b612bce816133ba565b612bce8161041f565b612bce612cdb8261041f565b61041f565b612bce816133bf565b6000612cf48261339d565b612cfe81856133a1565b9350612d0e8185602086016133ed565b612d1781613419565b9093019392505050565b6000612d2e6024836133a1565b7f4578636c7564656420646562742063616e6e6f74206265636f6d65206e6567618152637469766560e01b602082015260400192915050565b6000612d746035836133a1565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612dcb6021836133a1565b7f53656e646572206973206e6f7420497373756572206f722045786368616e67658152603960f91b602082015260400192915050565b6000612e0e601b836133a1565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612e47601e836133a1565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612e806011836133aa565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612ead6013836133a1565b72185b1c9958591e481a5b9a5d1a585b1a5e9959606a1b815260200192915050565b6000612edc6014836133a1565b7314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b815260200192915050565b6000612f0c601f836133a1565b7f4f6e6c7920646562742069737375657273206d61792063616c6c207468697300815260200192915050565b6000612f45601a836133a1565b7f496e707574206172726179206c656e6774687320646966666572000000000000815260200192915050565b6000612f7e602f836133a1565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612fcf6021836133a1565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006130126014836133a1565b7329b2b73232b91034b9903737ba1024b9b9bab2b960611b815260200192915050565b60006130426019836133aa565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061307b600c836133a1565b6b53796e74682065786973747360a01b815260200192915050565b60006130a3601d836133a1565b7f70726576696f75732049737375657220686173206e6f2073796e746873000000815260200192915050565b60006130da82612e73565b91506130e68284612ccf565b50602001919050565b60006130da82613035565b602081016104638284612bd4565b602081016104638284612bc5565b604081016131248285612bd4565b61267f6020830184612bd4565b602080825281016128d4818486612bdd565b602080825281016104608184612c16565b602080825281016104608184612c6f565b608080825281016131768187612c6f565b90506131856020830186612cc6565b6131926040830185612cc6565b61319f6060830184612cbd565b95945050505050565b602081016104638284612cbd565b602081016104638284612cc6565b604081016131248285612cc6565b604081016131e08285612cc6565b61267f6020830184612cc6565b604081016131fb8285612cc6565b81810360208301526128d48184612ce9565b602081016104638284612ce0565b602080825281016104608184612ce9565b6020808252810161046381612d21565b6020808252810161046381612d67565b6020808252810161046381612dbe565b6020808252810161046381612e01565b6020808252810161046381612e3a565b6020808252810161046381612ea0565b6020808252810161046381612ecf565b6020808252810161046381612eff565b6020808252810161046381612f38565b6020808252810161046381612f71565b6020808252810161046381612fc2565b6020808252810161046381613005565b602080825281016104638161306e565b6020808252810161046381613096565b6040810161331a8285612cc6565b61267f6020830184612cbd565b608081016133358287612cc6565b6133426020830186612cc6565b6131926040830185612cbd565b60405181810167ffffffffffffffff8111828210171561336e57600080fd5b604052919050565b600067ffffffffffffffff82111561338d57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000610463826133ca565b151590565b6000610463826133af565b6001600160a01b031690565b6000610463826133bf565b82818337506000910152565b60005b838110156134085781810151838201526020016133f0565b8381111561054e5750506000910152565b601f01601f191690565b61342c816133af565b811461040957600080fd5b61342c816133ba565b61342c8161041f565b61342c816133bf56fe74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823fa365627a7a72315820c9692a6ac6feab328e598aab96cad439088846572c40ebeb03dc2aee35e943d26c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "DebtCacheSnapshotTaken",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "cachedDebt",
							"type": "uint256"
						}
					],
					"name": "DebtCacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"name": "DebtCacheValidityChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cachedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "cachedSynthDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "cachedSynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "snxIssuedDebts",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "currentSynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "debtValues",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "futuresDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "excludedDebt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "excludedIssuedDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "excludedDebts",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IDebtCache",
							"name": "prevDebtCache",
							"type": "address"
						},
						{
							"internalType": "contract IIssuer",
							"name": "prevIssuer",
							"type": "address"
						}
					],
					"name": "importExcludedIssuedDebts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isInitialized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "purgeCachedSynthDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "delta",
							"type": "int256"
						}
					],
					"name": "recordExcludedDebtChange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "takeDebtSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalNonSnxBackedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "excludedDebt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "currencyRate",
							"type": "uint256"
						}
					],
					"name": "updateCachedSynthDebtWithRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "updateCachedSynthDebts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "currencyRates",
							"type": "uint256[]"
						}
					],
					"name": "updateCachedSynthDebtsWithRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "amount",
							"type": "int256"
						}
					],
					"name": "updateCachedsUSDDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "currentlyInvalid",
							"type": "bool"
						}
					],
					"name": "updateDebtCacheValidity",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x42b9897bff8cc807d7aa849bf0c68ae8b06a4f8979308a09db7efc3344236a46",
				"urls": [
					"bzz-raw://02b181675bfe70c8bedaed3d0beb5ae6d96172e79d3a201f40a6097fc6280c77",
					"dweb:/ipfs/QmaGVSvSzD6FYw466DTXqHgthf6a7a9dAAMKVSaeG2YzkK"
				]
			},
			"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": "0x42b9897bff8cc807d7aa849bf0c68ae8b06a4f8979308a09db7efc3344236a46",
						"urls": [
							"bzz-raw://02b181675bfe70c8bedaed3d0beb5ae6d96172e79d3a201f40a6097fc6280c77",
							"dweb:/ipfs/QmaGVSvSzD6FYw466DTXqHgthf6a7a9dAAMKVSaeG2YzkK"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangerWithVirtualSynth": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200436338038062004363833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050505061423380620001306000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806353a47bb7116100de5780638925711711610097578063c193f0d811610071578063c193f0d8146104ea578063ce096940146104f2578063d6f32e0614610515578063f450aa34146105415761018e565b80638925711714610482578063899ffef41461048a5780638da5cb5b146104e25761018e565b806353a47bb71461042857806357af302c14610430578063614d08f81461044d578063741853601461045557806379ba50971461045d5780637dd1a57a146104655761018e565b80631b16802c1161014b578063372a395a11610125578063372a395a1461035d5780633fa70f45146103655780634c268fc81461036d5780634f8633d2146103a55761018e565b80631b16802c146102a757806324286df0146102d35780632af64bd3146103415761018e565b806304f3bcec14610193578063059c29ec146101b75780630b9e31c9146101f55780631627540c1461021457806319d5c6651461023a5780631a5c609514610284575b600080fd5b61019b61056a565b604080516001600160a01b039092168252519081900360200190f35b6101e3600480360360408110156101cd57600080fd5b506001600160a01b038135169060200135610579565b60408051918252519081900360200190f35b6102126004803603602081101561020b57600080fd5b503561061d565b005b6102126004803603602081101561022a57600080fd5b50356001600160a01b031661087c565b6102666004803603604081101561025057600080fd5b506001600160a01b0381351690602001356108d8565b60408051938452602084019290925282820152519081900360600190f35b6101e36004803603604081101561029a57600080fd5b50803590602001356108f6565b610266600480360360408110156102bd57600080fd5b506001600160a01b038135169060200135610902565b610212600480360360208110156102e957600080fd5b810190602081018135600160201b81111561030357600080fd5b82018360208201111561031557600080fd5b803590602001918460208302840111600160201b8311171561033657600080fd5b509092509050610983565b610349610b80565b604080519115158252519081900360200190f35b6101e3610c8b565b6101e3610c9a565b6101e36004803603608081101561038357600080fd5b506001600160a01b038135169060208101359060408101359060600135610c9f565b61040760048036036101208110156103bc57600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a081013582169160c082013515159160e0810135909116906101000135610dbf565b604080519283526001600160a01b0390911660208301528051918290030190f35b61019b6110f8565b6103496004803603602081101561044657600080fd5b5035611107565b6101e3611160565b610212611184565b61021261134c565b6101e36004803603602081101561047b57600080fd5b5035611408565b6101e361141a565b610492611424565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104ce5781810151838201526020016104b6565b505050509050019250505060405180910390f35b61019b611499565b6103496114a8565b6102126004803603604081101561050857600080fd5b50803590602001356114b2565b6103496004803603604081101561052b57600080fd5b506001600160a01b03813516906020013561157a565b6102666004803603606081101561055757600080fd5b50803590602081013590604001356115ac565b6002546001600160a01b031681565b60006106146105866115cc565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156105e357600080fd5b505afa1580156105f7573d6000803e3d6000fd5b505050506040513d602081101561060d57600080fd5b50516115e7565b90505b92915050565b610625611646565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561065d57600080fd5b505afa158015610671573d6000803e3d6000fd5b5050505060006001600160a01b0316610688611660565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156106cb57600080fd5b505afa1580156106df573d6000803e3d6000fd5b505050506040513d60208110156106f557600080fd5b50516001600160a01b03161415610743576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b6107c38161074f611674565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561079257600080fd5b505afa1580156107a6573d6000803e3d6000fd5b505050506040513d60208110156107bc57600080fd5b505161168f565b61080b576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b610813611646565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561086157600080fd5b505af1158015610875573d6000803e3d6000fd5b5050505050565b6108846118db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008060006108e78585611926565b50919790965090945092505050565b60006106148383611bf4565b600080600061090f611646565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561095257600080fd5b505afa158015610966573d6000803e3d6000fd5b5050505061097685856001611cb2565b9250925092509250925092565b61098b6118db565b60606000610997611674565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610a0957600080fd5b505afa158015610a1d573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610a4657600080fd5b8101908080516040519392919084600160201b821115610a6557600080fd5b908301906020820185811115610a7a57600080fd5b82518660208202830111600160201b82111715610a9657600080fd5b82525081516020918201928201910280838360005b83811015610ac3578181015183820152602001610aab565b505050509190910160405250602001519294509192505081159050610b2f576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b8381101561087557828181518110610b4657fe5b602002602001015160046000878785818110610b5e57fe5b6020908102929092013583525081019190915260400160002055600101610b32565b60006060610b8c611424565b905060005b8151811015610c81576000828281518110610ba857fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610c1057600080fd5b505afa158015610c24573d6000803e3d6000fd5b505050506040513d6020811015610c3a57600080fd5b50516001600160a01b0316141580610c6757506000818152600360205260409020546001600160a01b0316155b15610c785760009350505050610c88565b50600101610b91565b5060019150505b90565b6000610c95612037565b905090565b604181565b816000610caa611660565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ced57600080fd5b505afa158015610d01573d6000803e3d6000fd5b505050506040513d6020811015610d1757600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b158015610d6357600080fd5b505afa158015610d77573d6000803e3d6000fd5b505050506040513d6020811015610d8d57600080fd5b5051905080821115610d9d578091505b8215610db657610db3828463ffffffff6120ee16565b91505b50949350505050565b6000806000610dcc612148565b9050336001600160a01b0382161480610e595750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015610e2a57600080fd5b505afa158015610e3e573d6000803e3d6000fd5b505050506040513d6020811015610e5457600080fd5b505114155b610e945760405162461bcd60e51b81526004018080602001828103825260458152602001806141256045913960600191505060405180910390fd5b60008c6001600160a01b03168c6001600160a01b031614610fa357610eb761215f565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b03168152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b158015610f2657600080fd5b505afa158015610f3a573d6000803e3d6000fd5b505050506040513d6020811015610f5057600080fd5b5051610fa3576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b610fb18d8c8c8c8c8c61217e565b91955090935090508015801590610fd057506001600160a01b03861615155b8015610fdf5750610fdf612590565b1561106457610fec61260e565b6001600160a01b03166321cad77482886040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561104b57600080fd5b505af115801561105f573d6000803e3d6000fd5b505050505b84156110e857611072612148565b6001600160a01b0316632d3169eb868b87856040518563ffffffff1660e01b815260040180858152602001848152602001838152602001828152602001945050505050600060405180830381600087803b1580156110cf57600080fd5b505af11580156110e3573d6000803e3d6000fd5b505050505b5050995099975050505050505050565b6001546001600160a01b031681565b600061115882611115611674565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561079257600080fd5b90505b919050565b7f45786368616e676572576974685669727475616c53796e74680000000000000081565b606061118e611424565b905060005b81518110156113485760008282815181106111aa57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611260578181015183820152602001611248565b50505050905090810190601f16801561128d5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156112ab57600080fd5b505afa1580156112bf573d6000803e3d6000fd5b505050506040513d60208110156112d557600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611193565b5050565b6001546001600160a01b031633146113955760405162461bcd60e51b81526004018080602001828103825260358152602001806140f06035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b6000610c9561262a565b60608061142f6126a4565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b8160008151811061147c57fe5b6020026020010181815250506114928282612835565b9250505090565b6000546001600160a01b031681565b6000610c95612590565b60006114bc611674565b9050336001600160a01b0382161461151b576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b60008211611567576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526004602052604090912055565b60006115868383610579565b1561159357506001610617565b600061159f8484611926565b5050501515949350505050565b60008060006115bc8686866128f1565b5092999198509650945050505050565b6000610c956c45786368616e6765537461746560981b6129cb565b6000806115f261262a565b9050821580611610575061160c838263ffffffff6120ee16565b4210155b1561161f57600091505061115b565b61163f42611633858463ffffffff6120ee16565b9063ffffffff612aa816565b9392505050565b6000610c956b53797374656d53746174757360a01b6129cb565b6000610c956524b9b9bab2b960d11b6129cb565b6000610c956c45786368616e6765526174657360981b6129cb565b60008161169e57506001610617565b60008381526004602052604090205480156116c5576116bd8184612b05565b915050610617565b60606116cf611674565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b15801561171b57600080fd5b505afa15801561172f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561175857600080fd5b8101908080516040519392919084600160201b82111561177757600080fd5b90830190602082018581111561178c57600080fd5b82518660208202830111600160201b821117156117a857600080fd5b82525081516020918201928201910280838360005b838110156117d55781810151838201526020016117bd565b5050505090500160405260200180516040519392919084600160201b8211156117fd57600080fd5b90830190602082018581111561181257600080fd5b82518660208202830111600160201b8211171561182e57600080fd5b82525081516020918201928201910280838360005b8381101561185b578181015183820152602001611843565b505050509050016040525050505090506000600190505b81518110156118cf57600082828151811061188957fe5b60200260200101511180156118b657506118b68282815181106118a857fe5b602002602001015186612b05565b156118c75760019350505050610617565b600101611872565b50600095945050505050565b6000546001600160a01b031633146119245760405162461bcd60e51b815260040180806020018281038252602f81526020018061416a602f913960400191505060405180910390fd5b565b600080600060606119356115cc565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561199257600080fd5b505afa1580156119a6573d6000803e3d6000fd5b505050506040513d60208110156119bc57600080fd5b50516040805182815260208084028201019091529092506060908380156119fd57816020015b6119ea6140a4565b8152602001906001900390816119e25790505b50905060005b83811015611be857600080611a166140a4565b611a218b8b86612b64565b9050600080611a2f83612c7f565b915091506000611a3d611674565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015611aac57600080fd5b505afa158015611ac0573d6000803e3d6000fd5b505050506040513d6020811015611ad657600080fd5b50516080850151909150600090611aee908390612dd2565b9050611afe856060015182612b05565b611b73578085606001511115611b3c576060850151611b23908263ffffffff612aa816565b9650611b358d8863ffffffff6120ee16565b9c50611b73565b8460600151811115611b73576060850151611b5e90829063ffffffff612aa816565b9550611b708c8763ffffffff6120ee16565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a00151815250898981518110611bc957fe5b6020026020010181905250505050505050508080600101915050611a03565b50905092959194509250565b6000611bff82612e64565b9050631cd554d160e21b831480611c1c5750631cd554d160e21b82145b15611c2657610617565b607360f81b6001600160f81b0319600085901a60f81b16148015611c5e5750606960f81b6001600160f81b0319600084901a60f81b16145b80611c9c5750606960f81b6001600160f81b0319600085901a60f81b16148015611c9c5750607360f81b6001600160f81b0319600084901a60f81b16145b156106175761061481600263ffffffff612f3c16565b6000806000611cc18686610579565b15611cfd5760405162461bcd60e51b81526004018080602001828103825260238152602001806141dc6023913960400191505060405180910390fd5b60008060006060611d0e8a8a611926565b935093509350935082841115611d4057611d2e848463ffffffff612aa816565b9650611d3b8a8a89612f95565b611d65565b83831115611d6557611d58838563ffffffff612aa816565b9550611d658a8a88613102565b878015611d7c57506000871180611d7c5750600086115b15611e6257604080516001808252818301909252606091602080830190803883390190505090508981600081518110611db157fe5b602002602001018181525050611dc5613252565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611e23578181015183820152602001611e0b565b5050505090500192505050600060405180830381600087803b158015611e4857600080fd5b505af1158015611e5c573d6000803e3d6000fd5b50505050505b60005b8151811015611fa7578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110611ea557fe5b602002602001015160000151848481518110611ebd57fe5b602002602001015160200151858581518110611ed557fe5b602002602001015160400151868681518110611eed57fe5b602002602001015160600151878781518110611f0557fe5b602002602001015160800151888881518110611f1d57fe5b602002602001015160a00151898981518110611f3557fe5b602002602001015160c001518a8a81518110611f4d57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101611e65565b50819450611fb36115cc565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561201257600080fd5b505af1158015612026573d6000803e3d6000fd5b505050505050505093509350939050565b6000612041613269565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b505050506040513d60208110156120e757600080fd5b5051905090565b600082820183811015610614576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610c95680a6f2dce8d0cae8d2f60bb1b6129cb565b6000610c957044656c6567617465417070726f76616c7360781b6129cb565b600080600061218e888888613286565b600061219b888b8b61345f565b9050806121b2575060009250829150819050612584565b60008060006121c2848d8c6128f1565b939a509198509450925090506121d88c83613497565b806121e857506121e88a82613497565b1561220157506000955085945084935061258492505050565b6122108c8e868d8b8e8e613532565b94506001600160a01b03851615612225578498505b851561247e57612233611674565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561228d57600080fd5b505afa1580156122a1573d6000803e3d6000fd5b505050506040513d60208110156122b757600080fd5b505195506122c3611660565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561230d57600080fd5b505afa158015612321573d6000803e3d6000fd5b505050506040513d602081101561233757600080fd5b50516001600160a01b031663867904b461234f613810565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561238757600080fd5b505afa15801561239b573d6000803e3d6000fd5b505050506040513d60208110156123b157600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b15801561240057600080fd5b505af1158015612414573d6000803e3d6000fd5b50505050612420613810565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561246557600080fd5b505af1158015612479573d6000803e3d6000fd5b505050505b6124b060405180604001604052808e81526020018c815250604051806040016040528085815260200184815250613825565b6124b8612148565b6001600160a01b0316636c00f3108e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801561254957600080fd5b505af115801561255d573d6000803e3d6000fd5b50505050600061256b61262a565b111561257f5761257f898d868d8b88613ae3565b505050505b96509650969350505050565b600061259a613269565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156120bd57600080fd5b6000610c956d54726164696e675265776172647360901b6129cb565b6000612634613269565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156120bd57600080fd5b6060806126af613cf4565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506b53797374656d53746174757360a01b816000815181106126f557fe5b6020026020010181815250506c45786368616e6765537461746560981b8160018151811061271f57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061274957fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061276f57fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061279357fe5b6020026020010181815250506d54726164696e675265776172647360901b816005815181106127be57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816006815181106127ec57fe5b6020026020010181815250506524b9b9bab2b960d11b8160078151811061280f57fe5b6020026020010181815250506844656274436163686560b81b8160088151811061147c57fe5b60608151835101604051908082528060200260200182016040528015612865578160200160208202803883390190505b50905060005b83518110156128a75783818151811061288057fe5b602002602001015182828151811061289457fe5b602090810291909101015260010161286b565b5060005b82518110156128ea578281815181106128c057fe5b60200260200101518282865101815181106128d757fe5b60209081029190910101526001016128ab565b5092915050565b600080600080600080612902611674565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801561295557600080fd5b505afa158015612969573d6000803e3d6000fd5b505050506040513d606081101561297f57600080fd5b5080516020820151604090920151919450909250905061299f8888611bf4565b93506129ab8185612dd2565b95506129bd818763ffffffff612aa816565b945050939792965093509350565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816128ea5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a6d578181015183820152602001612a55565b50505050905090810190601f168015612a9a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082821115612aff576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000821580612b12575081155b15612b1f57506001610617565b600083831115612b4057612b39838563ffffffff613d4516565b9050612b53565b612b50848463ffffffff613d4516565b90505b612b5b612037565b11159392505050565b612b6c6140a4565b600080600080600080600080612b806115cc565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b158015612be657600080fd5b505afa158015612bfa573d6000803e3d6000fd5b505050506040513d610100811015612c1157600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b6000806000612c8c611674565b90506000612c9861262a565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015612d0257600080fd5b505afa158015612d16573d6000803e3d6000fd5b505050506040513d6020811015612d2c57600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b158015612d9c57600080fd5b505afa158015612db0573d6000803e3d6000fd5b505050506040513d6020811015612dc657600080fd5b50519395939450505050565b6000610614612e578373__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612e1f57600080fd5b505af4158015612e33573d6000803e3d6000fd5b505050506040513d6020811015612e4957600080fd5b50519063ffffffff612aa816565b849063ffffffff613d6f16565b6000612e6e613269565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612f0a57600080fd5b505afa158015612f1e573d6000803e3d6000fd5b505050506040513d6020811015612f3457600080fd5b505192915050565b600082612f4b57506000610617565b82820282848281612f5857fe5b04146106145760405162461bcd60e51b81526004018080602001828103825260218152602001806141996021913960400191505060405180910390fd5b612f9d611660565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612fe057600080fd5b505afa158015612ff4573d6000803e3d6000fd5b505050506040513d602081101561300a57600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b15801561305e57600080fd5b505af1158015613072573d6000803e3d6000fd5b5050505061307e612148565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156130e557600080fd5b505af11580156130f9573d6000803e3d6000fd5b50505050505050565b61310a611660565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561314d57600080fd5b505afa158015613161573d6000803e3d6000fd5b505050506040513d602081101561317757600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b1580156131cb57600080fd5b505af11580156131df573d6000803e3d6000fd5b505050506131eb612148565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b1580156130e557600080fd5b6000610c956844656274436163686560b81b6129cb565b6000610c956e466c657869626c6553746f7261676560881b6129cb565b808314156132d1576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b60008211613314576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050838160008151811061334257fe5b602002602001018181525050818160018151811061335c57fe5b602002602001018181525050613370611674565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156133ce5781810151838201526020016133b6565b505050509050019250505060206040518083038186803b1580156133f157600080fd5b505afa158015613405573d6000803e3d6000fd5b505050506040513d602081101561341b57600080fd5b5051156134595760405162461bcd60e51b81526004018080602001828103825260228152602001806141ba6022913960400191505060405180910390fd5b50505050565b600080600061347085856000611cb2565b889550909350915050801561348e5761348b85858885610c9f565b92505b50509392505050565b60006134a3838361168f565b1561351f576134b0611646565b6001600160a01b031663abc0bb6e8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156134fe57600080fd5b505af1158015613512573d6000803e3d6000fd5b5050505060019050610617565b6000928352600460205260409092205590565b600061353c611660565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561357f57600080fd5b505afa158015613593573d6000803e3d6000fd5b505050506040513d60208110156135a957600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156135fd57600080fd5b505af1158015613611573d6000803e3d6000fd5b50505050600061361f611660565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561366257600080fd5b505afa158015613676573d6000803e3d6000fd5b505050506040513d602081101561368c57600080fd5b50519050821561378b57600081905061370b816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156136d757600080fd5b505afa1580156136eb573d6000803e3d6000fd5b505050506040513d602081101561370157600080fd5b505186888a613d99565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561376d57600080fd5b505af1158015613781573d6000803e3d6000fd5b5050505050613804565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156137eb57600080fd5b505af11580156137ff573d6000803e3d6000fd5b505050505b50979650505050505050565b6000610c9566119959541bdbdb60ca1b6129cb565b8151600090631cd554d160e21b148061384857506020830151631cd554d160e21b145b905060008161385857600361385b565b60025b60ff16905060608160405190808252806020026020018201604052801561388c578160200160208202803883390190505b5090508460006020020151816000815181106138a457fe5b60209081029190910101528460016020020151816001815181106138c457fe5b6020026020010181815250506060826040519080825280602002602001820160405280156138fc578160200160208202803883390190505b50905084600060200201518160008151811061391457fe5b602090810291909101015284600160200201518160018151811061393457fe5b602002602001018181525050836139f257631cd554d160e21b8260028151811061395a57fe5b60200260200101818152505073__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156139aa57600080fd5b505af41580156139be573d6000803e3d6000fd5b505050506040513d60208110156139d457600080fd5b50518151829060029081106139e557fe5b6020026020010181815250505b6139fa613252565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613a5d578181015183820152602001613a45565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613a9c578181015183820152602001613a84565b50505050905001945050505050600060405180830381600087803b158015613ac357600080fd5b505af1158015613ad7573d6000803e3d6000fd5b50505050505050505050565b6000613aed611674565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613b3557600080fd5b505afa158015613b49573d6000803e3d6000fd5b505050506040513d6020811015613b5f57600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015613bae57600080fd5b505afa158015613bc2573d6000803e3d6000fd5b505050506040513d6020811015613bd857600080fd5b50519050613be46115cc565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b158015613c6957600080fd5b505af1158015613c7d573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110613d3657fe5b60200260200101818152505090565b600061061482613d6385670de0b6b3a764000063ffffffff612f3c16565b9063ffffffff613f2e16565b6000670de0b6b3a7640000613d8a848463ffffffff612f3c16565b81613d9157fe5b049392505050565b6000606960f81b6001600160f81b031983831a60f81b161415613e03576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732073796e746800000000604482015290519081900360640190fd5b6000613e4b613e10613f98565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e74680000000000815250613fbc565b60025460408051638d7017d360e01b81526001600160a01b038a81166004830152928316602482015288831660448201526064810188905260848101879052905192935090831691638d7017d39160a48082019260009290919082900301818387803b158015613eba57600080fd5b505af1158015613ece573d6000803e3d6000fd5b5050604080516001600160a01b038581168252602082018890528183018990529151828a169450918a1692507fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f919081900360600190a395945050505050565b6000808211613f84576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613f8f57fe5b04949350505050565b6000610c95755669727475616c53796e74684d6173746572636f707960501b6129cb565b60006060613fc984614034565b90506037602082016000f09150826001600160a01b03831661402c5760405162461bcd60e51b8152602060048201818152835160248401528351909283926044909101919085019080838360008315612a6d578181015183820152602001612a55565b505092915050565b60408051693d602d80600a3d3981f360b01b602082015269363d3d373d3d3d363d7360b01b602a82015260609290921b6bffffffffffffffffffffffff191660348301526e5af43d82803e903d91602b57fd5bf360881b6048830152805180830360370181526057909201905290565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820500914a952fa6ffe38741d57f18a348e355824c127f8a6899b188f72cf3713af64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "vSynth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "VirtualSynthCreated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "virtualSynth",
							"type": "bool"
						},
						{
							"internalType": "address",
							"name": "rewardAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualSynth",
							"name": "vSynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isSynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resetLastExchangeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForSynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "suspendSynthWithInvalidRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x059aa9b7964b0808f8cd484d5f281c3d13141a379af7c58b781c4b62839e79d2",
				"urls": [
					"bzz-raw://153aed1de3b6ee4c942440aa0e1e95f3c51197569b0fd5f603acdd6f38df2192",
					"dweb:/ipfs/QmUSg1MHssQvB6Drh8FM4LF2KxQL7bPwnK16y96cY2eYJG"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangerWithVirtualSynth.sol": "ExchangerWithVirtualSynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangerWithVirtualSynth.sol": {
						"keccak256": "0x059aa9b7964b0808f8cd484d5f281c3d13141a379af7c58b781c4b62839e79d2",
						"urls": [
							"bzz-raw://153aed1de3b6ee4c942440aa0e1e95f3c51197569b0fd5f603acdd6f38df2192",
							"dweb:/ipfs/QmUSg1MHssQvB6Drh8FM4LF2KxQL7bPwnK16y96cY2eYJG"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManagerState": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620011b2380380620011b2833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610eaa80620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638c58250311610104578063cc952b57116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063cc952b571461034e578063d2f0047514610356578063e31f27c114610369578063e32261fe1461037c576101cf565b8063a29fe7b8116100de578063a29fe7b81461030d578063aefc4ccb14610320578063af07aa9d14610328578063b52e0dc81461033b576101cf565b80638c582503146102ea5780638da5cb5b146102f2578063a0356f6e146102fa576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c157806383d625d4146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b70565b6103db565b6040516101f79493929190610df2565b60405180910390f35b61021361020e366004610b4a565b610415565b005b610228610223366004610b8e565b610473565b6040516101f79190610dc9565b6102286104a1565b61021361024b366004610b8e565b6104a7565b61022861050d565b610213610266366004610b8e565b610514565b610213610279366004610b4a565b610579565b6102866105cc565b6040516101f79190610d50565b6102286102a1366004610b70565b6105db565b6102136102b4366004610b70565b6105ed565b610228610631565b610213610637565b6102dc6102d7366004610b70565b6106d3565b6040516101f7929190610dd7565b6102286106ec565b610286610737565b610228610308366004610b70565b610746565b61022861031b366004610b70565b610758565b610286610776565b6101e7610336366004610b8e565b610785565b610228610349366004610b70565b6107c5565b6102286107e6565b610228610364366004610b70565b6107ec565b610213610377366004610b8e565b61082c565b61022861038a366004610b70565b610878565b61021361039d366004610b8e565b6108bb565b6102136103b0366004610b8e565b61091a565b6102136103c3366004610b70565b610963565b6102136103d6366004610b70565b6109d6565b6000806000806103e961050d565b90506103f4856107c5565b9350610402600182036107c5565b925061040c610631565b91509193509193565b61041d610a39565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610468908390610d50565b60405180910390a150565b6006602052816000526040600020818154811061048c57fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190610db9565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a6516565b6000928352600860205260409092206001019190915550565b610581610a39565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610468908390610d50565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106175760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040812061062e91610afd565b50565b60055490565b6001546001600160a01b031633146106615760405162461bcd60e51b81526004016104d190610d79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106a4926001600160a01b0391821692911690610d5e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6008602052600090815260409020805460019091015482565b6002546000906001600160a01b031633146107195760405162461bcd60e51b81526004016104d190610db9565b60035461072d90600163ffffffff610a9216565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061076557fe5b600091825260209091200154905081565b6002546001600160a01b031681565b60008060008061079486610746565b90506107a08686610abe565b93506107af8660018303610abe565b92506107ba86610aeb565b915092959194509250565b6000600482815481106107d457fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108195760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090205490565b6002546001600160a01b031633146108565760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a9216565b6002546000906001600160a01b031633146108a55760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090206001015490565b6002546001600160a01b031633146108e55760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a6516565b6000928352600860205260409092209190915550565b6002546001600160a01b031633146109445760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a9216565b6002546001600160a01b0316331461098d5760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040902054156109a65761062e565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a005760405162461bcd60e51b81526004016104d190610db9565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016104d190610da9565b565b600082821115610a875760405162461bcd60e51b81526004016104d190610d99565b508082035b92915050565b600082820183811015610ab75760405162461bcd60e51b81526004016104d190610d89565b9392505050565b6000828152600660205260408120805483908110610ad857fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b508054600082559060005260206000209081019061062e919061051191905b80821115610b305760008155600101610b1c565b5090565b8035610a8c81610e4a565b8035610a8c81610e5e565b600060208284031215610b5c57600080fd5b6000610b688484610b34565b949350505050565b600060208284031215610b8257600080fd5b6000610b688484610b3f565b60008060408385031215610ba157600080fd5b6000610bad8585610b3f565b9250506020610bbe85828601610b3f565b9150509250929050565b610bd181610e39565b82525050565b6000610be4603583610e30565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610c3b601b83610e30565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610c74601e83610e30565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cad602f83610e30565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610cfe603483610e30565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b610bd181610511565b60208101610a8c8284610bc8565b60408101610d6c8285610bc8565b610ab76020830184610bc8565b60208082528101610a8c81610bd7565b60208082528101610a8c81610c2e565b60208082528101610a8c81610c67565b60208082528101610a8c81610ca0565b60208082528101610a8c81610cf1565b60208101610a8c8284610d47565b60408101610de58285610d47565b610ab76020830184610d47565b60808101610e008287610d47565b610e0d6020830186610d47565b610e1a6040830185610d47565b610e276060830184610d47565b95945050505050565b90815260200190565b60006001600160a01b038216610a8c565b610e5381610e39565b811461062e57600080fd5b610e538161051156fea365627a7a7231582091503a827566fb95d584f2050719a607ef349a163fcecc6fa8da3f5f578977266c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "synth",
							"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": "synth",
							"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": "synth",
							"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": "synth",
							"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": "synth",
							"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": "synth",
							"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": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "long",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "short",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x83d625d4"
				},
				{
					"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": "0x614dd98ef6d3ac07a6f11efcf61e17925555e41e6bc964956eeca7c541af4d54",
				"urls": [
					"bzz-raw://825799e40255dcc29a4ba6a382505d6011fb083a8e2f77b97b6120e3b744c078",
					"dweb:/ipfs/QmYAZDCd8oTyFCJC4zbZ583htPkiXW6ivWvaFA1UUYVHFE"
				]
			},
			"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": "0x614dd98ef6d3ac07a6f11efcf61e17925555e41e6bc964956eeca7c541af4d54",
						"urls": [
							"bzz-raw://825799e40255dcc29a4ba6a382505d6011fb083a8e2f77b97b6120e3b744c078",
							"dweb:/ipfs/QmYAZDCd8oTyFCJC4zbZ583htPkiXW6ivWvaFA1UUYVHFE"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManager": {
			"bytecode": "670de0b6b3a7640000600e5560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a052620000439060129060026200030a565b503480156200005157600080fd5b5060405162003c7838038062003c7883398101604081905262000074916200039a565b83856001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f90620005a9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f59184906200054d565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f9062000597565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169188169190911790556200017a83620001cf565b6200018e826001600160e01b036200024716565b620001a2816001600160e01b036200029116565b5050600080546001600160a01b0319166001600160a01b0394909416939093179092555062000637915050565b620001e26001600160e01b03620002db16565b60008111620002055760405162461bcd60e51b81526004016200009f9062000573565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200023c908390620005bb565b60405180910390a150565b6200025a6001600160e01b03620002db16565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200023c908390620005bb565b620002a46001600160e01b03620002db16565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200023c908390620005bb565b6000546001600160a01b03163314620003085760405162461bcd60e51b81526004016200009f9062000585565b565b82601881019282156200033b579160200282015b828111156200033b5782518255916020019190600101906200031e565b50620003499291506200034d565b5090565b6200036a91905b8082111562000349576000815560010162000354565b90565b80516200037a8162000607565b92915050565b80516200037a8162000621565b80516200037a816200062c565b60008060008060008060c08789031215620003b457600080fd5b6000620003c2898962000380565b9650506020620003d589828a016200036d565b9550506040620003e889828a016200036d565b9450506060620003fb89828a016200038d565b93505060806200040e89828a016200038d565b92505060a06200042189828a016200038d565b9150509295509295509295565b6200043981620005fa565b82525050565b6200043981620005d4565b600062000459601683620005cb565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b600062000494602f83620005cb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000620004e7601183620005cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000516601983620005cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b62000439816200036a565b604081016200055d82856200042e565b6200056c60208301846200043f565b9392505050565b602080825281016200037a816200044a565b602080825281016200037a8162000485565b602080825281016200037a81620004d8565b602080825281016200037a8162000507565b602081016200037a828462000542565b90815260200190565b60006200037a82620005ee565b60006200037a82620005d4565b6001600160a01b031690565b60006200037a82620005e1565b6200061281620005d4565b81146200061e57600080fd5b50565b6200061281620005e1565b62000612816200036a565b61363180620006476000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c806391b4ded911610182578063c88b412e116100e9578063e32261fe116100a2578063ee81f7901161007c578063ee81f790146105ec578063f0e740c3146105ff578063f53037b614610612578063ffa749cd14610625576102d6565b8063e32261fe146105b3578063e50a31b3146105c6578063eb94bbde146105d9576102d6565b8063c88b412e14610557578063c9e180151461056a578063ca969f2314610572578063d0064c0014610585578063d2f004751461058d578063e31f27c1146105a0576102d6565b8063b3b467321161013b578063b3b4673214610503578063b4d6cb401461050b578063ba1c5e801461052c578063bbb601cd14610534578063bf38668214610547578063c19d93fb1461054f576102d6565b806391b4ded9146104a757806393a72fbe146104af5780639f7eac37146104c2578063ad79a858146104d5578063af07aa9d146104dd578063b38988f7146104f0576102d6565b806353a47bb71161024157806374185360116101fa5780638471db13116101d45780638471db1314610464578063899ffef4146104775780638b173e811461048c5780638da5cb5b1461049f576102d6565b80637418536014610441578063744d646e1461044957806379ba50971461045c576102d6565b806353a47bb7146103e35780635c975abb146103f8578063614d08f8146104005780636526941b14610408578063710388d11461041b57806372e18b6a1461042e576102d6565b806323d60e2e1161029357806323d60e2e1461036d57806324620639146103805780632af64bd31461039357806338245377146103a85780634db7764c146103c85780635246f2b9146103d0576102d6565b806303f048b0146102db57806304f3bcec146103075780630c9c81a11461031c5780631627540c1461033157806316c38b3c146103445780631e33fc6b14610357575b600080fd5b6102ee6102e9366004612e42565b610638565b6040516102fe94939291906134d2565b60405180910390f35b61030f6106cf565b6040516102fe9190613413565b61032f61032a366004612e42565b6106e3565b005b61032f61033f366004612caa565b61072b565b61032f610352366004612e06565b61077e565b61035f6107f3565b6040516102fe9291906133a2565b61032f61037b366004612dcd565b610ae6565b61032f61038e366004612e7e565b610bc0565b61039b610c5c565b6040516102fe919061335d565b6103bb6103b6366004612e42565b610d79565b6040516102fe9190613386565b6103bb610d8b565b61032f6103de366004612e7e565b610d91565b6103eb610ded565b6040516102fe9190613323565b61039b610dfc565b6103bb610e05565b61032f610416366004612e42565b610e1d565b61032f610429366004612dcd565b610e7a565b61039b61043c366004612dcd565b610f42565b61032f610fdc565b61039b610457366004612d28565b611132565b61032f61117c565b61039b610472366004612e42565b611218565b61047f61122c565b6040516102fe919061334c565b61032f61049a366004612e42565b6113e4565b6103eb611421565b6103bb611430565b61039b6104bd366004612dcd565b611436565b61032f6104d0366004612e42565b611581565b61035f6115ae565b6102ee6104eb366004612e7e565b61178f565b61039b6104fe366004612caa565b61182a565b6103bb611843565b61051e610519366004612e7e565b6118fc565b6040516102fe92919061336b565b61035f6119ef565b61032f610542366004612ce6565b611b12565b6103bb611bf2565b61030f611bf8565b61032f610565366004612d5d565b611c07565b6103bb611d82565b61032f610580366004612ce6565b611d88565b6103bb611f58565b6103bb61059b366004612e42565b611f5e565b61032f6105ae366004612e7e565b611fdf565b6103bb6105c1366004612e42565b61203b565b61032f6105d4366004612e7e565b61206c565b61032f6105e7366004612e7e565b6120c8565b61035f6105fa366004612e42565b612124565b6103bb61060d366004612e42565b61243e565b61032f610620366004612e42565b612450565b61032f610633366004612ce6565b6124e0565b600554604051623f048b60e41b81526000918291829182916001600160a01b03909116906303f048b090610670908890600401613386565b60806040518083038186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106c09190810190612ee8565b92989197509550909350915050565b60035461010090046001600160a01b031681565b6106eb612599565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec0205573924700490610720908390613386565b60405180910390a150565b610733612599565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610720908390613323565b610786612599565b60035460ff161515811515141561079c576107f0565b6003805460ff1916821515179081905560ff16156107b957426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916107209160ff9091169061335d565b50565b6008805460408051602080840282018101909252828152600093849360609383018282801561084157602002820191906000526020600020905b81548152602001906001019080831161082d575b50505050509050600081511115610ae15760005b8151811015610adf57600061087c83838151811061086f57fe5b60200260200101516125c5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b1580156108b457600080fd5b505afa1580156108c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ec9190810190612e60565b9050631cd554d160e21b8114156109935760055460405163d2f0047560e01b815261098c916001600160a01b03169063d2f004759061092f908590600401613386565b60206040518083038186803b15801561094757600080fd5b505afa15801561095b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097f9190810190612e60565b869063ffffffff6125d016565b9450610ad6565b60008061099e6125fc565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016109c99190613386565b604080518083038186803b1580156109e057600080fd5b505afa1580156109f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a189190810190612eb8565b60055460405163d2f0047560e01b8152929450909250600091610ab39185916001600160a01b039091169063d2f0047590610a57908990600401613386565b60206040518083038186803b158015610a6f57600080fd5b505afa158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa79190810190612e60565b9063ffffffff61261c16565b9050610ac5888263ffffffff6125d016565b97508115610ad257600196505b5050505b50600101610855565b505b509091565b610aee612599565b60005b83811015610bb957610b1f858583818110610b0857fe5b90506020020135600861264690919063ffffffff16565b610bb1576000858583818110610b3157fe5b905060200201359050610b4e81600861269690919063ffffffff16565b80600a6000868686818110610b5f57fe5b905060200201358152602001908152602001600020819055507f87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d78759981604051610ba79190613386565b60405180910390a1505b600101610af1565b5050505050565b6000610bcb3361182a565b905080610bf35760405162461bcd60e51b8152600401610bea906134c2565b60405180910390fd5b600554604051632462063960e01b81526001600160a01b0390911690632462063990610c2590869086906004016133d0565b600060405180830381600087803b158015610c3f57600080fd5b505af1158015610c53573d6000803e3d6000fd5b50505050505050565b60006060610c6861122c565b905060005b8151811015610d6f576000828281518110610c8457fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610cda91869101613386565b60206040518083038186803b158015610cf257600080fd5b505afa158015610d06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2a9190810190612cc8565b6001600160a01b0316141580610d5557506000818152600460205260409020546001600160a01b0316155b15610d665760009350505050610d76565b50600101610c6d565b5060019150505b90565b600a6020526000908152604090205481565b60115481565b6000610d9c3361182a565b905080610dbb5760405162461bcd60e51b8152600401610bea906134c2565b600554604051635246f2b960e01b81526001600160a01b0390911690635246f2b990610c2590869086906004016133d0565b6001546001600160a01b031681565b60035460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b610e25612599565b60008111610e455760405162461bcd60e51b8152600401610bea90613492565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f90610720908390613386565b610e82612599565b60005b83811015610bb957610e9c858583818110610b0857fe5b15610f3a57610ec7858583818110610eb057fe5b9050602002013560086126ce90919063ffffffff16565b600a6000848484818110610ed757fe5b905060200201358152602001908152602001600020600090557f788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a858583818110610f1d57fe5b90506020020135604051610f319190613386565b60405180910390a15b600101610e85565b6008546000908414610f5657506000610fd4565b60005b84811015610fce57610f70868683818110610b0857fe5b610f7e576000915050610fd4565b858582818110610f8a57fe5b90506020020135600a6000868685818110610fa157fe5b9050602002013581526020019081526020016000205414610fc6576000915050610fd4565b600101610f59565b50600190505b949350505050565b6060610fe661122c565b905060005b815181101561112e57600082828151811061100257fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016110449190613318565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016110709291906133b0565b60206040518083038186803b15801561108857600080fd5b505afa15801561109c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110c09190810190612cc8565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061111c9084908490613394565b60405180910390a15050600101610feb565b5050565b6000805b82518110156111715761115b83828151811061114e57fe5b602002602001015161182a565b611169576000915050611177565b600101611136565b50600190505b919050565b6001546001600160a01b031633146111a65760405162461bcd60e51b8152600401610bea90613442565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926111e9926001600160a01b0391821692911690613331565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000908152600a6020526040902054151590565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b8160008151811061126757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061129157fe5b6020908102919091010152600b54606090801561136557806002026040519080825280602002602001820160405280156112d5578160200160208202803883390190505b50915060005b8181101561136357600b8054829081106112f157fe5b906000526020600020015483828151811061130857fe5b602002602001018181525050600d6000600b600001838154811061132857fe5b9060005260206000200154815260200190815260200160002054838383018151811061135057fe5b60209081029190910101526001016112db565b505b60088054604080516020808402820181019092528281526060936113be9387938301828280156113b457602002820191906000526020600020905b8154815260200190600101908083116113a0575b50505050506127a2565b8051909150156113d9576113d281856127a2565b94506113dd565b8394505b5050505090565b6113ec612599565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc990610720908390613386565b6000546001600160a01b031681565b60025481565b60008382146114575760405162461bcd60e51b8152600401610bea90613432565b600b54841461146857506000610fd4565b60005b848110156114cf57600086868381811061148157fe5b90506020020135905061149e81600b61264690919063ffffffff16565b15806114b657506000818152600d6020526040902054155b156114c657600092505050610fd4565b5060010161146b565b5060005b82811015610fce576005546001600160a01b031663a0356f6e8585848181106114f857fe5b905060200201356040518263ffffffff1660e01b815260040161151b9190613386565b60206040518083038186803b15801561153357600080fd5b505afa158015611547573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061156b9190810190612e60565b611579576000915050610fd4565b6001016114d3565b611589612599565b600081116115a95760405162461bcd60e51b8152600401610bea90613492565b600e55565b600b80546040805160208084028201810190925282815260009384936060938301828280156115fc57602002820191906000526020600020905b8154815260200190600101908083116115e8575b50505050509050600081511115610ae15760005b8151811015610adf57600061162a83838151811061086f57fe5b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561166257600080fd5b505afa158015611676573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169a9190810190612e60565b90506000806116a76125fc565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016116d29190613386565b604080518083038186803b1580156116e957600080fd5b505afa1580156116fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117219190810190612eb8565b60055460405163719130ff60e11b81529294509092506000916117609185916001600160a01b039091169063e32261fe90610a57908990600401613386565b9050611772888263ffffffff6125d016565b9750811561177f57600196505b5050600190920191506116109050565b60055460405163af07aa9d60e01b81526000918291829182916001600160a01b039091169063af07aa9d906117ca90899089906004016133d0565b60806040518083038186803b1580156117e257600080fd5b505afa1580156117f6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061181a9190810190612ee8565b9299919850965090945092505050565b600061183d60068363ffffffff61285e16565b92915050565b60008061184f3361182a565b90508061186e5760405162461bcd60e51b8152600401610bea906134c2565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156118be57600080fd5b505af11580156118d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118f69190810190612e60565b91505090565b60008060006119096125fc565b6001600160a01b031663654a60ac8587631cd554d160e21b6040518463ffffffff1660e01b815260040161193f939291906133eb565b60206040518083038186803b15801561195757600080fd5b505afa15801561196b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061198f9190810190612e60565b905060008061199c6107f3565b915091506000806119ab6115ae565b9150915082806119b85750805b600f549096506119de866119d2878663ffffffff6125d016565b9063ffffffff6125d016565b1115965050505050505b9250929050565b60008060006119fc6128cb565b6001600160a01b0316637b1001b7631cd554d160e21b60016040518363ffffffff1660e01b8152600401611a319291906133a2565b60206040518083038186803b158015611a4957600080fd5b505afa158015611a5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a819190810190612e60565b9050600080611a8e6107f3565b90925090506000611aa5848463ffffffff6125d016565b90506000611ad46a1a1a7062e5185d7e380000611ac8868563ffffffff6128df16565b9063ffffffff6128df16565b90506000611aed600e548361261c90919063ffffffff16565b9050611b04601054826125d090919063ffffffff16565b989397509295505050505050565b611b1a612599565b60005b81811015611bed57611b57838383818110611b3457fe5b9050602002016020611b499190810190612caa565b60069063ffffffff61285e16565b611be557611b8d838383818110611b6a57fe5b9050602002016020611b7f9190810190612caa565b60069063ffffffff61290916565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611bba57fe5b9050602002016020611bcf9190810190612caa565b604051611bdc9190613323565b60405180910390a15b600101611b1d565b505050565b60105481565b6005546001600160a01b031681565b611c0f612599565b828114611c2e5760405162461bcd60e51b8152600401610bea90613432565b60005b83811015611d73576000858583818110611c4757fe5b905060400201600060028110611c5957fe5b602002013590506000868684818110611c6e57fe5b905060400201600160028110611c8057fe5b60200201359050611c98600b8363ffffffff61264616565b611d6957611cad600b8363ffffffff61269616565b6000828152600d602052604090819020829055517fa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a90611cee908490613386565b60405180910390a16005546001600160a01b031663ed039154868686818110611d1357fe5b905060200201356040518263ffffffff1660e01b8152600401611d369190613386565b600060405180830381600087803b158015611d5057600080fd5b505af1158015611d64573d6000803e3d6000fd5b505050505b5050600101611c31565b50611d7c610fdc565b50505050565b600e5481565b611d90612599565b60005b81811015611bed57611dc1838383818110611daa57fe5b90506020020135600b61264690919063ffffffff16565b15611f5057611dec838383818110611dd557fe5b90506020020135600b6126ce90919063ffffffff16565b6000611e09848484818110611dfd57fe5b905060200201356125c5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015611e4157600080fd5b505afa158015611e55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e799190810190612e60565b600554604051636431e0bd60e01b81529192506001600160a01b031690636431e0bd90611eaa908490600401613386565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b50505050600d6000858585818110611eec57fe5b905060200201358152602001908152602001600020600090557f23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b848484818110611f3257fe5b90506020020135604051611f469190613386565b60405180910390a1505b600101611d93565b600f5481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f0047590611f8f908590600401613386565b60206040518083038186803b158015611fa757600080fd5b505afa158015611fbb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061183d9190810190612e60565b6000611fea3361182a565b9050806120095760405162461bcd60e51b8152600401610bea906134c2565b60055460405163e31f27c160e01b81526001600160a01b039091169063e31f27c190610c2590869086906004016133d0565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe90611f8f908590600401613386565b60006120773361182a565b9050806120965760405162461bcd60e51b8152600401610bea906134c2565b60055460405163e50a31b360e01b81526001600160a01b039091169063e50a31b390610c2590869086906004016133d0565b60006120d33361182a565b9050806120f25760405162461bcd60e51b8152600401610bea906134c2565b6005546040516375ca5def60e11b81526001600160a01b039091169063eb94bbde90610c2590869086906004016133d0565b6000806000612132846125c5565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561216a57600080fd5b505afa15801561217e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121a29190810190612e60565b90506121ac6125fc565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004016121d79190613386565b60206040518083038186803b1580156121ef57600080fd5b505afa158015612203573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122279190810190612e24565b91506000612234856125c5565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561226c57600080fd5b505afa158015612280573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122a49190810190612e60565b6000868152600d6020526040812054919250906122c0906125c5565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156122f857600080fd5b505afa15801561230c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123309190810190612e60565b60055460405163719130ff60e11b81529192506000916123bc9184916001600160a01b039091169063e32261fe9061236c908990600401613386565b60206040518083038186803b15801561238457600080fd5b505afa158015612398573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119d29190810190612e60565b9050808311156123d457506000945061243992505050565b60006123e6828563ffffffff61295b16565b905060006124196a1a1a7062e5185d7e380000611ac861240c888763ffffffff6125d016565b859063ffffffff6128df16565b9050612430601154826125d090919063ffffffff16565b97505050505050505b915091565b600d6020526000908152604090205481565b600061245b3361182a565b90508061247a5760405162461bcd60e51b8152600401610bea906134c2565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b6906124aa908590600401613386565b600060405180830381600087803b1580156124c457600080fd5b505af11580156124d8573d6000803e3d6000fd5b505050505050565b6124e8612599565b60005b81811015611bed57612502838383818110611b3457fe5b156125915761253983838381811061251657fe5b905060200201602061252b9190810190612caa565b60069063ffffffff61298316565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a59383838381811061256657fe5b905060200201602061257b9190810190612caa565b6040516125889190613323565b60405180910390a15b6001016124eb565b6000546001600160a01b031633146125c35760405162461bcd60e51b8152600401610bea906134a2565b565b600061183d82612a99565b6000828201838110156125f55760405162461bcd60e51b8152600401610bea90613452565b9392505050565b60006126176c45786368616e6765526174657360981b612a99565b905090565b6000670de0b6b3a7640000612637848463ffffffff612af616565b8161263e57fe5b049392505050565b81546000906126575750600061183d565b600082815260018401602052604090205480151580610fd45750828460000160008154811061268257fe5b906000526020600020015414949350505050565b6126a08282612646565b61112e5781546000828152600180850160209081526040832084905590830185558482529020018190555050565b6126d88282612646565b6126f45760405162461bcd60e51b8152600401610bea90613462565b600081815260018301602052604090205482546000190180821461276257600084600001828154811061272357fe5b906000526020600020015490508085600001848154811061274057fe5b6000918252602080832090910192909255918252600186019052604090208290555b835484908061276d57fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b606081518351016040519080825280602002602001820160405280156127d2578160200160208202803883390190505b50905060005b8351811015612814578381815181106127ed57fe5b602002602001015182828151811061280157fe5b60209081029190910101526001016127d8565b5060005b82518110156128575782818151811061282d57fe5b602002602001015182828651018151811061284457fe5b6020908102919091010152600101612818565b5092915050565b815460009061286f5750600061183d565b6001600160a01b038216600090815260018401602052604090205480151580610fd45750826001600160a01b0316846000016000815481106128ad57fe5b6000918252602090912001546001600160a01b031614949350505050565b60006126176524b9b9bab2b960d11b612a99565b60006125f5826128fd85670de0b6b3a764000063ffffffff612af616565b9063ffffffff612b3016565b612913828261285e565b61112e5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b60008282111561297d5760405162461bcd60e51b8152600401610bea90613472565b50900390565b61298d828261285e565b6129a95760405162461bcd60e51b8152600401610bea90613462565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612a485760008460000182815481106129e257fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612a0b57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612a5357fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612ac9918691016132f8565b604051602081830303815290604052906128575760405162461bcd60e51b8152600401610bea9190613421565b600082612b055750600061183d565b82820282848281612b1257fe5b04146125f55760405162461bcd60e51b8152600401610bea906134b2565b6000808211612b515760405162461bcd60e51b8152600401610bea90613482565b6000828481612b5c57fe5b04949350505050565b803561183d816135c8565b805161183d816135c8565b60008083601f840112612b8d57600080fd5b50813567ffffffffffffffff811115612ba557600080fd5b6020830191508360208202830111156119e857600080fd5b600082601f830112612bce57600080fd5b8135612be1612bdc82613537565b613510565b91508181835260208401935060208101905083856020840282011115612c0657600080fd5b60005b83811015612c325781612c1c8882612b65565b8452506020928301929190910190600101612c09565b5050505092915050565b60008083601f840112612c4e57600080fd5b50813567ffffffffffffffff811115612c6657600080fd5b6020830191508360408202830111156119e857600080fd5b803561183d816135dc565b805161183d816135dc565b803561183d816135e5565b805161183d816135e5565b600060208284031215612cbc57600080fd5b6000610fd48484612b65565b600060208284031215612cda57600080fd5b6000610fd48484612b70565b60008060208385031215612cf957600080fd5b823567ffffffffffffffff811115612d1057600080fd5b612d1c85828601612b7b565b92509250509250929050565b600060208284031215612d3a57600080fd5b813567ffffffffffffffff811115612d5157600080fd5b610fd484828501612bbd565b60008060008060408587031215612d7357600080fd5b843567ffffffffffffffff811115612d8a57600080fd5b612d9687828801612c3c565b9450945050602085013567ffffffffffffffff811115612db557600080fd5b612dc187828801612b7b565b95989497509550505050565b60008060008060408587031215612de357600080fd5b843567ffffffffffffffff811115612dfa57600080fd5b612d9687828801612b7b565b600060208284031215612e1857600080fd5b6000610fd48484612c7e565b600060208284031215612e3657600080fd5b6000610fd48484612c89565b600060208284031215612e5457600080fd5b6000610fd48484612c94565b600060208284031215612e7257600080fd5b6000610fd48484612c9f565b60008060408385031215612e9157600080fd5b6000612e9d8585612c94565b9250506020612eae85828601612c94565b9150509250929050565b60008060408385031215612ecb57600080fd5b6000612ed78585612c9f565b9250506020612eae85828601612c89565b60008060008060808587031215612efe57600080fd5b6000612f0a8787612c9f565b9450506020612f1b87828801612c9f565b9350506040612f2c87828801612c9f565b9250506060612f3d87828801612c9f565b91505092959194509250565b6000612f558383612fce565b505060200190565b612f668161356b565b82525050565b6000612f778261355e565b612f818185613562565b9350612f8c83613558565b8060005b83811015612fba578151612fa48882612f49565b9750612faf83613558565b925050600101612f90565b509495945050505050565b612f6681613576565b612f6681610d76565b612f66612fe382610d76565b610d76565b612f6681613587565b6000612ffc8261355e565b6130068185613562565b9350613016818560208601613592565b61301f816135be565b9093019392505050565b6000613036601b83613562565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061306f603583613562565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006130c6601b83613562565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006130ff601383613562565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b600061312e601e83613562565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613167601a83613562565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006131a0601183611177565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131cd601683613562565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b60006131ff602f83613562565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613250602183613562565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613293601983613562565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b60006132cc601983611177565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061330382613193565b915061330f8284612fd7565b50602001919050565b6000613303826132bf565b6020810161183d8284612f5d565b6040810161333f8285612f5d565b6125f56020830184612f5d565b602080825281016125f58184612f6c565b6020810161183d8284612fc5565b604081016133798285612fc5565b6125f56020830184612fc5565b6020810161183d8284612fce565b6040810161333f8285612fce565b604081016133798285612fce565b604081016133be8285612fce565b8181036020830152610fd48184612ff1565b604081016133de8285612fce565b6125f56020830184612fce565b606081016133f98286612fce565b6134066020830185612fce565b610fd46040830184612fce565b6020810161183d8284612fe8565b602080825281016125f58184612ff1565b6020808252810161183d81613029565b6020808252810161183d81613062565b6020808252810161183d816130b9565b6020808252810161183d816130f2565b6020808252810161183d81613121565b6020808252810161183d8161315a565b6020808252810161183d816131c0565b6020808252810161183d816131f2565b6020808252810161183d81613243565b6020808252810161183d81613286565b608081016134e08287612fce565b6134ed6020830186612fce565b6134fa6040830185612fce565b6135076060830184612fce565b95945050505050565b60405181810167ffffffffffffffff8111828210171561352f57600080fd5b604052919050565b600067ffffffffffffffff82111561354e57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061183d8261357b565b151590565b6001600160a01b031690565b600061183d8261356b565b60005b838110156135ad578181015183820152602001613595565b83811115611d7c5750506000910152565b601f01601f191690565b6135d18161356b565b81146107f057600080fd5b6135d181613576565b6135d181610d7656fea365627a7a7231582086139b15c2c894f5f985b303fdd27b70745c143d7fad10f0c56a854fc078a7af6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "synth",
							"type": "bytes32"
						}
					],
					"name": "ShortableSynthAdded",
					"type": "event",
					"signature": "0xa71e21d8a72d99830e0d382f042d37e6a20c8a33ec3185affcaf6586e9a0187a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "ShortableSynthRemoved",
					"type": "event",
					"signature": "0x23caa21d7c1015aa7051e1ae4a09f99de36dab4545dfec5f4dde3a54173a123b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "SynthAdded",
					"type": "event",
					"signature": "0x87f8a613724bd8be7a9139e4c83bc8d58fedee7206e2d7077849f5988d787599"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "SynthRemoved",
					"type": "event",
					"signature": "0x788aff97f65e6ddeee9246c47d08b819813066c87876a912c79baddffb138f0a"
				},
				{
					"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[2][]",
							"name": "requiredSynthAndInverseNamesInResolver",
							"type": "bytes32[2][]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addShortableSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc88b412e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23d60e2e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredSynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areShortableSynthsSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x93a72fbe"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredSynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areSynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72e18b6a"
				},
				{
					"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": "synth",
							"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": "synth",
							"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": "synth",
							"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": "synth",
							"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": "synth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe31f27c1"
				},
				{
					"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": "isSynthManaged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8471db13"
				},
				{
					"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": "synth",
							"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": 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": "synths",
							"type": "bytes32[]"
						}
					],
					"name": "removeShortableSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xca969f23"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "synths",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removeSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x710388d1"
				},
				{
					"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": "synth",
							"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": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthToInverseSynth",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf0e740c3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x38245377"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLong",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "susdValue",
							"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": "susdValue",
							"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": "0x20ccb7af61701bb647d44055355ec93371d8897c459f70079cab337a5d8696b9",
				"urls": [
					"bzz-raw://1ca6f79259ca2e1616ba6c87d6b13bfe7da32c8feda9c108d79ee856a9b0da4f",
					"dweb:/ipfs/QmYMbcC8v1eTxdyEEMNX1sZbFBY9o9WRZTVCAtmhw9BJ7B"
				]
			},
			"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": "0x20ccb7af61701bb647d44055355ec93371d8897c459f70079cab337a5d8696b9",
						"urls": [
							"bzz-raw://1ca6f79259ca2e1616ba6c87d6b13bfe7da32c8feda9c108d79ee856a9b0da4f",
							"dweb:/ipfs/QmYMbcC8v1eTxdyEEMNX1sZbFBY9o9WRZTVCAtmhw9BJ7B"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralState": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162000f6c38038062000f6c83398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b610c9a80620002d26000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba50971461011a5780638da5cb5b1461012257806398c61c371461012a578063a1c5158614610152578063aefc4ccb14610172578063e0b6adbc1461017a576100a9565b80631627540c146100ae57806344dce41c146100c357806352f445ca146100d657806353a47bb7146100e95780635c33120414610107575b600080fd5b6100c16100bc36600461088c565b61019a565b005b6100c16100d13660046108ec565b6101f8565b6100c16100e436600461088c565b610352565b6100f16103a5565b6040516100fe9190610adc565b60405180910390f35b6100c16101153660046108ec565b6103b4565b6100c161048d565b6100f1610529565b61013d6101383660046108b2565b610538565b6040516100fe99989796959493929190610b59565b6101656101603660046108b2565b6105ad565b6040516100fe9190610b3c565b6100f16106e4565b61018d61018836600461088c565b6106f3565b6040516100fe9190610b4b565b6101a261070e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101ed908390610adc565b60405180910390a150565b6002546001600160a01b0316331461022b5760405162461bcd60e51b815260040161022290610b2c565b60405180910390fd5b6020808201516001600160a01b03166000908152600390915260408120905b815481101561034d57826000015182828154811061026457fe5b906000526020600020906009020160000154141561034557826003600085602001516001600160a01b03166001600160a01b0316815260200190815260200160002082815481106102b157fe5b6000918252602091829020835160099290920201908155908201516001820180546001600160a01b0319166001600160a01b0390921691909117905560408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e08201516007820155610100909101516008909101555b60010161024a565b505050565b61035a61070e565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906101ed908390610adc565b6001546001600160a01b031681565b6002546001600160a01b031633146103de5760405162461bcd60e51b815260040161022290610b2c565b602081810180516001600160a01b03908116600090815260038085526040808320805460018082018355918552969093208751600990970201958655935191850180546001600160a01b03191692909316919091179091559083015160028301556060830151908201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e0820151600782015561010090910151600890910155565b6001546001600160a01b031633146104b75760405162461bcd60e51b815260040161022290610b0c565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926104fa926001600160a01b0391821692911690610aea565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003602052816000526040600020818154811061055157fe5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801549699506001600160a01b03909516975092959194909360ff90931692919089565b6105b561073a565b6001600160a01b0383166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610683576000848152602090819020604080516101208101825260098602909201805483526001808201546001600160a01b0316848601526002820154928401929092526003810154606084015260048101546080840152600581015460ff16151560a0840152600681015460c0840152600781015460e08401526008015461010083015290835290920191016105ed565b509293506000925050505b81518110156106db57838282815181106106a457fe5b60200260200101516000015114156106d3578181815181106106c257fe5b6020026020010151925050506106de565b60010161068e565b50505b92915050565b6002546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107385760405162461bcd60e51b815260040161022290610b1c565b565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b80356106de81610c2e565b80356106de81610c45565b80356106de81610c4e565b600061012082840312156107c857600080fd5b6107d3610120610bdf565b905060006107e184846107aa565b82525060206107f284848301610794565b6020830152506040610806848285016107aa565b604083015250606061081a848285016107aa565b606083015250608061082e848285016107aa565b60808301525060a06108428482850161079f565b60a08301525060c0610856848285016107aa565b60c08301525060e061086a848285016107aa565b60e08301525061010061087f848285016107aa565b6101008301525092915050565b60006020828403121561089e57600080fd5b60006108aa8484610794565b949350505050565b600080604083850312156108c557600080fd5b60006108d18585610794565b92505060206108e2858286016107aa565b9150509250929050565b600061012082840312156108ff57600080fd5b60006108aa84846107b5565b61091481610c0f565b82525050565b61091481610c1a565b61091481610c1f565b6000610939603583610c06565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610990602f83610c06565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006109e1603483610c06565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b8051610120830190610a3c8482610923565b506020820151610a4f602085018261090b565b506040820151610a626040850182610923565b506060820151610a756060850182610923565b506080820151610a886080850182610923565b5060a0820151610a9b60a085018261091a565b5060c0820151610aae60c0850182610923565b5060e0820151610ac160e0850182610923565b50610100820151610ad6610100850182610923565b50505050565b602081016106de828461090b565b60408101610af8828561090b565b610b05602083018461090b565b9392505050565b602080825281016106de8161092c565b602080825281016106de81610983565b602080825281016106de816109d4565b61012081016106de8284610a2a565b602081016106de8284610923565b6101208101610b68828c610923565b610b75602083018b61090b565b610b82604083018a610923565b610b8f6060830189610923565b610b9c6080830188610923565b610ba960a083018761091a565b610bb660c0830186610923565b610bc360e0830185610923565b610bd1610100830184610923565b9a9950505050505050505050565b60405181810167ffffffffffffffff81118282101715610bfe57600080fd5b604052919050565b90815260200190565b60006106de82610c22565b151590565b90565b6001600160a01b031690565b610c3781610c0f565b8114610c4257600080fd5b50565b610c3781610c1a565b610c3781610c1f56fea365627a7a72315820013790680977a1d5d556326b132fbc33c26b7a3445eb646fe167987d94f609726c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508",
				"urls": [
					"bzz-raw://5533bc62cc1a5780e58c63b2f859ee8c48463409ac7b85dcf8e1456146e0fbe9",
					"dweb:/ipfs/QmcekAvqmfvhTLPZ3oPeViurCfVXC4YJwamFw9DQDdZkMJ"
				]
			},
			"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": "0x30ca2798b72c79907035679c274da0e6692b585e6792e7977d70b3b1d966d508",
						"urls": [
							"bzz-raw://5533bc62cc1a5780e58c63b2f859ee8c48463409ac7b85dcf8e1456146e0fbe9",
							"dweb:/ipfs/QmcekAvqmfvhTLPZ3oPeViurCfVXC4YJwamFw9DQDdZkMJ"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralEth": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162006240380380620062408339810160408190526200004c916200016c565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f9062000294565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d59184906200026e565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b5550506001601055506200031595505050505050565b80516200014c81620002e5565b92915050565b80516200014c81620002ff565b80516200014c816200030a565b600080600080600080600060e0888a0312156200018857600080fd5b6000620001968a8a6200015f565b9750506020620001a98a828b016200013f565b9650506040620001bc8a828b016200013f565b9550506060620001cf8a828b016200013f565b9450506080620001e28a828b0162000152565b93505060a0620001f58a828b0162000152565b92505060c0620002088a828b0162000152565b91505092959891949750929550565b6200022281620002d8565b82525050565b6200022281620002af565b600062000242601983620002a6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200027e828562000217565b6200028d602083018462000228565b9392505050565b602080825281016200014c8162000233565b90815260200190565b60006200014c82620002cc565b90565b60006200014c82620002af565b6001600160a01b031690565b60006200014c82620002bf565b620002f081620002af565b8114620002fc57600080fd5b50565b620002f081620002bc565b620002f081620002bf565b615f1b80620003256000396000f3fe6080604052600436106102465760003560e01c80635eb2ad0111610139578063a76cdfa5116100b6578063d2b8035a1161007a578063d2b8035a14610638578063dac8cf6814610658578063de81eda914610678578063e74337c614610698578063eb8e3b65146106b8578063f3f43703146106cd57610246565b8063a76cdfa5146105b9578063b562a1ab146105d9578063ba2de9bc146105ee578063c19d93fb14610603578063d0ebdbe71461061857610246565b8063899ffef4116100fd578063899ffef41461052d5780638cd2e0c71461054f5780638da5cb5b1461056f57806390abb4d914610584578063925ead11146105a457610246565b80635eb2ad01146104a357806372e18b6a146104c357806374185360146104e357806379ba5097146104f85780637e1323551461050d57610246565b806330edd961116101c7578063441a3e701161018b578063441a3e701461041957806347e7ef2414610439578063481c6a751461044c5780634c17ace41461046e57806353a47bb71461048e57610246565b806330edd9611461038f578063361e2086146103af578063379607f5146103c457806338245377146103e45780634065b81b1461040457610246565b80630cdd1c651161020e5780630cdd1c65146102f857806315aaf4dd146103185780631627540c1461032d57806323d60e2e1461034d5780632af64bd31461036d57610246565b806304f3bcec1461024b57806306c19e3f146102765780630710285c1461028b5780630a153c97146102ab5780630aebeb4e146102d8575b600080fd5b34801561025757600080fd5b506102606106ed565b60405161026d9190615b77565b60405180910390f35b6102896102843660046150c9565b6106fc565b005b34801561029757600080fd5b506102896102a6366004614f82565b61070e565b3480156102b757600080fd5b506102cb6102c63660046150c9565b610754565b60405161026d9190615b05565b3480156102e457600080fd5b506102896102f33660046150ab565b610890565b34801561030457600080fd5b506102896103133660046150ab565b6108d3565b34801561032457600080fd5b506102cb6109be565b34801561033957600080fd5b50610289610348366004614f0c565b6109c4565b34801561035957600080fd5b50610289610368366004614fcf565b610a17565b34801561037957600080fd5b50610382610add565b60405161026d9190615af7565b34801561039b57600080fd5b506102cb6103aa3660046150ab565b610bf5565b3480156103bb57600080fd5b506102cb610c13565b3480156103d057600080fd5b506102896103df3660046150ab565b610c19565b3480156103f057600080fd5b506102cb6103ff3660046150ab565b610cee565b34801561041057600080fd5b50610382610d00565b34801561042557600080fd5b506102896104343660046150c9565b610d09565b610289610447366004614f48565b610d4d565b34801561045857600080fd5b50610461610d58565b60405161026d9190615a86565b34801561047a57600080fd5b506102896104893660046150ab565b610d67565b34801561049a57600080fd5b50610461610e43565b3480156104af57600080fd5b506102896104be366004614f48565b610e52565b3480156104cf57600080fd5b506103826104de366004614fcf565b610e88565b3480156104ef57600080fd5b50610289610f4a565b34801561050457600080fd5b5061028961109c565b34801561051957600080fd5b506102cb6105283660046150c9565b611138565b34801561053957600080fd5b506105426111e1565b60405161026d9190615ae6565b34801561055b57600080fd5b5061028961056a366004614f82565b611346565b34801561057b57600080fd5b50610461611352565b34801561059057600080fd5b5061028961059f36600461503f565b611361565b3480156105b057600080fd5b506102cb6113ad565b3480156105c557600080fd5b506102896105d43660046150ab565b6113b3565b3480156105e557600080fd5b506102cb6113f0565b3480156105fa57600080fd5b506102cb6113f6565b34801561060f57600080fd5b506102606113fc565b34801561062457600080fd5b50610289610633366004614f0c565b61140b565b34801561064457600080fd5b506102896106533660046150c9565b611464565b34801561066457600080fd5b506102cb6106733660046150e8565b61146e565b34801561068457600080fd5b506104616106933660046150ab565b6115c7565b3480156106a457600080fd5b506102cb6106b33660046150e8565b6115e2565b3480156106c457600080fd5b506102cb6118cc565b3480156106d957600080fd5b506102cb6106e8366004614f0c565b6118d2565b6002546001600160a01b031681565b61070934838360006118e4565b505050565b600061071b84848461210d565b3360009081526011602052604090205490915061073e908263ffffffff61257216565b3360009081526011602052604090205550505050565b60008061075f6125a0565b9050610769612652565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161079a93929190615b4f565b60206040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ea9190810190615126565b915061088861087b8273__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561083757600080fd5b505af415801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061086f9190810190615126565b9063ffffffff61257216565b839063ffffffff61266d16565b949350505050565b600061089c3383612697565b336000908152601160205260409020549091506108bf908263ffffffff61257216565b336000908152601160205260409020555050565b6108db612bfc565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561091f57600080fd5b505af4158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109579190810190615126565b811161097e5760405162461bcd60e51b815260040161097590615ba6565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906109b3908390615b05565b60405180910390a150565b600e5481565b6109cc612bfc565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906109b3908390615a86565b610a1f612bfc565b828114610a3e5760405162461bcd60e51b815260040161097590615b96565b60005b83811015610ace576000858583818110610a5757fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610aab57fe5b602090810292909201358352508101919091526040016000205550600101610a41565b50610ad7610f4a565b50505050565b60006060610ae96111e1565b905060005b8151811015610beb576000828281518110610b0557fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b56908590600401615b05565b60206040518083038186803b158015610b6e57600080fd5b505afa158015610b82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ba69190810190614f2a565b6001600160a01b0316141580610bd157506000818152600360205260409020546001600160a01b0316155b15610be25760009350505050610bf2565b50600101610aee565b5060019150505b90565b60078181548110610c0257fe5b600091825260209091200154905081565b600c5481565b601080546001019081905533600090815260116020526040902054610c44908363ffffffff612c2816565b336000818152601160205260408082209390935591518490610c6590615a7b565b60006040518083038185875af1925050503d8060008114610ca2576040519150601f19603f3d011682016040523d82523d6000602084013e610ca7565b606091505b5050905080610cc85760405162461bcd60e51b815260040161097590615be6565b506010548114610cea5760405162461bcd60e51b815260040161097590615d56565b5050565b60086020526000908152604090205481565b600f5460ff1681565b6000610d158383612c50565b33600090815260116020526040902054909150610d38908263ffffffff61257216565b33600090815260116020526040902055505050565b610cea828234612eed565b6006546001600160a01b031681565b610d6f612bfc565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610db357600080fd5b505af4158015610dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610deb9190810190615126565b610e1002811115610e0e5760405162461bcd60e51b815260040161097590615cb6565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906109b3908390615b05565b6001546001600160a01b031681565b610e5a612bfc565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610e9c57506000610888565b60005b84811015610f3e576000868683818110610eb557fe5b9050602002013590508060078381548110610ecc57fe5b906000526020600020015414610ee757600092505050610888565b60078281548110610ef457fe5b906000526020600020015460086000878786818110610f0f57fe5b9050602002013581526020019081526020016000205414610f3557600092505050610888565b50600101610e9f565b50600195945050505050565b6060610f546111e1565b905060005b8151811015610cea576000828281518110610f7057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610fb29190615a70565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fde929190615b2f565b60206040518083038186803b158015610ff657600080fd5b505afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061102e9190810190614f2a565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061108a9084908490615b13565b60405180910390a15050600101610f59565b6001546001600160a01b031633146110c65760405162461bcd60e51b815260040161097590615bd6565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611109926001600160a01b0391821692911690615abd565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111da611145612652565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161117693929190615b4f565b60206040518083038186803b15801561118e57600080fd5b505afa1580156111a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111c69190810190615126565b6111ce61317e565b9063ffffffff61266d16565b9392505050565b6060806111ec61320e565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061122b57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061125557fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061127b57fe5b6020026020010181815250506b53797374656d53746174757360a01b816003815181106112a457fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816004815181106112ca57fe5b60200260200101818152505060606112e2838361325f565b905061133e81600780548060200260200160405190810160405280929190818152602001828054801561133457602002820191906000526020600020905b815481526020019060010190808311611320575b505050505061325f565b935050505090565b6107098333848461331b565b6000546001600160a01b031681565b611369612bfc565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916109b39160ff90911690615af7565b600a5481565b6113bb612bfc565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906109b3908390615b05565b60045481565b600b5481565b6005546001600160a01b031681565b611413612bfc565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926109b3921690615a86565b610cea82826136d6565b600080611479612652565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b81526004016114b593929190615b4f565b60206040518083038186803b1580156114cd57600080fd5b505afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115059190810190615126565b90506000611511612652565b6001600160a01b031663654a60ac856060015161153f8760c00151886080015161257290919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161156593929190615b4f565b60206040518083038186803b15801561157d57600080fd5b505afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b59190810190615126565b9050610888828263ffffffff613c9616565b6009602052600090815260409020546001600160a01b031681565b6000806115ed6125a0565b905060006115f9612652565b6001600160a01b031663654a60ac85606001516116278760c00151886080015161257290919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161164d93929190615b4f565b60206040518083038186803b15801561166557600080fd5b505afa158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169d9190810190615126565b905060006116a9612652565b6001600160a01b031663654a60ac6004548760400151631cd554d160e21b6040518463ffffffff1660e01b81526004016116e593929190615b4f565b60206040518083038186803b1580156116fd57600080fd5b505afa158015611711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117359190810190615126565b9050600073__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561177d57600080fd5b505af4158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b59190810190615126565b905060006117de6117d1600a5485613c9690919063ffffffff16565b859063ffffffff612c2816565b9050600061181761180a600a546117fe898761257290919063ffffffff16565b9063ffffffff613c9616565b849063ffffffff612c2816565b9050600061182b838363ffffffff613c9616565b9050611835612652565b6001600160a01b031663654a60ac631cd554d160e21b838c606001516040518463ffffffff1660e01b815260040161186f93929190615b4f565b60206040518083038186803b15801561188757600080fd5b505afa15801561189b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118bf9190810190615126565b9998505050505050505050565b600d5481565b60116020526000908152604090205481565b60006118ee613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192657600080fd5b505afa15801561193a573d6000803e3d6000fd5b5050600f5460ff16915061196290505760405162461bcd60e51b815260040161097590615ca6565b61196a612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016119979190615b05565b60206040518083038186803b1580156119af57600080fd5b505afa1580156119c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119e7919081019061505d565b15611a045760405162461bcd60e51b815260040161097590615cc6565b600083815260086020526040902054611a2f5760405162461bcd60e51b815260040161097590615cf6565b611a37612652565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b8152600401611a629190615b05565b60206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ab2919081019061505d565b15611acf5760405162461bcd60e51b815260040161097590615c56565b600b54851015611af15760405162461bcd60e51b815260040161097590615c46565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90611b24903390600401615a94565b60206040518083038186803b158015611b3c57600080fd5b505afa158015611b50573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b749190810190615126565b10611b915760405162461bcd60e51b815260040161097590615c26565b600080611b9c613cda565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401611bc9929190615b21565b604080518083038186803b158015611be057600080fd5b505afa158015611bf4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c18919081019061507b565b91509150818015611c27575080155b611c435760405162461bcd60e51b815260040161097590615d36565b611c4d8786611138565b861115611c6c5760405162461bcd60e51b815260040161097590615cd6565b6000611c83600c5488613ce990919063ffffffff16565b90506000611c97888363ffffffff612c2816565b9050611ca1613cda565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611cdb57600080fd5b505af1158015611cef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d139190810190615126565b9450611d1d614c86565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050611d7581613cfe565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490611da6908490600401615d76565b600060405180830381600087803b158015611dc057600080fd5b505af1158015611dd4573d6000803e3d6000fd5b50505050611de283896141ea565b8615611fd857611df06143d6565b6001600160a01b031663867904b433611e07612652565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401611e3d93929190615b4f565b60206040518083038186803b158015611e5557600080fd5b505afa158015611e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e8d9190810190615126565b6040518363ffffffff1660e01b8152600401611eaa929190615aa2565b600060405180830381600087803b158015611ec457600080fd5b505af1158015611ed8573d6000803e3d6000fd5b50505050611ee4613cda565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401611f11929190615b21565b600060405180830381600087803b158015611f2b57600080fd5b505af1158015611f3f573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050611fd3576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611fa09033908d90600401615aa2565b600060405180830381600087803b158015611fba57600080fd5b505af1158015611fce573d6000803e3d6000fd5b505050505b6120b7565b600088815260086020526040902054611ff0906143ed565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040161201d929190615aa2565b600060405180830381600087803b15801561203757600080fd5b505af115801561204b573d6000803e3d6000fd5b50505050612057613cda565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401612084929190615b21565b600060405180830381600087803b15801561209e57600080fd5b505af11580156120b2573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c886040516120f8959493929190615dc3565b60405180910390a25050505050949350505050565b6000612117613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561214f57600080fd5b505afa158015612163573d6000803e3d6000fd5b5050505061216f612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161219c9190615b05565b60206040518083038186803b1580156121b457600080fd5b505afa1580156121c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121ec919081019061505d565b156122095760405162461bcd60e51b815260040161097590615cc6565b600082116122295760405162461bcd60e51b815260040161097590615c06565b612231614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906122639088908890600401615ad8565b6101206040518083038186803b15801561227c57600080fd5b505afa158015612290573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122b49190810190615107565b90506122bf816143f8565b6122c881613cfe565b90506122d933826060015185614458565b600a546122e58261146e565b106123025760405162461bcd60e51b815260040161097590615c36565b600061230d826115e2565b9050600084821061231e5784612320565b815b9050600061233f8460c00151856080015161257290919063ffffffff16565b905080821061235e5761235388338661450b565b9450505050506111da565b61236884836148da565b9350612378846060015183610754565b6040850151909550612390908663ffffffff612c2816565b6040850152426101008501526123a4614afd565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b81526004016123d5929190615aa2565b60206040518083038186803b1580156123ed57600080fd5b505afa158015612401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612425919081019061505d565b156124425760405162461bcd60e51b815260040161097590615d66565b606084015160009081526008602052604090205461245f906143ed565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040161248c929190615aa2565b600060405180830381600087803b1580156124a657600080fd5b505af11580156124ba573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506124ee908790600401615d76565b600060405180830381600087803b15801561250857600080fd5b505af115801561251c573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58833858960405161255f9493929190615d85565b60405180910390a2505050509392505050565b6000828201838110156125975760405162461bcd60e51b815260040161097590615c16565b90505b92915050565b60006125aa614b14565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b81526004016125fd929190615b21565b60206040518083038186803b15801561261557600080fd5b505afa158015612629573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061264d9190810190615126565b905090565b600061264d6c45786368616e6765526174657360981b614b2d565b6000670de0b6b3a7640000612688848463ffffffff614b8a16565b8161268f57fe5b049392505050565b60006126a1613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156126d957600080fd5b505afa1580156126ed573d6000803e3d6000fd5b505050506126f9612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127269190615b05565b60206040518083038186803b15801561273e57600080fd5b505afa158015612752573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612776919081019061505d565b156127935760405162461bcd60e51b815260040161097590615cc6565b61279b614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906127cd9087908790600401615ad8565b6101206040518083038186803b1580156127e657600080fd5b505afa1580156127fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061281e9190810190615107565b9050612829816143f8565b61283281613cfe565b905060006128518260c00151836080015161257290919063ffffffff16565b90506128668260200151836060015183614458565b61286e614afd565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b815260040161289f929190615ad8565b60206040518083038186803b1580156128b757600080fd5b505afa1580156128cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ef919081019061505d565b1561290c5760405162461bcd60e51b815260040161097590615c66565b6060820151600090815260086020526040902054612929906143ed565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612956929190615ad8565b600060405180830381600087803b15801561297057600080fd5b505af1158015612984573d6000803e3d6000fd5b505050508160a0015115612aa25761299a613cda565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b81526004016129cf929190615b21565b600060405180830381600087803b1580156129e957600080fd5b505af11580156129fd573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b031615612a9d57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391612a6a918991600401615ad8565b600060405180830381600087803b158015612a8457600080fd5b505af1158015612a98573d6000803e3d6000fd5b505050505b612b12565b612aaa613cda565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b8152600401612adf929190615b21565b600060405180830381600087803b158015612af957600080fd5b505af1158015612b0d573d6000803e3d6000fd5b505050505b81604001519250612b2b8260c0015183606001516141ea565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612b81908590600401615d76565b600060405180830381600087803b158015612b9b57600080fd5b505af1158015612baf573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f85604051612bec9190615b05565b60405180910390a2505092915050565b6000546001600160a01b03163314612c265760405162461bcd60e51b815260040161097590615ce6565b565b600082821115612c4a5760405162461bcd60e51b815260040161097590615c76565b50900390565b6000612c5a613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c9257600080fd5b505afa158015612ca6573d6000803e3d6000fd5b50505050612cb2612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612cdf9190615b05565b60206040518083038186803b158015612cf757600080fd5b505afa158015612d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d2f919081019061505d565b15612d4c5760405162461bcd60e51b815260040161097590615cc6565b612d54614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d869033908890600401615aa2565b6101206040518083038186803b158015612d9f57600080fd5b505afa158015612db3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dd79190810190615107565b9050612de2816143f8565b612deb81613cfe565b6040810151909150612e03908463ffffffff612c2816565b604082015242610100820152600a54612e1b8261146e565b11612e385760405162461bcd60e51b815260040161097590615bb6565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612e68908490600401615d76565b600060405180830381600087803b158015612e8257600080fd5b505af1158015612e96573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330385858460400151604051612ede93929190615b4f565b60405180910390a25092915050565b612ef5613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f2d57600080fd5b505afa158015612f41573d6000803e3d6000fd5b50505050612f4d612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612f7a9190615b05565b60206040518083038186803b158015612f9257600080fd5b505afa158015612fa6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fca919081019061505d565b15612fe75760405162461bcd60e51b815260040161097590615cc6565b600081116130075760405162461bcd60e51b815260040161097590615d26565b61300f614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130419087908790600401615ad8565b6101206040518083038186803b15801561305a57600080fd5b505afa15801561306e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130929190810190615107565b905061309d816143f8565b6130a681613cfe565b60408101519091506130be908363ffffffff61257216565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906130fd908490600401615d76565b600060405180830381600087803b15801561311757600080fd5b505af115801561312b573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161317093929190615b4f565b60405180910390a250505050565b600061264d600a5473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156131ca57600080fd5b505af41580156131de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132029190810190615126565b9063ffffffff614bc416565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061325057fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561328f578160200160208202803883390190505b50905060005b83518110156132d1578381815181106132aa57fe5b60200260200101518282815181106132be57fe5b6020908102919091010152600101613295565b5060005b8251811015613314578281815181106132ea57fe5b602002602001015182828651018151811061330157fe5b60209081029190910101526001016132d5565b5092915050565b613323613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561335b57600080fd5b505afa15801561336f573d6000803e3d6000fd5b5050505061337b612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016133a89190615b05565b60206040518083038186803b1580156133c057600080fd5b505afa1580156133d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133f8919081019061505d565b156134155760405162461bcd60e51b815260040161097590615cc6565b600081116134355760405162461bcd60e51b815260040161097590615c06565b61343d614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061346f9088908790600401615ad8565b6101206040518083038186803b15801561348857600080fd5b505afa15801561349c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134c09190810190615107565b90506134cb816143f8565b6134d481613cfe565b90506134e584826060015184614458565b6134ef81836148da565b426101008201529050613500614afd565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401613531929190615ad8565b60206040518083038186803b15801561354957600080fd5b505afa15801561355d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613581919081019061505d565b1561359e5760405162461bcd60e51b815260040161097590615d66565b60608101516000908152600860205260409020546135bb906143ed565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b81526004016135e8929190615ad8565b600060405180830381600087803b15801561360257600080fd5b505af1158015613616573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c915061364a908490600401615d76565b600060405180830381600087803b15801561366457600080fd5b505af1158015613678573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f858585608001516040516136c793929190615b4f565b60405180910390a35050505050565b6136de613cc0565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561371657600080fd5b505afa15801561372a573d6000803e3d6000fd5b50505050613736612652565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016137639190615b05565b60206040518083038186803b15801561377b57600080fd5b505afa15801561378f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137b3919081019061505d565b156137d05760405162461bcd60e51b815260040161097590615cc6565b6137d8614c86565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061380a9033908790600401615aa2565b6101206040518083038186803b15801561382357600080fd5b505afa158015613837573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061385b9190810190615107565b9050613866816143f8565b61386f81613cfe565b6080810151909150613887908363ffffffff61257216565b6080820152600a546138988261146e565b116138b55760405162461bcd60e51b815260040161097590615bc6565b60006138cc600c5484613ce990919063ffffffff16565b905060006138e0848363ffffffff612c2816565b90508260a0015115613aed576138f4613cda565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401613925929190615b21565b600060405180830381600087803b15801561393f57600080fd5b505af1158015613953573d6000803e3d6000fd5b5050505061395f6143d6565b6001600160a01b031663867904b433613976612652565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b81526004016139b093929190615b4f565b60206040518083038186803b1580156139c857600080fd5b505afa1580156139dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a009190810190615126565b6040518363ffffffff1660e01b8152600401613a1d929190615aa2565b600060405180830381600087803b158015613a3757600080fd5b505af1158015613a4b573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b031615613ae85760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613ab59033908890600401615aa2565b600060405180830381600087803b158015613acf57600080fd5b505af1158015613ae3573d6000803e3d6000fd5b505050505b613bd5565b613af5613cda565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401613b26929190615b21565b600060405180830381600087803b158015613b4057600080fd5b505af1158015613b54573d6000803e3d6000fd5b5050506060840151600090815260086020526040902054613b7591506143ed565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401613ba2929190615aa2565b600060405180830381600087803b158015613bbc57600080fd5b505af1158015613bd0573d6000803e3d6000fd5b505050505b613be38284606001516141ea565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613c1a908690600401615d76565b600060405180830381600087803b158015613c3457600080fd5b505af1158015613c48573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106548686604051613c87929190615b21565b60405180910390a25050505050565b60006111da82613cb485670de0b6b3a764000063ffffffff614b8a16565b9063ffffffff614bd916565b600061264d6b53797374656d53746174757360a01b614b2d565b6006546001600160a01b031690565b60006111da8383670de0b6b3a7640000614c0e565b613d06614c86565b8190506000806000808560a00151613da457613d20613cda565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613d4f9190615b05565b60806040518083038186803b158015613d6757600080fd5b505afa158015613d7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d9f9190810190615163565b613e31565b613dac613cda565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613de1929190615b21565b60806040518083038186803b158015613df957600080fd5b505afa158015613e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e319190810190615163565b93509350935093506000808760a00151613ec157613e4d613cda565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613e8457600080fd5b505afa158015613e98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ebc9190810190615144565b613f59565b613ec9613cda565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613f0a91600401615b05565b604080518083038186803b158015613f2157600080fd5b505afa158015613f35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f599190810190615144565b915091508015613f7b5760405162461bcd60e51b815260040161097590615c96565b600061401873__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613fc457600080fd5b505af4158015613fd8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ffc9190810190615126565b61400c428863ffffffff612c2816565b9063ffffffff614b8a16565b9050600061403c61402f858463ffffffff61266d16565b889063ffffffff61257216565b905060008a60e001516000146140755761407061405f838b63ffffffff612c2816565b60808d01519063ffffffff61266d16565b614078565b60005b90508a60a001516140ed5761408b613cda565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016140b69190615b05565b600060405180830381600087803b1580156140d057600080fd5b505af11580156140e4573d6000803e3d6000fd5b50505050614159565b6140f5613cda565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401614126929190615b21565b600060405180830381600087803b15801561414057600080fd5b505af1158015614154573d6000803e3d6000fd5b505050505b60c08b015161416e908263ffffffff61257216565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c906141aa908d90600401615d76565b600060405180830381600087803b1580156141c457600080fd5b505af11580156141d8573d6000803e3d6000fd5b50505050505050505050505050919050565b8115610cea57631cd554d160e21b811461428f57614206612652565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b815260040161423c93929190615b4f565b60206040518083038186803b15801561425457600080fd5b505afa158015614268573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061428c9190810190615126565b91505b6142976143d6565b6001600160a01b031663867904b46142ad614c4b565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156142e557600080fd5b505afa1580156142f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061431d9190810190614f2a565b846040518363ffffffff1660e01b815260040161433b929190615ad8565b600060405180830381600087803b15801561435557600080fd5b505af1158015614369573d6000803e3d6000fd5b50505050614375614c4b565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b81526004016143a09190615b05565b600060405180830381600087803b1580156143ba57600080fd5b505af11580156143ce573d6000803e3d6000fd5b505050505050565b600061264d6814de5b9d1a1cd554d160ba1b614b2d565b600061259a82614b2d565b60008160e001511161441c5760405162461bcd60e51b815260040161097590615d46565b42614437600e5483610100015161257290919063ffffffff16565b11156144555760405162461bcd60e51b815260040161097590615bf6565b50565b6000828152600860205260409020548190614472906143ed565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161449d9190615a86565b60206040518083038186803b1580156144b557600080fd5b505afa1580156144c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144ed9190810190615126565b10156107095760405162461bcd60e51b815260040161097590615d16565b6000806145298360c00151846080015161257290919063ffffffff16565b608084015160408501519350909150614540614afd565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b8152600401614571929190615ad8565b60206040518083038186803b15801561458957600080fd5b505afa15801561459d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145c1919081019061505d565b156145de5760405162461bcd60e51b815260040161097590615d66565b60608401516000908152600860205260409020546145fb906143ed565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b8152600401614628929190615ad8565b600060405180830381600087803b15801561464257600080fd5b505af1158015614656573d6000803e3d6000fd5b505050508360a00151156147745761466c613cda565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b81526004016146a1929190615b21565b600060405180830381600087803b1580156146bb57600080fd5b505af11580156146cf573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561476f57606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161473c918a91600401615ad8565b600060405180830381600087803b15801561475657600080fd5b505af115801561476a573d6000803e3d6000fd5b505050505b6147e4565b61477c613cda565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016147b1929190615b21565b600060405180830381600087803b1580156147cb57600080fd5b505af11580156147df573d6000803e3d6000fd5b505050505b6147f68460c0015185606001516141ea565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061484c908790600401615d76565b600060405180830381600087803b15801561486657600080fd5b505af115801561487a573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516148c993929190615b4f565b60405180910390a350509392505050565b6148e2614c86565b508181158015906148f7575060008360c00151115b156149545760008360c00151831161490f5782614915565b8360c001515b60c085015190915061492d908263ffffffff612c2816565b60c0830152614942838263ffffffff612c2816565b92506149528185606001516141ea565b505b811561259a57608083015161496f908363ffffffff612c2816565b608082015260a081015115614a8c57614986613cda565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016149b7929190615b21565b600060405180830381600087803b1580156149d157600080fd5b505af11580156149e5573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b031615614a875760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391614a5491908690600401615aa2565b600060405180830381600087803b158015614a6e57600080fd5b505af1158015614a82573d6000803e3d6000fd5b505050505b61259a565b614a94613cda565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b8152600401614ac5929190615b21565b600060405180830381600087803b158015614adf57600080fd5b505af1158015614af3573d6000803e3d6000fd5b5050505092915050565b600061264d6822bc31b430b733b2b960b91b614b2d565b600061264d6e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b039091169182151591614b5d91869101615a50565b604051602081830303815290604052906133145760405162461bcd60e51b81526004016109759190615b85565b600082614b995750600061259a565b82820282848281614ba657fe5b04146125975760405162461bcd60e51b815260040161097590615d06565b60006111da8383670de0b6b3a7640000614c60565b6000808211614bfa5760405162461bcd60e51b815260040161097590615c86565b6000828481614c0557fe5b04949350505050565b600080600a8304614c25868663ffffffff614b8a16565b81614c2c57fe5b0490506005600a825b0610614c3f57600a015b600a9004949350505050565b600061264d66119959541bdbdb60ca1b614b2d565b600080614c7a84613cb487600a870263ffffffff614b8a16565b90506005600a82614c35565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b803561259a81615eb2565b805161259a81615eb2565b60008083601f840112614d0857600080fd5b50813567ffffffffffffffff811115614d2057600080fd5b602083019150836020820283011115614d3857600080fd5b9250929050565b803561259a81615ec6565b805161259a81615ec6565b803561259a81615ecf565b805161259a81615ecf565b60006101208284031215614d7e57600080fd5b614d89610120615e0f565b90506000614d978484614d55565b8252506020614da884848301614ce0565b6020830152506040614dbc84828501614d55565b6040830152506060614dd084828501614d55565b6060830152506080614de484828501614d55565b60808301525060a0614df884828501614d3f565b60a08301525060c0614e0c84828501614d55565b60c08301525060e0614e2084828501614d55565b60e083015250610100614e3584828501614d55565b6101008301525092915050565b60006101208284031215614e5557600080fd5b614e60610120615e0f565b90506000614e6e8484614d60565b8252506020614e7f84848301614ceb565b6020830152506040614e9384828501614d60565b6040830152506060614ea784828501614d60565b6060830152506080614ebb84828501614d60565b60808301525060a0614ecf84828501614d4a565b60a08301525060c0614ee384828501614d60565b60c08301525060e0614ef784828501614d60565b60e083015250610100614e3584828501614d60565b600060208284031215614f1e57600080fd5b60006108888484614ce0565b600060208284031215614f3c57600080fd5b60006108888484614ceb565b60008060408385031215614f5b57600080fd5b6000614f678585614ce0565b9250506020614f7885828601614d55565b9150509250929050565b600080600060608486031215614f9757600080fd5b6000614fa38686614ce0565b9350506020614fb486828701614d55565b9250506040614fc586828701614d55565b9150509250925092565b60008060008060408587031215614fe557600080fd5b843567ffffffffffffffff811115614ffc57600080fd5b61500887828801614cf6565b9450945050602085013567ffffffffffffffff81111561502757600080fd5b61503387828801614cf6565b95989497509550505050565b60006020828403121561505157600080fd5b60006108888484614d3f565b60006020828403121561506f57600080fd5b60006108888484614d4a565b6000806040838503121561508e57600080fd5b600061509a8585614d4a565b9250506020614f7885828601614d4a565b6000602082840312156150bd57600080fd5b60006108888484614d55565b600080604083850312156150dc57600080fd5b6000614f678585614d55565b600061012082840312156150fb57600080fd5b60006108888484614d6b565b6000610120828403121561511a57600080fd5b60006108888484614e42565b60006020828403121561513857600080fd5b60006108888484614d60565b6000806040838503121561515757600080fd5b600061509a8585614d60565b6000806000806080858703121561517957600080fd5b60006151858787614d60565b945050602061519687828801614d60565b93505060406151a787828801614d60565b92505060606151b887828801614d60565b91505092959194509250565b60006151d08383615252565b505060200190565b6151e181615e6a565b82525050565b6151e181615e4e565b60006151fb82615e3c565b6152058185615e40565b935061521083615e36565b8060005b8381101561523e57815161522888826151c4565b975061523383615e36565b925050600101615214565b509495945050505050565b6151e181615e59565b6151e181610bf2565b6151e161526782610bf2565b610bf2565b6151e181615e71565b600061528082615e3c565b61528a8185615e40565b935061529a818560208601615e7c565b6152a381615ea8565b9093019392505050565b60006152ba601b83615e40565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006152f3601683615e40565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000615325600e83615e40565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061534f601583615e40565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b6000615380603583615e40565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006153d7600f83615e40565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b6000615402601d83615e40565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b600061543b601e83615e40565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615474601b83615e40565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006154ad601283615e40565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b60006154db601e83615e40565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615514601d83615e40565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b600061554d601883615e40565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615586602083615e40565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b60006155bf601e83615e40565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006155f8601a83615e40565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615631601183615e49565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061565e601183615e40565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b600061568b601383615e40565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b60006156ba600a83615e40565b6926b0bc1018903437bab960b11b815260200192915050565b60006156e0601a83615e40565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615719601b83615e40565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b6000615752602f83615e40565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006157a3601f83615e40565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b60006157dc602183615e40565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061581f601883615e40565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b6000615858601e83615e40565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615891601a83615e40565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006158ca601983615e49565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061259a600083615e49565b6000615910601383615e40565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b600061593f601f83615e40565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000615978601b83615e40565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906159b68482615252565b5060208201516159c960208501826151e7565b5060408201516159dc6040850182615252565b5060608201516159ef6060850182615252565b506080820151615a026080850182615252565b5060a0820151615a1560a0850182615249565b5060c0820151615a2860c0850182615252565b5060e0820151615a3b60e0850182615252565b50610100820151610ad7610100850182615252565b6000615a5b82615624565b9150615a67828461525b565b50602001919050565b6000615a5b826158bd565b600061259a826158f6565b6020810161259a82846151e7565b6020810161259a82846151d8565b60408101615ab082856151d8565b6111da6020830184615252565b60408101615acb82856151e7565b6111da60208301846151e7565b60408101615ab082856151e7565b602080825281016111da81846151f0565b6020810161259a8284615249565b6020810161259a8284615252565b60408101615acb8285615252565b60408101615ab08285615252565b60408101615b3d8285615252565b81810360208301526108888184615275565b60608101615b5d8286615252565b615b6a6020830185615252565b6108886040830184615252565b6020810161259a828461526c565b602080825281016111da8184615275565b6020808252810161259a816152ad565b6020808252810161259a816152e6565b6020808252810161259a81615318565b6020808252810161259a81615342565b6020808252810161259a81615373565b6020808252810161259a816153ca565b6020808252810161259a816153f5565b6020808252810161259a8161542e565b6020808252810161259a81615467565b6020808252810161259a816154a0565b6020808252810161259a816154ce565b6020808252810161259a81615507565b6020808252810161259a81615540565b6020808252810161259a81615579565b6020808252810161259a816155b2565b6020808252810161259a816155eb565b6020808252810161259a81615651565b6020808252810161259a8161567e565b6020808252810161259a816156ad565b6020808252810161259a816156d3565b6020808252810161259a8161570c565b6020808252810161259a81615745565b6020808252810161259a81615796565b6020808252810161259a816157cf565b6020808252810161259a81615812565b6020808252810161259a8161584b565b6020808252810161259a81615884565b6020808252810161259a81615903565b6020808252810161259a81615932565b6020808252810161259a8161596b565b610120810161259a82846159a4565b60808101615d938287615252565b615da060208301866151d8565b615dad6040830185615252565b615dba6060830184615252565b95945050505050565b60a08101615dd18288615252565b615dde6020830187615252565b615deb6040830186615252565b615df86060830185615252565b615e056080830184615252565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615e2e57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061259a82615e5e565b151590565b6001600160a01b031690565b600061259a825b600061259a82615e4e565b60005b83811015615e97578181015183820152602001615e7f565b83811115610ad75750506000910152565b601f01601f191690565b615ebb81615e4e565b811461445557600080fd5b615ebb81615e59565b615ebb81610bf256fea365627a7a723158204f8c74024927e46661278ea6cfe2e203eefaf23b2400b6cd678f30b0a7e255d96c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23d60e2e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areSynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72e18b6a"
				},
				{
					"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": 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": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x30edd961"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x38245377"
				},
				{
					"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": "0xa48ff50e2dbdb646cb5933caf7f577a673f7e535eb520e7e9b32ff86e3bc9784",
				"urls": [
					"bzz-raw://de83c1e9d2cb8f8cba647b2e3bd0c9e03284096e82cd752c7f30e6d2cb2cb931",
					"dweb:/ipfs/Qmcx9SSBT8q257W6qpmgmjJtgWX16Maib4hu6tcxdjp69R"
				]
			},
			"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": "0xa48ff50e2dbdb646cb5933caf7f577a673f7e535eb520e7e9b32ff86e3bc9784",
						"urls": [
							"bzz-raw://de83c1e9d2cb8f8cba647b2e3bd0c9e03284096e82cd752c7f30e6d2cb2cb931",
							"dweb:/ipfs/Qmcx9SSBT8q257W6qpmgmjJtgWX16Maib4hu6tcxdjp69R"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralErc20": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162006350380380620063508339810160408190526200004c916200018c565b888888888888888380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f90620002e0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d5918490620002ba565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498831698821698909817909755600580549982169990971698909817909555600492909255600a55600b555050600f80549490921661010002610100600160a81b031990941693909317905560105550620003619650505050505050565b80516200016c8162000331565b92915050565b80516200016c816200034b565b80516200016c8162000356565b60008060008060008060008060006101208a8c031215620001ac57600080fd5b6000620001ba8c8c6200017f565b9950506020620001cd8c828d016200015f565b9850506040620001e08c828d016200015f565b9750506060620001f38c828d016200015f565b9650506080620002068c828d0162000172565b95505060a0620002198c828d0162000172565b94505060c06200022c8c828d0162000172565b93505060e06200023f8c828d016200015f565b925050610100620002538c828d0162000172565b9150509295985092959850929598565b6200026e8162000324565b82525050565b6200026e81620002fb565b60006200028e601983620002f2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002ca828562000263565b620002d9602083018462000274565b9392505050565b602080825281016200016c816200027f565b90815260200190565b60006200016c8262000318565b90565b60006200016c82620002fb565b6001600160a01b031690565b60006200016c826200030b565b6200033c81620002fb565b81146200034857600080fd5b50565b6200033c8162000308565b6200033c816200030b565b615fdf80620003716000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c806372e18b6a11610151578063b094f2c4116100c3578063d2b8035a11610087578063d2b8035a146104be578063dac8cf68146104d1578063de81eda9146104e4578063e74337c6146104f7578063eb8e3b651461050a578063f93451ed1461051257610269565b8063b094f2c414610480578063b562a1ab14610493578063ba2de9bc1461049b578063c19d93fb146104a3578063d0ebdbe7146104ab57610269565b8063899ffef411610115578063899ffef4146104225780638cd2e0c7146104375780638da5cb5b1461044a57806390abb4d914610452578063925ead1114610465578063a76cdfa51461046d57610269565b806372e18b6a146103d957806374185360146103ec57806379ba5097146103f45780637e132355146103fc578063883a22091461040f57610269565b80632af64bd3116101ea5780634065b81b116101ae5780634065b81b14610388578063441a3e7014610390578063481c6a75146103a35780634c17ace4146103ab57806353a47bb7146103be5780635eb2ad01146103c657610269565b80632af64bd31461033d57806330edd96114610352578063361e208614610365578063382453771461036d5780633cc3ffc71461038057610269565b80630efe6a8b116102315780630efe6a8b146102e757806310cfe906146102fa57806315aaf4dd1461030f5780631627540c1461031757806323d60e2e1461032a57610269565b806304f3bcec1461026e5780630710285c1461028c5780630a153c97146102a15780630aebeb4e146102c15780630cdd1c65146102d4575b600080fd5b610276610525565b6040516102839190615c4b565b60405180910390f35b61029f61029a36600461504f565b610534565b005b6102b46102af366004615196565b6105e0565b6040516102839190615be6565b61029f6102cf366004615178565b61071c565b61029f6102e2366004615178565b6107c5565b61029f6102f536600461504f565b6108b0565b6103026109f8565b6040516102839190615b31565b6102b4610a0c565b61029f610325366004614fd9565b610a12565b61029f61033836600461509c565b610a65565b610345610b25565b6040516102839190615bd8565b6102b4610360366004615178565b610c3d565b6102b4610c5b565b6102b461037b366004615178565b610c61565b6102b4610c73565b610345610c79565b61029f61039e366004615196565b610c82565b610302610c9b565b61029f6103b9366004615178565b610caa565b610302610d86565b61029f6103d4366004615015565b610d95565b6103456103e736600461509c565b610dcb565b61029f610e8d565b61029f610fe3565b6102b461040a366004615196565b61107f565b6102b461041d366004615178565b611128565b61042a61114d565b6040516102839190615bc7565b61029f61044536600461504f565b6112b2565b6103026112c3565b61029f61046036600461510c565b6112d2565b6102b461131e565b61029f61047b366004615178565b611324565b6102b461048e366004615178565b611361565b6102b4611386565b6102b461138c565b610276611392565b61029f6104b9366004614fd9565b6113a1565b61029f6104cc366004615196565b6113fa565b6102b46104df3660046151b5565b611404565b6103026104f2366004615178565b61155d565b6102b46105053660046151b5565b611578565b6102b4611862565b61029f610520366004615230565b611868565b6002546001600160a01b031681565b60006105418484846119b9565b9050600061054e82611361565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb906105869033908590600401615b90565b602060405180830381600087803b1580156105a057600080fd5b505af11580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d8919081019061512a565b505050505050565b6000806105eb611e1e565b90506105f5611ed0565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161062693929190615c30565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061067691908101906151f3565b91506107146107078273__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505af41580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106fb91908101906151f3565b9063ffffffff611eeb16565b839063ffffffff611f1916565b949350505050565b60006107283383611f43565b9050600061073582611361565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061076d9033908590600401615b90565b602060405180830381600087803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107bf919081019061512a565b50505050565b6107cd6124a8565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505af4158015610825573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084991908101906151f3565b81116108705760405162461bcd60e51b815260040161086790615c7a565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906108a5908390615be6565b60405180910390a150565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906108e69033903090600401615b4d565b60206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061093691908101906151f3565b8111156109555760405162461bcd60e51b815260040161086790615cba565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd9061098d90339030908690600401615b68565b602060405180830381600087803b1580156109a757600080fd5b505af11580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109df919081019061512a565b5060006109eb82611128565b90506107bf8484836124d4565b600f5461010090046001600160a01b031681565b600e5481565b610a1a6124a8565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a5908390615b31565b610a6d6124a8565b828114610a8c5760405162461bcd60e51b815260040161086790615c6a565b60005b83811015610b1c576000858583818110610aa557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610af957fe5b602090810292909201358352508101919091526040016000205550600101610a8f565b506107bf610e8d565b60006060610b3161114d565b905060005b8151811015610c33576000828281518110610b4d57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b9e908590600401615be6565b60206040518083038186803b158015610bb657600080fd5b505afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bee9190810190614ff7565b6001600160a01b0316141580610c1957506000818152600360205260409020546001600160a01b0316155b15610c2a5760009350505050610c3a565b50600101610b36565b5060019150505b90565b60078181548110610c4a57fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b60105481565b600f5460ff1681565b6000610c8d82611128565b905060006105418483612765565b6006546001600160a01b031681565b610cb26124a8565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf657600080fd5b505af4158015610d0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2e91908101906151f3565b610e1002811115610d515760405162461bcd60e51b815260040161086790615d8a565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906108a5908390615be6565b6001546001600160a01b031681565b610d9d6124a8565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610ddf57506000610714565b60005b84811015610e81576000868683818110610df857fe5b9050602002013590508060078381548110610e0f57fe5b906000526020600020015414610e2a57600092505050610714565b60078281548110610e3757fe5b906000526020600020015460086000878786818110610e5257fe5b9050602002013581526020019081526020016000205414610e7857600092505050610714565b50600101610de2565b50600195945050505050565b6060610e9761114d565b905060005b8151811015610fdf576000828281518110610eb357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610ef59190615b26565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f21929190615c10565b60206040518083038186803b158015610f3957600080fd5b505afa158015610f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f719190810190614ff7565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610fcd9084908490615bf4565b60405180910390a15050600101610e9c565b5050565b6001546001600160a01b0316331461100d5760405162461bcd60e51b815260040161086790615caa565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611050926001600160a01b0391821692911690615bab565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061112161108c611ed0565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b81526004016110bd93929190615c30565b60206040518083038186803b1580156110d557600080fd5b505afa1580156110e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110d91908101906151f3565b611115612a02565b9063ffffffff611f1916565b9392505050565b6000806111386012601054612a92565b600a0a9050611121838263ffffffff612aba16565b606080611158612af4565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061119757fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106111c157fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106111e757fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061121057fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061123657fe5b602002602001018181525050606061124e8383612b45565b90506112aa8160078054806020026020016040519081016040528092919081815260200182805480156112a057602002820191906000526020600020905b81548152602001906001019080831161128c575b5050505050612b45565b935050505090565b6112be83338484612c01565b505050565b6000546001600160a01b031681565b6112da6124a8565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108a59160ff90911690615bd8565b600a5481565b61132c6124a8565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906108a5908390615be6565b6000806113716012601054612a92565b600a0a9050611121838263ffffffff612fbc16565b60045481565b600b5481565b6005546001600160a01b031681565b6113a96124a8565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926108a5921690615b31565b610fdf8282612ff1565b60008061140f611ed0565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b815260040161144b93929190615c30565b60206040518083038186803b15801561146357600080fd5b505afa158015611477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061149b91908101906151f3565b905060006114a7611ed0565b6001600160a01b031663654a60ac85606001516114d58760c001518860800151611eeb90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b81526004016114fb93929190615c30565b60206040518083038186803b15801561151357600080fd5b505afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061154b91908101906151f3565b9050610714828263ffffffff6135b116565b6009602052600090815260409020546001600160a01b031681565b600080611583611e1e565b9050600061158f611ed0565b6001600160a01b031663654a60ac85606001516115bd8760c001518860800151611eeb90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b81526004016115e393929190615c30565b60206040518083038186803b1580156115fb57600080fd5b505afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061163391908101906151f3565b9050600061163f611ed0565b6001600160a01b031663654a60ac6004548760400151631cd554d160e21b6040518463ffffffff1660e01b815260040161167b93929190615c30565b60206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cb91908101906151f3565b9050600073__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561171357600080fd5b505af4158015611727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174b91908101906151f3565b90506000611774611767600a54856135b190919063ffffffff16565b859063ffffffff612a9216565b905060006117ad6117a0600a546117948987611eeb90919063ffffffff16565b9063ffffffff6135b116565b849063ffffffff612a9216565b905060006117c1838363ffffffff6135b116565b90506117cb611ed0565b6001600160a01b031663654a60ac631cd554d160e21b838c606001516040518463ffffffff1660e01b815260040161180593929190615c30565b60206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061185591908101906151f3565b9998505050505050505050565b600d5481565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e9061189e9033903090600401615b4d565b60206040518083038186803b1580156118b657600080fd5b505afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118ee91908101906151f3565b83111561190d5760405162461bcd60e51b815260040161086790615cba565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd9061194590339030908890600401615b68565b602060405180830381600087803b15801561195f57600080fd5b505af1158015611973573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611997919081019061512a565b5060006119a384611128565b90506119b281848460006135db565b5050505050565b60006119c3613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119fb57600080fd5b505afa158015611a0f573d6000803e3d6000fd5b50505050611a1b611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611a489190615be6565b60206040518083038186803b158015611a6057600080fd5b505afa158015611a74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a98919081019061512a565b15611ab55760405162461bcd60e51b815260040161086790615d9a565b60008211611ad55760405162461bcd60e51b815260040161086790615cda565b611add614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611b0f9088908890600401615bb9565b6101206040518083038186803b158015611b2857600080fd5b505afa158015611b3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b6091908101906151d4565b9050611b6b81613e1e565b611b7481613e7e565b9050611b853382606001518561436a565b600a54611b9182611404565b10611bae5760405162461bcd60e51b815260040161086790615d0a565b6000611bb982611578565b90506000848210611bca5784611bcc565b815b90506000611beb8460c001518560800151611eeb90919063ffffffff16565b9050808210611c0a57611bff88338661441d565b945050505050611121565b611c1484836147ec565b9350611c248460600151836105e0565b6040850151909550611c3c908663ffffffff612a9216565b604085015242610100850152611c50614a0f565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611c81929190615b90565b60206040518083038186803b158015611c9957600080fd5b505afa158015611cad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cd1919081019061512a565b15611cee5760405162461bcd60e51b815260040161086790615e2a565b6060840151600090815260086020526040902054611d0b90614a26565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611d38929190615b90565b600060405180830381600087803b158015611d5257600080fd5b505af1158015611d66573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d9a908790600401615e3a565b600060405180830381600087803b158015611db457600080fd5b505af1158015611dc8573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611e0b9493929190615e49565b60405180910390a2505050509392505050565b6000611e28614a31565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611e7b929190615c02565b60206040518083038186803b158015611e9357600080fd5b505afa158015611ea7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ecb91908101906151f3565b905090565b6000611ecb6c45786368616e6765526174657360981b614a4a565b600082820183811015611f105760405162461bcd60e51b815260040161086790615cea565b90505b92915050565b6000670de0b6b3a7640000611f34848463ffffffff612aba16565b81611f3b57fe5b049392505050565b6000611f4d613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611f8557600080fd5b505afa158015611f99573d6000803e3d6000fd5b50505050611fa5611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611fd29190615be6565b60206040518083038186803b158015611fea57600080fd5b505afa158015611ffe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612022919081019061512a565b1561203f5760405162461bcd60e51b815260040161086790615d9a565b612047614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906120799087908790600401615bb9565b6101206040518083038186803b15801561209257600080fd5b505afa1580156120a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ca91908101906151d4565b90506120d581613e1e565b6120de81613e7e565b905060006120fd8260c001518360800151611eeb90919063ffffffff16565b9050612112826020015183606001518361436a565b61211a614a0f565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b815260040161214b929190615bb9565b60206040518083038186803b15801561216357600080fd5b505afa158015612177573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061219b919081019061512a565b156121b85760405162461bcd60e51b815260040161086790615d3a565b60608201516000908152600860205260409020546121d590614a26565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612202929190615bb9565b600060405180830381600087803b15801561221c57600080fd5b505af1158015612230573d6000803e3d6000fd5b505050508160a001511561234e57612246614aa7565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161227b929190615c02565b600060405180830381600087803b15801561229557600080fd5b505af11580156122a9573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b03161561234957606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391612316918991600401615bb9565b600060405180830381600087803b15801561233057600080fd5b505af1158015612344573d6000803e3d6000fd5b505050505b6123be565b612356614aa7565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161238b929190615c02565b600060405180830381600087803b1580156123a557600080fd5b505af11580156123b9573d6000803e3d6000fd5b505050505b816040015192506123d78260c001518360600151614ab6565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061242d908590600401615e3a565b600060405180830381600087803b15801561244757600080fd5b505af115801561245b573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516124989190615be6565b60405180910390a2505092915050565b6000546001600160a01b031633146124d25760405162461bcd60e51b815260040161086790615dba565b565b6124dc613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561251457600080fd5b505afa158015612528573d6000803e3d6000fd5b50505050612534611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016125619190615be6565b60206040518083038186803b15801561257957600080fd5b505afa15801561258d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125b1919081019061512a565b156125ce5760405162461bcd60e51b815260040161086790615d9a565b600081116125ee5760405162461bcd60e51b815260040161086790615dfa565b6125f6614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906126289087908790600401615bb9565b6101206040518083038186803b15801561264157600080fd5b505afa158015612655573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061267991908101906151d4565b905061268481613e1e565b61268d81613e7e565b60408101519091506126a5908363ffffffff611eeb16565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906126e4908490600401615e3a565b600060405180830381600087803b1580156126fe57600080fd5b505af1158015612712573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161275793929190615c30565b60405180910390a250505050565b600061276f613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156127a757600080fd5b505afa1580156127bb573d6000803e3d6000fd5b505050506127c7611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127f49190615be6565b60206040518083038186803b15801561280c57600080fd5b505afa158015612820573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612844919081019061512a565b156128615760405162461bcd60e51b815260040161086790615d9a565b612869614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061289b9033908890600401615b90565b6101206040518083038186803b1580156128b457600080fd5b505afa1580156128c8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128ec91908101906151d4565b90506128f781613e1e565b61290081613e7e565b6040810151909150612918908463ffffffff612a9216565b604082015242610100820152600a5461293082611404565b1161294d5760405162461bcd60e51b815260040161086790615c8a565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061297d908490600401615e3a565b600060405180830381600087803b15801561299757600080fd5b505af11580156129ab573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303858584604001516040516129f393929190615c30565b60405180910390a25092915050565b6000611ecb600a5473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612a4e57600080fd5b505af4158015612a62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a8691908101906151f3565b9063ffffffff614c9a16565b600082821115612ab45760405162461bcd60e51b815260040161086790615d4a565b50900390565b600082612ac957506000611f13565b82820282848281612ad657fe5b0414611f105760405162461bcd60e51b815260040161086790615dda565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612b3657fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612b75578160200160208202803883390190505b50905060005b8351811015612bb757838181518110612b9057fe5b6020026020010151828281518110612ba457fe5b6020908102919091010152600101612b7b565b5060005b8251811015612bfa57828181518110612bd057fe5b6020026020010151828286510181518110612be757fe5b6020908102919091010152600101612bbb565b5092915050565b612c09613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c4157600080fd5b505afa158015612c55573d6000803e3d6000fd5b50505050612c61611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612c8e9190615be6565b60206040518083038186803b158015612ca657600080fd5b505afa158015612cba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612cde919081019061512a565b15612cfb5760405162461bcd60e51b815260040161086790615d9a565b60008111612d1b5760405162461bcd60e51b815260040161086790615cda565b612d23614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d559088908790600401615bb9565b6101206040518083038186803b158015612d6e57600080fd5b505afa158015612d82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612da691908101906151d4565b9050612db181613e1e565b612dba81613e7e565b9050612dcb8482606001518461436a565b612dd581836147ec565b426101008201529050612de6614a0f565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612e17929190615bb9565b60206040518083038186803b158015612e2f57600080fd5b505afa158015612e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e67919081019061512a565b15612e845760405162461bcd60e51b815260040161086790615e2a565b6060810151600090815260086020526040902054612ea190614a26565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612ece929190615bb9565b600060405180830381600087803b158015612ee857600080fd5b505af1158015612efc573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612f30908490600401615e3a565b600060405180830381600087803b158015612f4a57600080fd5b505af1158015612f5e573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612fad93929190615c30565b60405180910390a35050505050565b6000808211612fdd5760405162461bcd60e51b815260040161086790615d5a565b6000828481612fe857fe5b04949350505050565b612ff9613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561303157600080fd5b505afa158015613045573d6000803e3d6000fd5b50505050613051611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161307e9190615be6565b60206040518083038186803b15801561309657600080fd5b505afa1580156130aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130ce919081019061512a565b156130eb5760405162461bcd60e51b815260040161086790615d9a565b6130f3614d53565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906131259033908790600401615b90565b6101206040518083038186803b15801561313e57600080fd5b505afa158015613152573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061317691908101906151d4565b905061318181613e1e565b61318a81613e7e565b60808101519091506131a2908363ffffffff611eeb16565b6080820152600a546131b382611404565b116131d05760405162461bcd60e51b815260040161086790615c9a565b60006131e7600c5484614caf90919063ffffffff16565b905060006131fb848363ffffffff612a9216565b90508260a00151156134085761320f614aa7565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401613240929190615c02565b600060405180830381600087803b15801561325a57600080fd5b505af115801561326e573d6000803e3d6000fd5b5050505061327a614cc4565b6001600160a01b031663867904b433613291611ed0565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b81526004016132cb93929190615c30565b60206040518083038186803b1580156132e357600080fd5b505afa1580156132f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061331b91908101906151f3565b6040518363ffffffff1660e01b8152600401613338929190615b90565b600060405180830381600087803b15801561335257600080fd5b505af1158015613366573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156134035760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906133d09033908890600401615b90565b600060405180830381600087803b1580156133ea57600080fd5b505af11580156133fe573d6000803e3d6000fd5b505050505b6134f0565b613410614aa7565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401613441929190615c02565b600060405180830381600087803b15801561345b57600080fd5b505af115801561346f573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546134909150614a26565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016134bd929190615b90565b600060405180830381600087803b1580156134d757600080fd5b505af11580156134eb573d6000803e3d6000fd5b505050505b6134fe828460600151614ab6565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613535908690600401615e3a565b600060405180830381600087803b15801561354f57600080fd5b505af1158015613563573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf35831065486866040516135a2929190615c02565b60405180910390a25050505050565b6000611121826135cf85670de0b6b3a764000063ffffffff612aba16565b9063ffffffff612fbc16565b60006135e5613e04565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561361d57600080fd5b505afa158015613631573d6000803e3d6000fd5b5050600f5460ff16915061365990505760405162461bcd60e51b815260040161086790615d7a565b613661611ed0565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161368e9190615be6565b60206040518083038186803b1580156136a657600080fd5b505afa1580156136ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136de919081019061512a565b156136fb5760405162461bcd60e51b815260040161086790615d9a565b6000838152600860205260409020546137265760405162461bcd60e51b815260040161086790615dca565b61372e611ed0565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016137599190615be6565b60206040518083038186803b15801561377157600080fd5b505afa158015613785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137a9919081019061512a565b156137c65760405162461bcd60e51b815260040161086790615d2a565b600b548510156137e85760405162461bcd60e51b815260040161086790615d1a565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc9061381b903390600401615b3f565b60206040518083038186803b15801561383357600080fd5b505afa158015613847573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061386b91908101906151f3565b106138885760405162461bcd60e51b815260040161086790615cfa565b600080613893614aa7565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b81526004016138c0929190615c02565b604080518083038186803b1580156138d757600080fd5b505afa1580156138eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061390f9190810190615148565b9150915081801561391e575080155b61393a5760405162461bcd60e51b815260040161086790615e0a565b613944878661107f565b8611156139635760405162461bcd60e51b815260040161086790615daa565b600061397a600c5488614caf90919063ffffffff16565b9050600061398e888363ffffffff612a9216565b9050613998614aa7565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156139d257600080fd5b505af11580156139e6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a0a91908101906151f3565b9450613a14614d53565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050613a6c81613e7e565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613a9d908490600401615e3a565b600060405180830381600087803b158015613ab757600080fd5b505af1158015613acb573d6000803e3d6000fd5b50505050613ad98389614ab6565b8615613ccf57613ae7614cc4565b6001600160a01b031663867904b433613afe611ed0565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401613b3493929190615c30565b60206040518083038186803b158015613b4c57600080fd5b505afa158015613b60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b8491908101906151f3565b6040518363ffffffff1660e01b8152600401613ba1929190615b90565b600060405180830381600087803b158015613bbb57600080fd5b505af1158015613bcf573d6000803e3d6000fd5b50505050613bdb614aa7565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401613c08929190615c02565b600060405180830381600087803b158015613c2257600080fd5b505af1158015613c36573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613cca576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613c979033908d90600401615b90565b600060405180830381600087803b158015613cb157600080fd5b505af1158015613cc5573d6000803e3d6000fd5b505050505b613dae565b600088815260086020526040902054613ce790614a26565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401613d14929190615b90565b600060405180830381600087803b158015613d2e57600080fd5b505af1158015613d42573d6000803e3d6000fd5b50505050613d4e614aa7565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401613d7b929190615c02565b600060405180830381600087803b158015613d9557600080fd5b505af1158015613da9573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613def959493929190615e87565b60405180910390a25050505050949350505050565b6000611ecb6b53797374656d53746174757360a01b614a4a565b60008160e0015111613e425760405162461bcd60e51b815260040161086790615e1a565b42613e5d600e54836101000151611eeb90919063ffffffff16565b1115613e7b5760405162461bcd60e51b815260040161086790615cca565b50565b613e86614d53565b8190506000806000808560a00151613f2457613ea0614aa7565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613ecf9190615be6565b60806040518083038186803b158015613ee757600080fd5b505afa158015613efb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f1f9190810190615251565b613fb1565b613f2c614aa7565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613f61929190615c02565b60806040518083038186803b158015613f7957600080fd5b505afa158015613f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fb19190810190615251565b93509350935093506000808760a0015161404157613fcd614aa7565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b15801561400457600080fd5b505afa158015614018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061403c9190810190615211565b6140d9565b614049614aa7565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f7909161408a91600401615be6565b604080518083038186803b1580156140a157600080fd5b505afa1580156140b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140d99190810190615211565b9150915080156140fb5760405162461bcd60e51b815260040161086790615d6a565b600061419873__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561414457600080fd5b505af4158015614158573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061417c91908101906151f3565b61418c428863ffffffff612a9216565b9063ffffffff612aba16565b905060006141bc6141af858463ffffffff611f1916565b889063ffffffff611eeb16565b905060008a60e001516000146141f5576141f06141df838b63ffffffff612a9216565b60808d01519063ffffffff611f1916565b6141f8565b60005b90508a60a0015161426d5761420b614aa7565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016142369190615be6565b600060405180830381600087803b15801561425057600080fd5b505af1158015614264573d6000803e3d6000fd5b505050506142d9565b614275614aa7565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b81526004016142a6929190615c02565b600060405180830381600087803b1580156142c057600080fd5b505af11580156142d4573d6000803e3d6000fd5b505050505b60c08b01516142ee908263ffffffff611eeb16565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061432a908d90600401615e3a565b600060405180830381600087803b15801561434457600080fd5b505af1158015614358573d6000803e3d6000fd5b50505050505050505050505050919050565b600082815260086020526040902054819061438490614a26565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016143af9190615b31565b60206040518083038186803b1580156143c757600080fd5b505afa1580156143db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143ff91908101906151f3565b10156112be5760405162461bcd60e51b815260040161086790615dea565b60008061443b8360c001518460800151611eeb90919063ffffffff16565b608084015160408501519350909150614452614a0f565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b8152600401614483929190615bb9565b60206040518083038186803b15801561449b57600080fd5b505afa1580156144af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506144d3919081019061512a565b156144f05760405162461bcd60e51b815260040161086790615e2a565b606084015160009081526008602052604090205461450d90614a26565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b815260040161453a929190615bb9565b600060405180830381600087803b15801561455457600080fd5b505af1158015614568573d6000803e3d6000fd5b505050508360a00151156146865761457e614aa7565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b81526004016145b3929190615c02565b600060405180830381600087803b1580156145cd57600080fd5b505af11580156145e1573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561468157606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161464e918a91600401615bb9565b600060405180830381600087803b15801561466857600080fd5b505af115801561467c573d6000803e3d6000fd5b505050505b6146f6565b61468e614aa7565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016146c3929190615c02565b600060405180830381600087803b1580156146dd57600080fd5b505af11580156146f1573d6000803e3d6000fd5b505050505b6147088460c001518560600151614ab6565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061475e908790600401615e3a565b600060405180830381600087803b15801561477857600080fd5b505af115801561478c573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516147db93929190615c30565b60405180910390a350509392505050565b6147f4614d53565b50818115801590614809575060008360c00151115b156148665760008360c0015183116148215782614827565b8360c001515b60c085015190915061483f908263ffffffff612a9216565b60c0830152614854838263ffffffff612a9216565b9250614864818560600151614ab6565b505b8115611f13576080830151614881908363ffffffff612a9216565b608082015260a08101511561499e57614898614aa7565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016148c9929190615c02565b600060405180830381600087803b1580156148e357600080fd5b505af11580156148f7573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156149995760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161496691908690600401615b90565b600060405180830381600087803b15801561498057600080fd5b505af1158015614994573d6000803e3d6000fd5b505050505b611f13565b6149a6614aa7565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b81526004016149d7929190615c02565b600060405180830381600087803b1580156149f157600080fd5b505af1158015614a05573d6000803e3d6000fd5b5050505092915050565b6000611ecb6822bc31b430b733b2b960b91b614a4a565b6000611f1382614a4a565b6000611ecb6e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b039091169182151591614a7a91869101615b06565b60405160208183030381529060405290612bfa5760405162461bcd60e51b81526004016108679190615c59565b6006546001600160a01b031690565b8115610fdf57631cd554d160e21b8114614b5b57614ad2611ed0565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401614b0893929190615c30565b60206040518083038186803b158015614b2057600080fd5b505afa158015614b34573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b5891908101906151f3565b91505b614b63614cc4565b6001600160a01b031663867904b4614b79614cdb565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015614bb157600080fd5b505afa158015614bc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614be99190810190614ff7565b846040518363ffffffff1660e01b8152600401614c07929190615bb9565b600060405180830381600087803b158015614c2157600080fd5b505af1158015614c35573d6000803e3d6000fd5b50505050614c41614cdb565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401614c6c9190615be6565b600060405180830381600087803b158015614c8657600080fd5b505af11580156105d8573d6000803e3d6000fd5b60006111218383670de0b6b3a7640000614cf0565b60006111218383670de0b6b3a7640000614d28565b6000611ecb6814de5b9d1a1cd554d160ba1b614a4a565b6000611ecb66119959541bdbdb60ca1b614a4a565b600080614d0a846135cf87600a870263ffffffff612aba16565b90506005600a825b0610614d1c57600a015b600a9004949350505050565b600080600a8304614d3f868663ffffffff612aba16565b81614d4657fe5b0490506005600a82614d12565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611f1381615f76565b8051611f1381615f76565b60008083601f840112614dd557600080fd5b50813567ffffffffffffffff811115614ded57600080fd5b602083019150836020820283011115614e0557600080fd5b9250929050565b8035611f1381615f8a565b8051611f1381615f8a565b8035611f1381615f93565b8051611f1381615f93565b60006101208284031215614e4b57600080fd5b614e56610120615ed3565b90506000614e648484614e22565b8252506020614e7584848301614dad565b6020830152506040614e8984828501614e22565b6040830152506060614e9d84828501614e22565b6060830152506080614eb184828501614e22565b60808301525060a0614ec584828501614e0c565b60a08301525060c0614ed984828501614e22565b60c08301525060e0614eed84828501614e22565b60e083015250610100614f0284828501614e22565b6101008301525092915050565b60006101208284031215614f2257600080fd5b614f2d610120615ed3565b90506000614f3b8484614e2d565b8252506020614f4c84848301614db8565b6020830152506040614f6084828501614e2d565b6040830152506060614f7484828501614e2d565b6060830152506080614f8884828501614e2d565b60808301525060a0614f9c84828501614e17565b60a08301525060c0614fb084828501614e2d565b60c08301525060e0614fc484828501614e2d565b60e083015250610100614f0284828501614e2d565b600060208284031215614feb57600080fd5b60006107148484614dad565b60006020828403121561500957600080fd5b60006107148484614db8565b6000806040838503121561502857600080fd5b60006150348585614dad565b925050602061504585828601614e22565b9150509250929050565b60008060006060848603121561506457600080fd5b60006150708686614dad565b935050602061508186828701614e22565b925050604061509286828701614e22565b9150509250925092565b600080600080604085870312156150b257600080fd5b843567ffffffffffffffff8111156150c957600080fd5b6150d587828801614dc3565b9450945050602085013567ffffffffffffffff8111156150f457600080fd5b61510087828801614dc3565b95989497509550505050565b60006020828403121561511e57600080fd5b60006107148484614e0c565b60006020828403121561513c57600080fd5b60006107148484614e17565b6000806040838503121561515b57600080fd5b60006151678585614e17565b925050602061504585828601614e17565b60006020828403121561518a57600080fd5b60006107148484614e22565b600080604083850312156151a957600080fd5b60006150348585614e22565b600061012082840312156151c857600080fd5b60006107148484614e38565b600061012082840312156151e757600080fd5b60006107148484614f0f565b60006020828403121561520557600080fd5b60006107148484614e2d565b6000806040838503121561522457600080fd5b60006151678585614e2d565b60008060006060848603121561524557600080fd5b60006150708686614e22565b6000806000806080858703121561526757600080fd5b60006152738787614e2d565b945050602061528487828801614e2d565b935050604061529587828801614e2d565b92505060606152a687828801614e2d565b91505092959194509250565b60006152be8383615340565b505060200190565b6152cf81615f2e565b82525050565b6152cf81615f12565b60006152e982615f00565b6152f38185615f04565b93506152fe83615efa565b8060005b8381101561532c57815161531688826152b2565b975061532183615efa565b925050600101615302565b509495945050505050565b6152cf81615f1d565b6152cf81610c3a565b6152cf61535582610c3a565b610c3a565b6152cf81615f35565b600061536e82615f00565b6153788185615f04565b9350615388818560208601615f40565b61539181615f6c565b9093019392505050565b60006153a8601b83615f04565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006153e1601683615f04565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000615413600e83615f04565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061543d601583615f04565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b600061546e603583615f04565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006154c5601983615f04565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b60006154fe601d83615f04565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b6000615537601e83615f04565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615570601b83615f04565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006155a9601283615f04565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b60006155d7601e83615f04565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615610601d83615f04565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615649601883615f04565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615682602083615f04565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b60006156bb601e83615f04565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006156f4601a83615f04565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061572d601183615f0d565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061575a601183615f04565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000615787601383615f04565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b60006157b6600a83615f04565b6926b0bc1018903437bab960b11b815260200192915050565b60006157dc601a83615f04565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615815601b83615f04565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b600061584e602f83615f04565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061589f601f83615f04565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b60006158d8602183615f04565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061591b601883615f04565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b6000615954601e83615f04565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061598d601a83615f04565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006159c6601983615f0d565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006159ff601383615f04565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615a2e601b83615f04565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b8051610120830190615a6c8482615340565b506020820151615a7f60208501826152d5565b506040820151615a926040850182615340565b506060820151615aa56060850182615340565b506080820151615ab86080850182615340565b5060a0820151615acb60a0850182615337565b5060c0820151615ade60c0850182615340565b5060e0820151615af160e0850182615340565b506101008201516107bf610100850182615340565b6000615b1182615720565b9150615b1d8284615349565b50602001919050565b6000615b11826159b9565b60208101611f1382846152d5565b60208101611f1382846152c6565b60408101615b5b82856152c6565b61112160208301846152d5565b60608101615b7682866152c6565b615b8360208301856152d5565b6107146040830184615340565b60408101615b9e82856152c6565b6111216020830184615340565b60408101615b5b82856152d5565b60408101615b9e82856152d5565b6020808252810161112181846152de565b60208101611f138284615337565b60208101611f138284615340565b60408101615b5b8285615340565b60408101615b9e8285615340565b60408101615c1e8285615340565b81810360208301526107148184615363565b60608101615c3e8286615340565b615b836020830185615340565b60208101611f13828461535a565b602080825281016111218184615363565b60208082528101611f138161539b565b60208082528101611f13816153d4565b60208082528101611f1381615406565b60208082528101611f1381615430565b60208082528101611f1381615461565b60208082528101611f13816154b8565b60208082528101611f13816154f1565b60208082528101611f138161552a565b60208082528101611f1381615563565b60208082528101611f138161559c565b60208082528101611f13816155ca565b60208082528101611f1381615603565b60208082528101611f138161563c565b60208082528101611f1381615675565b60208082528101611f13816156ae565b60208082528101611f13816156e7565b60208082528101611f138161574d565b60208082528101611f138161577a565b60208082528101611f13816157a9565b60208082528101611f13816157cf565b60208082528101611f1381615808565b60208082528101611f1381615841565b60208082528101611f1381615892565b60208082528101611f13816158cb565b60208082528101611f138161590e565b60208082528101611f1381615947565b60208082528101611f1381615980565b60208082528101611f13816159f2565b60208082528101611f1381615a21565b6101208101611f138284615a5a565b60808101615e578287615340565b615e6460208301866152c6565b615e716040830185615340565b615e7e6060830184615340565b95945050505050565b60a08101615e958288615340565b615ea26020830187615340565b615eaf6040830186615340565b615ebc6060830185615340565b615ec96080830184615340565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615ef257600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611f1382615f22565b151590565b6001600160a01b031690565b6000611f13825b6000611f1382615f12565b60005b83811015615f5b578181015183820152602001615f43565b838111156107bf5750506000910152565b601f01601f191690565b615f7f81615f12565b8114613e7b57600080fd5b615f7f81615f1d565b615f7f81610c3a56fea365627a7a723158204578f876648ef8ba05b02ba66bfbd1ec2475768095dfe27bc32fd41939008dd06c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23d60e2e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areSynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72e18b6a"
				},
				{
					"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": 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": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x30edd961"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x38245377"
				},
				{
					"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": "0xcba65179bf463952f22a9a8d0543d767b233039d0ebcf7721b86cd60b3e8c948",
				"urls": [
					"bzz-raw://31bca12091d1a98ab30f8f183cfbe91ba21da8a7c738c81274813a7a4acb1905",
					"dweb:/ipfs/QmQpUw8GhUMRi26y2Mii1SJk1HFjbuGKj4ui3gVFF9CemV"
				]
			},
			"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": "0xcba65179bf463952f22a9a8d0543d767b233039d0ebcf7721b86cd60b3e8c948",
						"urls": [
							"bzz-raw://31bca12091d1a98ab30f8f183cfbe91ba21da8a7c738c81274813a7a4acb1905",
							"dweb:/ipfs/QmQpUw8GhUMRi26y2Mii1SJk1HFjbuGKj4ui3gVFF9CemV"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralShort": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b50604051620062ce380380620062ce8339810160408190526200004c9162000167565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f906200028f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d591849062000269565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b555062000310975050505050505050565b80516200014781620002e0565b92915050565b80516200014781620002fa565b8051620001478162000305565b600080600080600080600060e0888a0312156200018357600080fd5b6000620001918a8a6200015a565b9750506020620001a48a828b016200013a565b9650506040620001b78a828b016200013a565b9550506060620001ca8a828b016200013a565b9450506080620001dd8a828b016200014d565b93505060a0620001f08a828b016200014d565b92505060c0620002038a828b016200014d565b91505092959891949750929550565b6200021d81620002d3565b82525050565b6200021d81620002aa565b60006200023d601983620002a1565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000279828562000212565b62000288602083018462000223565b9392505050565b6020808252810162000147816200022e565b90815260200190565b60006200014782620002c7565b90565b60006200014782620002aa565b6001600160a01b031690565b60006200014782620002ba565b620002eb81620002aa565b8114620002f757600080fd5b50565b620002eb81620002b7565b620002eb81620002ba565b615fae80620003206000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c806372e18b6a1161013b578063b562a1ab116100b8578063dac8cf681161007c578063dac8cf681461048d578063de81eda9146104a0578063e74337c6146104b3578063eb8e3b65146104c6578063f93451ed146104ce57610248565b8063b562a1ab1461044f578063ba2de9bc14610457578063c19d93fb1461045f578063d0ebdbe714610467578063d2b8035a1461047a57610248565b80638cd2e0c7116100ff5780638cd2e0c7146104065780638da5cb5b1461041957806390abb4d914610421578063925ead1114610434578063a76cdfa51461043c57610248565b806372e18b6a146103bb57806374185360146103ce57806379ba5097146103d65780637e132355146103de578063899ffef4146103f157610248565b806330edd961116101c9578063481c6a751161018d578063481c6a75146103655780634c17ace41461037a57806353a47bb71461038d57806356dc04a1146103955780635eb2ad01146103a857610248565b806330edd9611461031c578063361e20861461032f57806338245377146103375780634065b81b1461034a578063441a3e701461035257610248565b80630efe6a8b116102105780630efe6a8b146102c657806315aaf4dd146102d95780631627540c146102e157806323d60e2e146102f45780632af64bd31461030757610248565b806304f3bcec1461024d5780630710285c1461026b5780630a153c97146102805780630aebeb4e146102a05780630cdd1c65146102b3575b600080fd5b6102556104e1565b6040516102629190615c1a565b60405180910390f35b61027e610279366004614fee565b6104f0565b005b61029361028e366004615165565b61058d565b6040516102629190615bb5565b61027e6102ae366004615117565b6106c9565b61027e6102c1366004615117565b610763565b61027e6102d4366004614fee565b61084e565b610293610987565b61027e6102ef366004614f78565b61098d565b61027e61030236600461503b565b6109e0565b61030f610aa6565b6040516102629190615ba7565b61029361032a366004615117565b610bbe565b610293610bdc565b610293610345366004615117565b610be2565b61030f610bf4565b61027e610360366004615165565b610bfd565b61036d610c92565b6040516102629190615b00565b61027e610388366004615117565b610ca1565b61036d610d7d565b61027e6103a3366004615135565b610d8c565b61027e6103b6366004614fb4565b610e1d565b61030f6103c936600461503b565b610e53565b61027e610f15565b61027e611067565b6102936103ec366004615165565b611103565b6103f96111ac565b6040516102629190615b96565b61027e610414366004614fee565b611311565b61036d61131d565b61027e61042f3660046150ab565b61132c565b610293611378565b61027e61044a366004615117565b61137e565b6102936113bb565b6102936113c1565b6102556113c7565b61027e610475366004614f78565b6113d6565b61027e610488366004615165565b61142f565b61029361049b366004615184565b611439565b61036d6104ae366004615117565b611592565b6102936104c1366004615184565b6115ad565b610293611897565b61027e6104dc3660046151ff565b61189d565b6002546001600160a01b031681565b60006104fd848484611986565b9050610507611deb565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610534929190615b5f565b602060405180830381600087803b15801561054e57600080fd5b505af1158015610562573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061058691908101906150c9565b5050505050565b600080610598611e07565b90506105a2611eb4565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016105d393929190615bff565b60206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061062391908101906151c2565b91506106c16106b48273__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561067057600080fd5b505af4158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a891908101906151c2565b9063ffffffff611ecf16565b839063ffffffff611efd16565b949350505050565b60006106d53383611f27565b90506106df611deb565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161070c929190615b5f565b602060405180830381600087803b15801561072657600080fd5b505af115801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061075e91908101906150c9565b505050565b61076b61248c565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107af57600080fd5b505af41580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107e791908101906151c2565b811161080e5760405162461bcd60e51b815260040161080590615c49565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a590610843908390615bb5565b60405180910390a150565b610856611deb565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b8152600401610883929190615b1c565b60206040518083038186803b15801561089b57600080fd5b505afa1580156108af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108d391908101906151c2565b8111156108f25760405162461bcd60e51b815260040161080590615c89565b6108fa611deb565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b815260040161092993929190615b37565b602060405180830381600087803b15801561094357600080fd5b505af1158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097b91908101906150c9565b5061075e8383836124b8565b600e5481565b61099561248c565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610843908390615b00565b6109e861248c565b828114610a075760405162461bcd60e51b815260040161080590615c39565b60005b83811015610a97576000858583818110610a2057fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610a7457fe5b602090810292909201358352508101919091526040016000205550600101610a0a565b50610aa0610f15565b50505050565b60006060610ab26111ac565b905060005b8151811015610bb4576000828281518110610ace57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b1f908590600401615bb5565b60206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b6f9190810190614f96565b6001600160a01b0316141580610b9a57506000818152600360205260409020546001600160a01b0316155b15610bab5760009350505050610bbb565b50600101610ab7565b5060019150505b90565b60078181548110610bcb57fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b600f5460ff1681565b6000610c098383612749565b9050610c13611deb565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610c40929190615b5f565b602060405180830381600087803b158015610c5a57600080fd5b505af1158015610c6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa091908101906150c9565b6006546001600160a01b031681565b610ca961248c565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ced57600080fd5b505af4158015610d01573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2591908101906151c2565b610e1002811115610d485760405162461bcd60e51b815260040161080590615d59565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c236190610843908390615bb5565b6001546001600160a01b031681565b6000828152600960205260409020546001600160a01b031615610e195760008281526009602052604090819020549051630c00007b60e41b81526001600160a01b039091169063c00007b090610de6908490600401615b00565b600060405180830381600087803b158015610e0057600080fd5b505af1158015610e14573d6000803e3d6000fd5b505050505b5050565b610e2561248c565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610e67575060006106c1565b60005b84811015610f09576000868683818110610e8057fe5b9050602002013590508060078381548110610e9757fe5b906000526020600020015414610eb2576000925050506106c1565b60078281548110610ebf57fe5b906000526020600020015460086000878786818110610eda57fe5b9050602002013581526020019081526020016000205414610f00576000925050506106c1565b50600101610e6a565b50600195945050505050565b6060610f1f6111ac565b905060005b8151811015610e19576000828281518110610f3b57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610f7d9190615af5565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fa9929190615bdf565b60206040518083038186803b158015610fc157600080fd5b505afa158015610fd5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff99190810190614f96565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906110559084908490615bc3565b60405180910390a15050600101610f24565b6001546001600160a01b031633146110915760405162461bcd60e51b815260040161080590615c79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110d4926001600160a01b0391821692911690615b7a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111a5611110611eb4565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161114193929190615bff565b60206040518083038186803b15801561115957600080fd5b505afa15801561116d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061119191908101906151c2565b6111996129e6565b9063ffffffff611efd16565b9392505050565b6060806111b7612a76565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b816000815181106111f657fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061122057fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061124657fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061126f57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061129557fe5b60200260200101818152505060606112ad8383612ac7565b90506113098160078054806020026020016040519081016040528092919081815260200182805480156112ff57602002820191906000526020600020905b8154815260200190600101908083116112eb575b5050505050612ac7565b935050505090565b61075e83338484612b83565b6000546001600160a01b031681565b61133461248c565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108439160ff90911690615ba7565b600a5481565b61138661248c565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610843908390615bb5565b60045481565b600b5481565b6005546001600160a01b031681565b6113de61248c565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d92610843921690615b00565b610e198282612f3e565b600080611444611eb4565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b815260040161148093929190615bff565b60206040518083038186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114d091908101906151c2565b905060006114dc611eb4565b6001600160a01b031663654a60ac856060015161150a8760c001518860800151611ecf90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161153093929190615bff565b60206040518083038186803b15801561154857600080fd5b505afa15801561155c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061158091908101906151c2565b90506106c1828263ffffffff6134fe16565b6009602052600090815260409020546001600160a01b031681565b6000806115b8611e07565b905060006115c4611eb4565b6001600160a01b031663654a60ac85606001516115f28760c001518860800151611ecf90919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161161893929190615bff565b60206040518083038186803b15801561163057600080fd5b505afa158015611644573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061166891908101906151c2565b90506000611674611eb4565b6001600160a01b031663654a60ac6004548760400151631cd554d160e21b6040518463ffffffff1660e01b81526004016116b093929190615bff565b60206040518083038186803b1580156116c857600080fd5b505afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061170091908101906151c2565b9050600073__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561174857600080fd5b505af415801561175c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061178091908101906151c2565b905060006117a961179c600a54856134fe90919063ffffffff16565b859063ffffffff61352816565b905060006117e26117d5600a546117c98987611ecf90919063ffffffff16565b9063ffffffff6134fe16565b849063ffffffff61352816565b905060006117f6838363ffffffff6134fe16565b9050611800611eb4565b6001600160a01b031663654a60ac631cd554d160e21b838c606001516040518463ffffffff1660e01b815260040161183a93929190615bff565b60206040518083038186803b15801561185257600080fd5b505afa158015611866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061188a91908101906151c2565b9998505050505050505050565b600d5481565b6118a5611deb565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b81526004016118d2929190615b1c565b60206040518083038186803b1580156118ea57600080fd5b505afa1580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192291908101906151c2565b8311156119415760405162461bcd60e51b815260040161080590615c89565b61194e8383836001613550565b50611957611deb565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b8152600401610c4093929190615b37565b6000611990613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119c857600080fd5b505afa1580156119dc573d6000803e3d6000fd5b505050506119e8611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611a159190615bb5565b60206040518083038186803b158015611a2d57600080fd5b505afa158015611a41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a6591908101906150c9565b15611a825760405162461bcd60e51b815260040161080590615d69565b60008211611aa25760405162461bcd60e51b815260040161080590615ca9565b611aaa614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611adc9088908890600401615b88565b6101206040518083038186803b158015611af557600080fd5b505afa158015611b09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b2d91908101906151a3565b9050611b3881613d93565b611b4181613df3565b9050611b52338260600151856142df565b600a54611b5e82611439565b10611b7b5760405162461bcd60e51b815260040161080590615cd9565b6000611b86826115ad565b90506000848210611b975784611b99565b815b90506000611bb88460c001518560800151611ecf90919063ffffffff16565b9050808210611bd757611bcc883386614392565b9450505050506111a5565b611be18483614761565b9350611bf184606001518361058d565b6040850151909550611c09908663ffffffff61352816565b604085015242610100850152611c1d614984565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611c4e929190615b5f565b60206040518083038186803b158015611c6657600080fd5b505afa158015611c7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c9e91908101906150c9565b15611cbb5760405162461bcd60e51b815260040161080590615df9565b6060840151600090815260086020526040902054611cd89061499b565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611d05929190615b5f565b600060405180830381600087803b158015611d1f57600080fd5b505af1158015611d33573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d67908790600401615e09565b600060405180830381600087803b158015611d8157600080fd5b505af1158015611d95573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611dd89493929190615e18565b60405180910390a2505050509392505050565b6000611e026814de5b9d1a1cd554d160ba1b6149a2565b905090565b6000611e116149ff565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611e64929190615bd1565b60206040518083038186803b158015611e7c57600080fd5b505afa158015611e90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e0291908101906151c2565b6000611e026c45786368616e6765526174657360981b6149a2565b600082820183811015611ef45760405162461bcd60e51b815260040161080590615cb9565b90505b92915050565b6000670de0b6b3a7640000611f18848463ffffffff614a1c16565b81611f1f57fe5b049392505050565b6000611f31613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611f6957600080fd5b505afa158015611f7d573d6000803e3d6000fd5b50505050611f89611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611fb69190615bb5565b60206040518083038186803b158015611fce57600080fd5b505afa158015611fe2573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061200691908101906150c9565b156120235760405162461bcd60e51b815260040161080590615d69565b61202b614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061205d9087908790600401615b88565b6101206040518083038186803b15801561207657600080fd5b505afa15801561208a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ae91908101906151a3565b90506120b981613d93565b6120c281613df3565b905060006120e18260c001518360800151611ecf90919063ffffffff16565b90506120f682602001518360600151836142df565b6120fe614984565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b815260040161212f929190615b88565b60206040518083038186803b15801561214757600080fd5b505afa15801561215b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061217f91908101906150c9565b1561219c5760405162461bcd60e51b815260040161080590615d09565b60608201516000908152600860205260409020546121b99061499b565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016121e6929190615b88565b600060405180830381600087803b15801561220057600080fd5b505af1158015612214573d6000803e3d6000fd5b505050508160a00151156123325761222a614a56565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161225f929190615bd1565b600060405180830381600087803b15801561227957600080fd5b505af115801561228d573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b03161561232d57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916122fa918991600401615b88565b600060405180830381600087803b15801561231457600080fd5b505af1158015612328573d6000803e3d6000fd5b505050505b6123a2565b61233a614a56565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161236f929190615bd1565b600060405180830381600087803b15801561238957600080fd5b505af115801561239d573d6000803e3d6000fd5b505050505b816040015192506123bb8260c001518360600151614a65565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612411908590600401615e09565b600060405180830381600087803b15801561242b57600080fd5b505af115801561243f573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f8560405161247c9190615bb5565b60405180910390a2505092915050565b6000546001600160a01b031633146124b65760405162461bcd60e51b815260040161080590615d89565b565b6124c0613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156124f857600080fd5b505afa15801561250c573d6000803e3d6000fd5b50505050612518611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016125459190615bb5565b60206040518083038186803b15801561255d57600080fd5b505afa158015612571573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061259591908101906150c9565b156125b25760405162461bcd60e51b815260040161080590615d69565b600081116125d25760405162461bcd60e51b815260040161080590615dc9565b6125da614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061260c9087908790600401615b88565b6101206040518083038186803b15801561262557600080fd5b505afa158015612639573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061265d91908101906151a3565b905061266881613d93565b61267181613df3565b6040810151909150612689908363ffffffff611ecf16565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906126c8908490600401615e09565b600060405180830381600087803b1580156126e257600080fd5b505af11580156126f6573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161273b93929190615bff565b60405180910390a250505050565b6000612753613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561278b57600080fd5b505afa15801561279f573d6000803e3d6000fd5b505050506127ab611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127d89190615bb5565b60206040518083038186803b1580156127f057600080fd5b505afa158015612804573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061282891908101906150c9565b156128455760405162461bcd60e51b815260040161080590615d69565b61284d614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061287f9033908890600401615b5f565b6101206040518083038186803b15801561289857600080fd5b505afa1580156128ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128d091908101906151a3565b90506128db81613d93565b6128e481613df3565b60408101519091506128fc908463ffffffff61352816565b604082015242610100820152600a5461291482611439565b116129315760405162461bcd60e51b815260040161080590615c59565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612961908490600401615e09565b600060405180830381600087803b15801561297b57600080fd5b505af115801561298f573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303858584604001516040516129d793929190615bff565b60405180910390a25092915050565b6000611e02600a5473__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3257600080fd5b505af4158015612a46573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a6a91908101906151c2565b9063ffffffff614c1b16565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612ab857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612af7578160200160208202803883390190505b50905060005b8351811015612b3957838181518110612b1257fe5b6020026020010151828281518110612b2657fe5b6020908102919091010152600101612afd565b5060005b8251811015612b7c57828181518110612b5257fe5b6020026020010151828286510181518110612b6957fe5b6020908102919091010152600101612b3d565b5092915050565b612b8b613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612bc357600080fd5b505afa158015612bd7573d6000803e3d6000fd5b50505050612be3611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612c109190615bb5565b60206040518083038186803b158015612c2857600080fd5b505afa158015612c3c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c6091908101906150c9565b15612c7d5760405162461bcd60e51b815260040161080590615d69565b60008111612c9d5760405162461bcd60e51b815260040161080590615ca9565b612ca5614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612cd79088908790600401615b88565b6101206040518083038186803b158015612cf057600080fd5b505afa158015612d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d2891908101906151a3565b9050612d3381613d93565b612d3c81613df3565b9050612d4d848260600151846142df565b612d578183614761565b426101008201529050612d68614984565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612d99929190615b88565b60206040518083038186803b158015612db157600080fd5b505afa158015612dc5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612de991908101906150c9565b15612e065760405162461bcd60e51b815260040161080590615df9565b6060810151600090815260086020526040902054612e239061499b565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612e50929190615b88565b600060405180830381600087803b158015612e6a57600080fd5b505af1158015612e7e573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612eb2908490600401615e09565b600060405180830381600087803b158015612ecc57600080fd5b505af1158015612ee0573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612f2f93929190615bff565b60405180910390a35050505050565b612f46613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f7e57600080fd5b505afa158015612f92573d6000803e3d6000fd5b50505050612f9e611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612fcb9190615bb5565b60206040518083038186803b158015612fe357600080fd5b505afa158015612ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061301b91908101906150c9565b156130385760405162461bcd60e51b815260040161080590615d69565b613040614cf2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130729033908790600401615b5f565b6101206040518083038186803b15801561308b57600080fd5b505afa15801561309f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130c391908101906151a3565b90506130ce81613d93565b6130d781613df3565b60808101519091506130ef908363ffffffff611ecf16565b6080820152600a5461310082611439565b1161311d5760405162461bcd60e51b815260040161080590615c69565b6000613134600c5484614c3090919063ffffffff16565b90506000613148848363ffffffff61352816565b90508260a00151156133555761315c614a56565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b815260040161318d929190615bd1565b600060405180830381600087803b1580156131a757600080fd5b505af11580156131bb573d6000803e3d6000fd5b505050506131c7611deb565b6001600160a01b031663867904b4336131de611eb4565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b815260040161321893929190615bff565b60206040518083038186803b15801561323057600080fd5b505afa158015613244573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061326891908101906151c2565b6040518363ffffffff1660e01b8152600401613285929190615b5f565b600060405180830381600087803b15801561329f57600080fd5b505af11580156132b3573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156133505760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061331d9033908890600401615b5f565b600060405180830381600087803b15801561333757600080fd5b505af115801561334b573d6000803e3d6000fd5b505050505b61343d565b61335d614a56565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b815260040161338e929190615bd1565b600060405180830381600087803b1580156133a857600080fd5b505af11580156133bc573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546133dd915061499b565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161340a929190615b5f565b600060405180830381600087803b15801561342457600080fd5b505af1158015613438573d6000803e3d6000fd5b505050505b61344b828460600151614a65565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613482908690600401615e09565b600060405180830381600087803b15801561349c57600080fd5b505af11580156134b0573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf35831065486866040516134ef929190615bd1565b60405180910390a25050505050565b60006111a58261351c85670de0b6b3a764000063ffffffff614a1c16565b9063ffffffff614c4516565b60008282111561354a5760405162461bcd60e51b815260040161080590615d19565b50900390565b600061355a613d79565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561359257600080fd5b505afa1580156135a6573d6000803e3d6000fd5b5050600f5460ff1691506135ce90505760405162461bcd60e51b815260040161080590615d49565b6135d6611eb4565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016136039190615bb5565b60206040518083038186803b15801561361b57600080fd5b505afa15801561362f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061365391908101906150c9565b156136705760405162461bcd60e51b815260040161080590615d69565b60008381526008602052604090205461369b5760405162461bcd60e51b815260040161080590615d99565b6136a3611eb4565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016136ce9190615bb5565b60206040518083038186803b1580156136e657600080fd5b505afa1580156136fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061371e91908101906150c9565b1561373b5760405162461bcd60e51b815260040161080590615cf9565b600b5485101561375d5760405162461bcd60e51b815260040161080590615ce9565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90613790903390600401615b0e565b60206040518083038186803b1580156137a857600080fd5b505afa1580156137bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137e091908101906151c2565b106137fd5760405162461bcd60e51b815260040161080590615cc9565b600080613808614a56565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401613835929190615bd1565b604080518083038186803b15801561384c57600080fd5b505afa158015613860573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061388491908101906150e7565b91509150818015613893575080155b6138af5760405162461bcd60e51b815260040161080590615dd9565b6138b98786611103565b8611156138d85760405162461bcd60e51b815260040161080590615d79565b60006138ef600c5488614c3090919063ffffffff16565b90506000613903888363ffffffff61352816565b905061390d614a56565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561394757600080fd5b505af115801561395b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061397f91908101906151c2565b9450613989614cf2565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a8152602001881515815260200160008152602001600081526020014281525090506139e181613df3565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613a12908490600401615e09565b600060405180830381600087803b158015613a2c57600080fd5b505af1158015613a40573d6000803e3d6000fd5b50505050613a4e8389614a65565b8615613c4457613a5c611deb565b6001600160a01b031663867904b433613a73611eb4565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401613aa993929190615bff565b60206040518083038186803b158015613ac157600080fd5b505afa158015613ad5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613af991908101906151c2565b6040518363ffffffff1660e01b8152600401613b16929190615b5f565b600060405180830381600087803b158015613b3057600080fd5b505af1158015613b44573d6000803e3d6000fd5b50505050613b50614a56565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401613b7d929190615bd1565b600060405180830381600087803b158015613b9757600080fd5b505af1158015613bab573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613c3f576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613c0c9033908d90600401615b5f565b600060405180830381600087803b158015613c2657600080fd5b505af1158015613c3a573d6000803e3d6000fd5b505050505b613d23565b600088815260086020526040902054613c5c9061499b565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401613c89929190615b5f565b600060405180830381600087803b158015613ca357600080fd5b505af1158015613cb7573d6000803e3d6000fd5b50505050613cc3614a56565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401613cf0929190615bd1565b600060405180830381600087803b158015613d0a57600080fd5b505af1158015613d1e573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613d64959493929190615e56565b60405180910390a25050505050949350505050565b6000611e026b53797374656d53746174757360a01b6149a2565b60008160e0015111613db75760405162461bcd60e51b815260040161080590615de9565b42613dd2600e54836101000151611ecf90919063ffffffff16565b1115613df05760405162461bcd60e51b815260040161080590615c99565b50565b613dfb614cf2565b8190506000806000808560a00151613e9957613e15614a56565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613e449190615bb5565b60806040518083038186803b158015613e5c57600080fd5b505afa158015613e70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e949190810190615220565b613f26565b613ea1614a56565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613ed6929190615bd1565b60806040518083038186803b158015613eee57600080fd5b505afa158015613f02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f269190810190615220565b93509350935093506000808760a00151613fb657613f42614a56565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613f7957600080fd5b505afa158015613f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fb191908101906151e0565b61404e565b613fbe614a56565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613fff91600401615bb5565b604080518083038186803b15801561401657600080fd5b505afa15801561402a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061404e91908101906151e0565b9150915080156140705760405162461bcd60e51b815260040161080590615d39565b600061410d73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156140b957600080fd5b505af41580156140cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140f191908101906151c2565b614101428863ffffffff61352816565b9063ffffffff614a1c16565b90506000614131614124858463ffffffff611efd16565b889063ffffffff611ecf16565b905060008a60e0015160001461416a57614165614154838b63ffffffff61352816565b60808d01519063ffffffff611efd16565b61416d565b60005b90508a60a001516141e257614180614a56565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016141ab9190615bb5565b600060405180830381600087803b1580156141c557600080fd5b505af11580156141d9573d6000803e3d6000fd5b5050505061424e565b6141ea614a56565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b815260040161421b929190615bd1565b600060405180830381600087803b15801561423557600080fd5b505af1158015614249573d6000803e3d6000fd5b505050505b60c08b0151614263908263ffffffff611ecf16565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061429f908d90600401615e09565b600060405180830381600087803b1580156142b957600080fd5b505af11580156142cd573d6000803e3d6000fd5b50505050505050505050505050919050565b60008281526008602052604090205481906142f99061499b565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016143249190615b00565b60206040518083038186803b15801561433c57600080fd5b505afa158015614350573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061437491908101906151c2565b101561075e5760405162461bcd60e51b815260040161080590615db9565b6000806143b08360c001518460800151611ecf90919063ffffffff16565b6080840151604085015193509091506143c7614984565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016143f8929190615b88565b60206040518083038186803b15801561441057600080fd5b505afa158015614424573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061444891908101906150c9565b156144655760405162461bcd60e51b815260040161080590615df9565b60608401516000908152600860205260409020546144829061499b565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016144af929190615b88565b600060405180830381600087803b1580156144c957600080fd5b505af11580156144dd573d6000803e3d6000fd5b505050508360a00151156145fb576144f3614a56565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b8152600401614528929190615bd1565b600060405180830381600087803b15801561454257600080fd5b505af1158015614556573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156145f657606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916145c3918a91600401615b88565b600060405180830381600087803b1580156145dd57600080fd5b505af11580156145f1573d6000803e3d6000fd5b505050505b61466b565b614603614a56565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b8152600401614638929190615bd1565b600060405180830381600087803b15801561465257600080fd5b505af1158015614666573d6000803e3d6000fd5b505050505b61467d8460c001518560600151614a65565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906146d3908790600401615e09565b600060405180830381600087803b1580156146ed57600080fd5b505af1158015614701573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb8660000151848760405161475093929190615bff565b60405180910390a350509392505050565b614769614cf2565b5081811580159061477e575060008360c00151115b156147db5760008360c001518311614796578261479c565b8360c001515b60c08501519091506147b4908263ffffffff61352816565b60c08301526147c9838263ffffffff61352816565b92506147d9818560600151614a65565b505b8115611ef75760808301516147f6908363ffffffff61352816565b608082015260a0810151156149135761480d614a56565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161483e929190615bd1565b600060405180830381600087803b15801561485857600080fd5b505af115801561486c573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b03161561490e5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916148db91908690600401615b5f565b600060405180830381600087803b1580156148f557600080fd5b505af1158015614909573d6000803e3d6000fd5b505050505b611ef7565b61491b614a56565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161494c929190615bd1565b600060405180830381600087803b15801561496657600080fd5b505af115801561497a573d6000803e3d6000fd5b5050505092915050565b6000611e026822bc31b430b733b2b960b91b6149a2565b6000611ef7825b60008181526003602090815260408083205490516001600160a01b0390911691821515916149d291869101615ad5565b60405160208183030381529060405290612b7c5760405162461bcd60e51b81526004016108059190615c28565b6000611e026e466c657869626c6553746f7261676560881b6149a2565b600082614a2b57506000611ef7565b82820282848281614a3857fe5b0414611ef45760405162461bcd60e51b815260040161080590615da9565b6006546001600160a01b031690565b8115610e1957631cd554d160e21b8114614b0a57614a81611eb4565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401614ab793929190615bff565b60206040518083038186803b158015614acf57600080fd5b505afa158015614ae3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b0791908101906151c2565b91505b614b12611deb565b6001600160a01b031663867904b4614b28614c7a565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015614b6057600080fd5b505afa158015614b74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b989190810190614f96565b846040518363ffffffff1660e01b8152600401614bb6929190615b88565b600060405180830381600087803b158015614bd057600080fd5b505af1158015614be4573d6000803e3d6000fd5b50505050614bf0614c7a565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401610de69190615bb5565b60006111a58383670de0b6b3a7640000614c8f565b60006111a58383670de0b6b3a7640000614cc7565b6000808211614c665760405162461bcd60e51b815260040161080590615d29565b6000828481614c7157fe5b04949350505050565b6000611e0266119959541bdbdb60ca1b6149a2565b600080614ca98461351c87600a870263ffffffff614a1c16565b90506005600a825b0610614cbb57600a015b600a9004949350505050565b600080600a8304614cde868663ffffffff614a1c16565b81614ce557fe5b0490506005600a82614cb1565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611ef781615f45565b8051611ef781615f45565b60008083601f840112614d7457600080fd5b50813567ffffffffffffffff811115614d8c57600080fd5b602083019150836020820283011115614da457600080fd5b9250929050565b8035611ef781615f59565b8051611ef781615f59565b8035611ef781615f62565b8051611ef781615f62565b60006101208284031215614dea57600080fd5b614df5610120615ea2565b90506000614e038484614dc1565b8252506020614e1484848301614d4c565b6020830152506040614e2884828501614dc1565b6040830152506060614e3c84828501614dc1565b6060830152506080614e5084828501614dc1565b60808301525060a0614e6484828501614dab565b60a08301525060c0614e7884828501614dc1565b60c08301525060e0614e8c84828501614dc1565b60e083015250610100614ea184828501614dc1565b6101008301525092915050565b60006101208284031215614ec157600080fd5b614ecc610120615ea2565b90506000614eda8484614dcc565b8252506020614eeb84848301614d57565b6020830152506040614eff84828501614dcc565b6040830152506060614f1384828501614dcc565b6060830152506080614f2784828501614dcc565b60808301525060a0614f3b84828501614db6565b60a08301525060c0614f4f84828501614dcc565b60c08301525060e0614f6384828501614dcc565b60e083015250610100614ea184828501614dcc565b600060208284031215614f8a57600080fd5b60006106c18484614d4c565b600060208284031215614fa857600080fd5b60006106c18484614d57565b60008060408385031215614fc757600080fd5b6000614fd38585614d4c565b9250506020614fe485828601614dc1565b9150509250929050565b60008060006060848603121561500357600080fd5b600061500f8686614d4c565b935050602061502086828701614dc1565b925050604061503186828701614dc1565b9150509250925092565b6000806000806040858703121561505157600080fd5b843567ffffffffffffffff81111561506857600080fd5b61507487828801614d62565b9450945050602085013567ffffffffffffffff81111561509357600080fd5b61509f87828801614d62565b95989497509550505050565b6000602082840312156150bd57600080fd5b60006106c18484614dab565b6000602082840312156150db57600080fd5b60006106c18484614db6565b600080604083850312156150fa57600080fd5b60006151068585614db6565b9250506020614fe485828601614db6565b60006020828403121561512957600080fd5b60006106c18484614dc1565b6000806040838503121561514857600080fd5b60006151548585614dc1565b9250506020614fe485828601614d4c565b6000806040838503121561517857600080fd5b6000614fd38585614dc1565b6000610120828403121561519757600080fd5b60006106c18484614dd7565b600061012082840312156151b657600080fd5b60006106c18484614eae565b6000602082840312156151d457600080fd5b60006106c18484614dcc565b600080604083850312156151f357600080fd5b60006151068585614dcc565b60008060006060848603121561521457600080fd5b600061500f8686614dc1565b6000806000806080858703121561523657600080fd5b60006152428787614dcc565b945050602061525387828801614dcc565b935050604061526487828801614dcc565b925050606061527587828801614dcc565b91505092959194509250565b600061528d838361530f565b505060200190565b61529e81615efd565b82525050565b61529e81615ee1565b60006152b882615ecf565b6152c28185615ed3565b93506152cd83615ec9565b8060005b838110156152fb5781516152e58882615281565b97506152f083615ec9565b9250506001016152d1565b509495945050505050565b61529e81615eec565b61529e81610bbb565b61529e61532482610bbb565b610bbb565b61529e81615f04565b600061533d82615ecf565b6153478185615ed3565b9350615357818560208601615f0f565b61536081615f3b565b9093019392505050565b6000615377601b83615ed3565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b60006153b0601683615ed3565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b60006153e2600e83615ed3565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b600061540c601583615ed3565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b600061543d603583615ed3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615494601983615ed3565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b60006154cd601d83615ed3565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b6000615506601e83615ed3565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b600061553f601b83615ed3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615578601283615ed3565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b60006155a6601e83615ed3565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b60006155df601d83615ed3565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615618601883615ed3565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615651602083615ed3565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b600061568a601e83615ed3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006156c3601a83615ed3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006156fc601183615edc565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615729601183615ed3565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000615756601383615ed3565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b6000615785600a83615ed3565b6926b0bc1018903437bab960b11b815260200192915050565b60006157ab601a83615ed3565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b60006157e4601b83615ed3565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b600061581d602f83615ed3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061586e601f83615ed3565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b60006158a7602183615ed3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006158ea601883615ed3565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b6000615923601e83615ed3565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061595c601a83615ed3565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b6000615995601983615edc565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006159ce601383615ed3565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b60006159fd601b83615ed3565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b8051610120830190615a3b848261530f565b506020820151615a4e60208501826152a4565b506040820151615a61604085018261530f565b506060820151615a74606085018261530f565b506080820151615a87608085018261530f565b5060a0820151615a9a60a0850182615306565b5060c0820151615aad60c085018261530f565b5060e0820151615ac060e085018261530f565b50610100820151610aa061010085018261530f565b6000615ae0826156ef565b9150615aec8284615318565b50602001919050565b6000615ae082615988565b60208101611ef782846152a4565b60208101611ef78284615295565b60408101615b2a8285615295565b6111a560208301846152a4565b60608101615b458286615295565b615b5260208301856152a4565b6106c1604083018461530f565b60408101615b6d8285615295565b6111a5602083018461530f565b60408101615b2a82856152a4565b60408101615b6d82856152a4565b602080825281016111a581846152ad565b60208101611ef78284615306565b60208101611ef7828461530f565b60408101615b2a828561530f565b60408101615b6d828561530f565b60408101615bed828561530f565b81810360208301526106c18184615332565b60608101615c0d828661530f565b615b52602083018561530f565b60208101611ef78284615329565b602080825281016111a58184615332565b60208082528101611ef78161536a565b60208082528101611ef7816153a3565b60208082528101611ef7816153d5565b60208082528101611ef7816153ff565b60208082528101611ef781615430565b60208082528101611ef781615487565b60208082528101611ef7816154c0565b60208082528101611ef7816154f9565b60208082528101611ef781615532565b60208082528101611ef78161556b565b60208082528101611ef781615599565b60208082528101611ef7816155d2565b60208082528101611ef78161560b565b60208082528101611ef781615644565b60208082528101611ef78161567d565b60208082528101611ef7816156b6565b60208082528101611ef78161571c565b60208082528101611ef781615749565b60208082528101611ef781615778565b60208082528101611ef78161579e565b60208082528101611ef7816157d7565b60208082528101611ef781615810565b60208082528101611ef781615861565b60208082528101611ef78161589a565b60208082528101611ef7816158dd565b60208082528101611ef781615916565b60208082528101611ef78161594f565b60208082528101611ef7816159c1565b60208082528101611ef7816159f0565b6101208101611ef78284615a29565b60808101615e26828761530f565b615e336020830186615295565b615e40604083018561530f565b615e4d606083018461530f565b95945050505050565b60a08101615e64828861530f565b615e71602083018761530f565b615e7e604083018661530f565b615e8b606083018561530f565b615e98608083018461530f565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615ec157600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611ef782615ef1565b151590565b6001600160a01b031690565b6000611ef7825b6000611ef782615ee1565b60005b83811015615f2a578181015183820152602001615f12565b83811115610aa05750506000910152565b601f01601f191690565b615f4e81615ee1565b8114613df057600080fd5b615f4e81615eec565b615f4e81610bbb56fea365627a7a723158207eea408e568f2b63599acab5435027c647d16c8da004a96930363835dfbc8f026c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "synth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addSynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23d60e2e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_synthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_synthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areSynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72e18b6a"
				},
				{
					"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": 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": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "synths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x30edd961"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "synthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x38245377"
				},
				{
					"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": "0x332ba7664d15521a81c57ff5f1f5a8d18216ae4e3843991f25ac9ff524b90758",
				"urls": [
					"bzz-raw://80c891a51be4cc85dcbfb98ecafa839603c708c8204e48e21fd0fcc43e274102",
					"dweb:/ipfs/QmWeWMbChUdJaFrfJfmohBzySrnv5fVf5gx4bGxzs7Vzzb"
				]
			},
			"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": "0x332ba7664d15521a81c57ff5f1f5a8d18216ae4e3843991f25ac9ff524b90758",
						"urls": [
							"bzz-raw://80c891a51be4cc85dcbfb98ecafa839603c708c8204e48e21fd0fcc43e274102",
							"dweb:/ipfs/QmWeWMbChUdJaFrfJfmohBzySrnv5fVf5gx4bGxzs7Vzzb"
						]
					}
				},
				"version": 1
			}
		},
		"StakingRewards": {
			"bytecode": "60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516118e33803806118e38339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611724806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610470578063df136d6514610478578063e9fad8ee14610480578063ebe2b12b14610488576101ef565b8063a694fc3a14610426578063c8f33c9114610443578063cc1a378f1461044b578063cd3daf9d14610468576101ef565b80638980f11f116100de5780638980f11f146103c45780638b876347146103f05780638da5cb5b1461041657806391b4ded91461041e576101ef565b806372f702f3146103a457806379ba5097146103ac5780637b0a47ee146103b457806380faa57d146103bc576101ef565b8063386a95251161018757806353a47bb71161015657806353a47bb71461033d578063556f6e6b146103455780635c975abb1461036257806370a082311461037e576101ef565b8063386a9525146102ec5780633c6b16ab146102f45780633d18b912146103115780633fc6df6e14610319576101ef565b806318160ddd116101c357806318160ddd1461029957806319762143146102a15780631c1f78eb146102c75780632e1a7d4d146102cf576101ef565b80628cc262146101f45780630700037d1461022c5780631627540c1461025257806316c38b3c1461027a575b600080fd5b61021a6004803603602081101561020a57600080fd5b50356001600160a01b0316610490565b60408051918252519081900360200190f35b61021a6004803603602081101561024257600080fd5b50356001600160a01b0316610526565b6102786004803603602081101561026857600080fd5b50356001600160a01b0316610538565b005b6102786004803603602081101561029057600080fd5b50351515610594565b61021a61060e565b610278600480360360208110156102b757600080fd5b50356001600160a01b0316610615565b61021a61063f565b610278600480360360208110156102e557600080fd5b503561065d565b61021a6107ff565b6102786004803603602081101561030a57600080fd5b5035610805565b610278610a5b565b610321610b99565b604080516001600160a01b039092168252519081900360200190f35b610321610ba8565b6102786004803603602081101561035b57600080fd5b5035610bb7565b61036a610c21565b604080519115158252519081900360200190f35b61021a6004803603602081101561039457600080fd5b50356001600160a01b0316610c2a565b610321610c45565b610278610c54565b61021a610d10565b61021a610d16565b610278600480360360408110156103da57600080fd5b506001600160a01b038135169060200135610d24565b61021a6004803603602081101561040657600080fd5b50356001600160a01b0316610de1565b610321610df3565b61021a610e02565b6102786004803603602081101561043c57600080fd5b5035610e08565b61021a610fe6565b6102786004803603602081101561046157600080fd5b5035610fec565b61021a61106f565b6103216110c9565b61021a6110dd565b6102786110e3565b61021a611106565b6001600160a01b0381166000908152600d6020908152604080832054600c909252822054610520919061051490670de0b6b3a764000090610508906104e3906104d761106f565b9063ffffffff61110c16565b6001600160a01b0388166000908152600f60205260409020549063ffffffff61116916565b9063ffffffff6111c916565b9063ffffffff61123316565b92915050565b600d6020526000908152604090205481565b61054061128d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61059c61128d565b60055460ff16151581151514156105b25761060b565b6005805460ff1916821515179081905560ff16156105cf57426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b61061d61128d565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600061065860095460085461116990919063ffffffff16565b905090565b60038054600101908190553361067161106f565b600b5561067c610d16565b600a556001600160a01b038116156106c35761069781610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6000831161070c576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600e5461071f908463ffffffff61110c16565b600e55336000908152600f6020526040902054610742908463ffffffff61110c16565b336000818152600f602052604090209190915560065461076e916001600160a01b0390911690856112d6565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25060035481146107fb576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b0316331461084e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061167b602a913960400191505060405180910390fd5b600061085861106f565b600b55610863610d16565b600a556001600160a01b038116156108aa5761087e81610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108cf576009546108c790839063ffffffff6111c916565b60085561091e565b6007546000906108e5904263ffffffff61110c16565b905060006108fe6008548361116990919063ffffffff16565b60095490915061091890610508868463ffffffff61123316565b60085550505b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561096e57600080fd5b505afa158015610982573d6000803e3d6000fd5b505050506040513d602081101561099857600080fd5b50516009549091506109b190829063ffffffff6111c916565b6008541115610a07576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a819055600954610a20919063ffffffff61123316565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610a6f61106f565b600b55610a7a610d16565b600a556001600160a01b03811615610ac157610a9581610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b4157336000818152600d6020526040812055600554610b0a916101009091046001600160a01b0316908363ffffffff6112d616565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050600354811461060b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b610bbf61128d565b6000610bc961106f565b600b55610bd4610d16565b600a556001600160a01b03811615610c1b57610bef81610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b50600755565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c9d5760405162461bcd60e51b81526004018080602001828103825260358152602001806115ba6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60006106584260075461132d565b610d2c61128d565b6006546001600160a01b0383811691161415610d795760405162461bcd60e51b81526004018080602001828103825260218152602001806116cf6021913960400191505060405180910390fd5b600054610d99906001600160a01b0384811691168363ffffffff6112d616565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610e555760405162461bcd60e51b815260040180806020018281038252603c81526020018061163f603c913960400191505060405180910390fd5b33610e5e61106f565b600b55610e69610d16565b600a556001600160a01b03811615610eb057610e8481610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610ef6576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600e54610f09908463ffffffff61123316565b600e55336000908152600f6020526040902054610f2c908463ffffffff61123316565b336000818152600f6020526040902091909155600654610f59916001600160a01b03909116903086611343565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25060035481146107fb576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610ff461128d565b60075442116110345760405162461bcd60e51b81526004018080602001828103825260588152602001806115626058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e54600014156110855750600b54610612565b6106586110ba600e54610508670de0b6b3a76400006110ae6008546110ae600a546104d7610d16565b9063ffffffff61116916565b600b549063ffffffff61123316565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f60205260409020546110fc9061065d565b611104610a5b565b565b60075481565b600082821115611163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261117857506000610520565b8282028284828161118557fe5b04146111c25760405162461bcd60e51b815260040180806020018281038252602181526020018061161e6021913960400191505060405180910390fd5b9392505050565b600080821161121f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161122a57fe5b04949350505050565b6000828201838110156111c2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146111045760405162461bcd60e51b815260040180806020018281038252602f8152602001806115ef602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526113289084906113a3565b505050565b600081831061133c57816111c2565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261139d9085906113a3565b50505050565b6113b5826001600160a01b031661155b565b611406576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106114445780518252601f199092019160209182019101611425565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114a6576040519150601f19603f3d011682016040523d82523d6000602084013e6114ab565b606091505b509150915081611502576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561139d5780806020019051602081101561151e57600080fd5b505161139d5760405162461bcd60e51b815260040180806020018281038252602a8152602001806116a5602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a7231582055a41070d871a9ef481a33e3caec686c7f16116a553ebc972a8821ef39a8f81b64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsToken",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingToken",
							"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": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "token",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Recovered",
					"type": "event",
					"signature": "0x8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event",
					"signature": "0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event",
					"signature": "0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "RewardsDurationUpdated",
					"type": "event",
					"signature": "0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staked",
					"type": "event",
					"signature": "0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event",
					"signature": "0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"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": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x008cc262"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9fad8ee"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d18b912"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardForDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1c1f78eb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x80faa57d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8f33c91"
				},
				{
					"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": "reward",
							"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": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xebe2b12b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "tokenAmount",
							"type": "uint256"
						}
					],
					"name": "recoverERC20",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8980f11f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd3daf9d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdf136d65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7b0a47ee"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0700037d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fc6df6e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x386a9525"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd1af0c7d"
				},
				{
					"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": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19762143"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rewardsDuration",
							"type": "uint256"
						}
					],
					"name": "setRewardsDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcc1a378f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa694fc3a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72f702f3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "updatePeriodFinish",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x556f6e6b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b876347"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e1a7d4d"
				}
			],
			"source": {
				"keccak256": "0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516",
				"urls": [
					"bzz-raw://400d1e795b227dafe8d3b2620d785ed29ce088d1e53d021786da1c101cd50a50",
					"dweb:/ipfs/QmeGfoQ1JQJVDWQAkWSvZSwt2npvQs62AEAFcqZcrGSAfw"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"StakingRewards.sol": "StakingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"StakingRewards.sol": {
						"keccak256": "0x0c1b57cb46f37ca9ffd36bbc5cd02433219539106c33a9937724e682f6fc3516",
						"urls": [
							"bzz-raw://400d1e795b227dafe8d3b2620d785ed29ce088d1e53d021786da1c101cd50a50",
							"dweb:/ipfs/QmeGfoQ1JQJVDWQAkWSvZSwt2npvQs62AEAFcqZcrGSAfw"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrowV2": {
			"bytecode": "60806040526303bfc4006007556224ea0060085562093a806009553480156200002757600080fd5b5060405162003adb38038062003adb8339810160408190526200004a916200011d565b8181806249d400836001600160a01b038116620000845760405162461bcd60e51b81526004016200007b90620001d9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d1918490620001b3565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506200023492505050565b805162000117816200021a565b92915050565b600080604083850312156200013157600080fd5b60006200013f85856200010a565b925050602062000152858286016200010a565b9150509250929050565b620001678162000206565b82525050565b6200016781620001f4565b600062000187601983620001eb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001c382856200015c565b620001d260208301846200016d565b9392505050565b60208082528101620001178162000178565b90815260200190565b60006001600160a01b03821662000117565b6000620001178260006200011782620001f4565b6200022581620001f4565b81146200023157600080fd5b50565b61389780620002446000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806370a08231116101515780638da5cb5b116100c3578063cd7b43dd11610087578063cd7b43dd14610528578063d3be14651461053b578063de065f671461054e578063e6b2cf6c14610561578063eac6248914610569578063f0b882ba1461058957610274565b80638da5cb5b146104df578063910a326d146104e7578063a0416ed3146104ef578063ae58254914610502578063b95375bd1461051557610274565b80637839b92f116101155780637839b92f146104685780637993e6991461047b57806379ba50971461048e5780637cc1d7561461049657806380d46f58146104a9578063899ffef4146104ca57610274565b806370a082311461041257806371e780f31461042557806373307e401461042d5780637418536014610440578063773ab39f1461044857610274565b806330104c5f116101ea57806345626bd6116101ae57806345626bd61461039957806346ba2d90146103b957806353a47bb7146103c15780635eb8cf25146103d65780636154c343146103de5780636dc05bd3146103ff57610274565b806330104c5f14610345578063326a3cfb1461035857806334c7fec91461036b57806337088ffc1461037e5780634525aabc1461038657610274565b80631627540c1161023c5780631627540c146102e9578063178c5655146102fc5780631bb47b4414610304578063204b676a14610317578063227d517a1461032a5780632af64bd31461033d57610274565b8063018c6c551461027957806304f3bcec1461028e57806305662986146102ac5780630961f7e9146102c15780630fcdefb7146102d4575b600080fd5b61028c610287366004612990565b61059c565b005b6102966105e4565b6040516102a3919061353f565b60405180910390f35b6102b46105f3565b6040516102a391906134f5565b6102b46102cf36600461265d565b610614565b6102dc610629565b6040516102a39190613503565b61028c6102f736600461265d565b61062f565b61028c610682565b61028c610312366004612828565b6106df565b6102dc61032536600461265d565b610730565b6102dc61033836600461265d565b6107bb565b6102b46107f0565b6102dc610353366004612791565b610907565b6102dc61036636600461265d565b610922565b61028c610379366004612913565b610957565b6102dc610b0b565b61028c610394366004612990565b610b11565b6103ac6103a7366004612791565b610b4e565b6040516102a391906136de565b6102dc610bda565b6103c9610be0565b6040516102a3919061337a565b6102dc610bef565b6103f16103ec366004612791565b610bf5565b6040516102a392919061375d565b6102dc61040d366004612702565b610c20565b6102dc61042036600461265d565b610c85565b6102dc610c90565b6103c961043b36600461265d565b610d0f565b61028c610d2a565b61045b610456366004612828565b610e80565b6040516102a3919061349c565b61028c61047636600461265d565b610fab565b61028c610489366004612990565b610fb6565b61028c611015565b61028c6104a436600461265d565b6110b1565b6104bc6104b7366004612702565b611201565b6040516102a39291906136ec565b6104d26114d2565b6040516102a3919061348b565b6103c961154a565b6102dc611559565b61028c6104fd366004612828565b61155f565b6102dc610510366004612791565b611659565b61028c610523366004612875565b6116e0565b61028c6105363660046127c1565b6116e8565b61028c610549366004612757565b6116f6565b61028c61055c3660046126a1565b611729565b6102dc6119f5565b61057c610577366004612828565b611a37565b6040516102a391906134e4565b61028c610597366004612702565b611ae8565b6105a4611e5e565b60088190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105d9908390613503565b60405180910390a150565b6003546001600160a01b031681565b60004261060d600954600a54611e8a90919063ffffffff16565b1190505b90565b60066020526000908152604090205460ff1681565b600a5481565b610637611e5e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105d990839061337a565b61068a611e5e565b42600a8190556009547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106c790829063ffffffff611e8a16565b6040516106d592919061370c565b60405180910390a1565b6106e7611eaf565b6001600160a01b0316336001600160a01b0316146107205760405162461bcd60e51b81526004016107179061369e565b60405180910390fd5b61072b838383611ec4565b505050565b600061073a612120565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610765919061337a565b60206040518083038186803b15801561077d57600080fd5b505afa158015610791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107b591908101906129ae565b92915050565b60006107c5612120565b6001600160a01b031663227d517a836040518263ffffffff1660e01b8152600401610765919061337a565b600060606107fc6114d2565b905060005b81518110156108fe57600082828151811061081857fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a7219161086991869101613503565b60206040518083038186803b15801561088157600080fd5b505afa158015610895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108b99190810190612683565b6001600160a01b03161415806108e457506000818152600460205260409020546001600160a01b0316155b156108f55760009350505050610611565b50600101610801565b50600191505090565b600061091b6109168484610b4e565b612143565b9392505050565b600061092c612120565b6001600160a01b031663326a3cfb836040518263ffffffff1660e01b8152600401610765919061337a565b336000610962612506565b6000805b85811015610a3e5761098a8588888481811061097e57fe5b90506020020135610b4e565b92508260200151600014610a36576109a183612143565b91508115610a23576109b1612120565b6001600160a01b03166353401559868989858181106109cc57fe5b905060200201356040518363ffffffff1660e01b81526004016109f09291906133e5565b600060405180830381600087803b158015610a0a57600080fd5b505af1158015610a1e573d6000803e3d6000fd5b505050505b610a33848363ffffffff611e8a16565b93505b600101610966565b508215610b0357610a50848585612174565b610a58612120565b6001600160a01b0316633e21e59a85610a708661226d565b6040518363ffffffff1660e01b8152600401610a8d9291906133e5565b600060405180830381600087803b158015610aa757600080fd5b505af1158015610abb573d6000803e3d6000fd5b50505050836001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc64285604051610afa92919061370c565b60405180910390a25b505050505050565b60085481565b610b19611e5e565b60078190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105d9908390613503565b610b56612506565b610b5e612120565b6001600160a01b03166345626bd684846040518363ffffffff1660e01b8152600401610b8b9291906133e5565b604080518083038186803b158015610ba257600080fd5b505afa158015610bb6573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061091b9190810190612972565b60025481565b6001546001600160a01b031681565b60075481565b600080610c00612506565b610c0a8585610b4e565b80516020909101519093509150505b9250929050565b6000610c2a612506565b60005b83811015610c7c57610c458686868481811061097e57fe5b91508160200151600014610c74576000610c5e83612143565b9050610c70848263ffffffff611e8a16565b9350505b600101610c2d565b50509392505050565b60006107b582610922565b6000610c9a612120565b6001600160a01b03166371e780f36040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd257600080fd5b505afa158015610ce6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d0a91908101906129ae565b905090565b6005602052600090815260409020546001600160a01b031681565b6060610d346114d2565b905060005b8151811015610e7c576000828281518110610d5057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610d92919061336f565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610dbe92919061351f565b60206040518083038186803b158015610dd657600080fd5b505afa158015610dea573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e0e9190810190612683565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610e6a9084908490613511565b60405180910390a15050600101610d39565b5050565b6060828201838111610ec6576040805160008082526020820190925290610ebd565b610eaa61251d565b815260200190600190039081610ea25790505b5091505061091b565b610ecf85610730565b811115610ee257610edf85610730565b90505b8381036000610eef612506565b606083604051908082528060200260200182016040528015610f2b57816020015b610f1861251d565b815260200190600190039081610f105790505b50905060005b84811015610f9e57610f458a8a8301611659565b9350610f518a85610b4e565b9250604051806060016040528084600001516001600160401b031681526020018460200151815260200185815250828281518110610f8b57fe5b6020908102919091010152600101610f31565b5098975050505050505050565b610fb3612296565b50565b610fbe611e5e565b600854811115610fe05760405162461bcd60e51b81526004016107179061368e565b60098190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105d9908390613503565b6001546001600160a01b0316331461103f5760405162461bcd60e51b81526004016107179061356e565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611082926001600160a01b03918216929116906133ca565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156110da5760405162461bcd60e51b81526004016107179061363e565b6110e26105f3565b6110fe5760405162461bcd60e51b81526004016107179061360e565b6111066122ae565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b815260040161113191906133b0565b60206040518083038186803b15801561114957600080fd5b505afa15801561115d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061118191908101906129ae565b1561119e5760405162461bcd60e51b8152600401610717906136ce565b336000818152600560205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906111f690849061337a565b60405180910390a250565b6000606061120d6122c2565b6001600160a01b0316336001600160a01b03161461123d5760405162461bcd60e51b81526004016107179061362e565b8261125a5760405162461bcd60e51b81526004016107179061364e565b60408051848152602080860282010190915283801561129357816020015b611280612506565b8152602001906001900390816112785790505b50905060005b8381101561137a576112a9612506565b6112b98787878581811061097e57fe5b60208101519091501561137157808383815181106112d357fe5b60200260200101819052506112f5816020015185611e8a90919063ffffffff16565b93506112ff612120565b6001600160a01b031663534015598888888681811061131a57fe5b905060200201356040518363ffffffff1660e01b815260040161133e9291906133e5565b600060405180830381600087803b15801561135857600080fd5b505af115801561136c573d6000803e3d6000fd5b505050505b50600101611299565b50811561148357611389612120565b6001600160a01b031663cec7bdb1866113a18561226d565b6000036040518363ffffffff1660e01b81526004016113c19291906133e5565b600060405180830381600087803b1580156113db57600080fd5b505af11580156113ef573d6000803e3d6000fd5b505050506113fb6122e9565b6001600160a01b031663a9059cbb6114116122c2565b846040518363ffffffff1660e01b815260040161142f9291906133e5565b602060405180830381600087803b15801561144957600080fd5b505af115801561145d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114819190810190612954565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c858585426040516114c294939291906134ad565b60405180910390a2935093915050565b6060806114dd612300565b60408051600180825281830190925291925060609190602080830190803883390190505090507853796e746865746978427269646765546f4f7074696d69736d60381b8160008151811061152d57fe5b60200260200101818152505061154382826123c5565b9250505090565b6000546001600160a01b031681565b60095481565b6001600160a01b0383166115855760405162461bcd60e51b81526004016107179061359e565b3360009081526006602052604090205460ff166115b45760405162461bcd60e51b8152600401610717906135ce565b6115bc6122e9565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b81526004016115eb93929190613388565b602060405180830381600087803b15801561160557600080fd5b505af1158015611619573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061163d9190810190612954565b6107205760405162461bcd60e51b81526004016107179061361e565b6000611663612120565b6001600160a01b031663ae58254984846040518363ffffffff1660e01b81526004016116909291906133e5565b60206040518083038186803b1580156116a857600080fd5b505afa1580156116bc573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061091b91908101906129ae565b610b03612296565b6116f0612296565b50505050565b6116fe611e5e565b6001600160a01b03919091166000908152600660205260409020805460ff1916911515919091179055565b6117316122e9565b6001600160a01b0316336001600160a01b0316146117615760405162461bcd60e51b8152600401610717906135be565b6001600160a01b0384166117875760405162461bcd60e51b8152600401610717906136ae565b6001600160a01b0383166117ad5760405162461bcd60e51b81526004016107179061367e565b60008060006117ba612120565b6001600160a01b03166327f071d28886886040518463ffffffff1660e01b81526004016117e993929190613470565b606060405180830381600087803b15801561180357600080fd5b505af1158015611817573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061183b91908101906129cc565b925092509250848310156118615760405162461bcd60e51b81526004016107179061355e565b8483111561199257600061187b848763ffffffff61248116565b90506000611887612120565b6001600160a01b03166343ba57df8a6040518060400160405280876001600160401b03168152602001868152506040518363ffffffff1660e01b81526004016118d192919061340e565b602060405180830381600087803b1580156118eb57600080fd5b505af11580156118ff573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192391908101906129ae565b90506000428411611935576000611945565b611945844263ffffffff61248116565b9050896001600160a01b03167f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0428584866040516119869493929190613728565b60405180910390a25050505b61199d878787612174565b856001600160a01b0316876001600160a01b03167f18db3cc7a567ad50ae1cf6998aff0c3c2cff4e7c1338a1909def5a5a12ae23a18787866040516119e49392919061371a565b60405180910390a350505050505050565b60006119ff612120565b6001600160a01b031663e6b2cf6c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cd257600080fd5b60608282016000611a4786610730565b905080821115611a55578091505b848211611a74575050604080516000815260208101909152905061091b565b604080518684038082526020808202830101909252606090828015611aa3578160200160208202803883390190505b50905060005b82811015611adc57611abd89898301611659565b828281518110611ac957fe5b6020908102919091010152600101611aa9565b50979650505050505050565b611af06105f3565b611b0c5760405162461bcd60e51b81526004016107179061360e565b611b146122ae565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611b3f9190613400565b60206040518083038186803b158015611b5757600080fd5b505afa158015611b6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b8f91908101906129ae565b15611bac5760405162461bcd60e51b8152600401610717906136ce565b6001600160a01b03838116600090815260056020526040902054163314611be55760405162461bcd60e51b81526004016107179061366e565b336000611bf0612506565b60005b84811015611d3b57611c0b8787878481811061097e57fe5b91508160200151600014611d3357611c21612120565b6001600160a01b0316635340155988888885818110611c3c57fe5b905060200201356040518363ffffffff1660e01b8152600401611c609291906133e5565b600060405180830381600087803b158015611c7a57600080fd5b505af1158015611c8e573d6000803e3d6000fd5b50505050611c9a612120565b6001600160a01b03166343ba57df85846040518363ffffffff1660e01b8152600401611cc792919061340e565b602060405180830381600087803b158015611ce157600080fd5b505af1158015611cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d1991908101906129ae565b506020820151611d3090849063ffffffff611e8a16565b92505b600101611bf3565b50611d44612120565b6001600160a01b031663cec7bdb187611d5c8561226d565b6000036040518363ffffffff1660e01b8152600401611d7c9291906133e5565b600060405180830381600087803b158015611d9657600080fd5b505af1158015611daa573d6000803e3d6000fd5b50505050611db6612120565b6001600160a01b031663cec7bdb184611dce8561226d565b6040518363ffffffff1660e01b8152600401611deb9291906133e5565b600060405180830381600087803b158015611e0557600080fd5b505af1158015611e19573d6000803e3d6000fd5b50505050856001600160a01b03167f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c8484888842604051610afa959493929190613429565b6000546001600160a01b03163314611e885760405162461bcd60e51b81526004016107179061365e565b565b60008282018381101561091b5760405162461bcd60e51b81526004016107179061357e565b6000610d0a66119959541bdbdb60ca1b6124a9565b81611ee15760405162461bcd60e51b8152600401610717906135ee565b600081118015611ef357506007548111155b611f0f5760405162461bcd60e51b81526004016107179061358e565b611f17612120565b6001600160a01b031663cec7bdb184611f2f8561226d565b6040518363ffffffff1660e01b8152600401611f4c9291906133e5565b600060405180830381600087803b158015611f6657600080fd5b505af1158015611f7a573d6000803e3d6000fd5b50505050611f866122e9565b6001600160a01b03166370a08231306040518263ffffffff1660e01b8152600401611fb1919061337a565b60206040518083038186803b158015611fc957600080fd5b505afa158015611fdd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061200191908101906129ae565b612009610c90565b11156120275760405162461bcd60e51b8152600401610717906135fe565b4281016000612034612120565b6001600160a01b03166343ba57df866040518060400160405280866001600160401b03168152602001888152506040518363ffffffff1660e01b815260040161207e92919061340e565b602060405180830381600087803b15801561209857600080fd5b505af11580156120ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120d091908101906129ae565b9050846001600160a01b03167f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0428686856040516121119493929190613728565b60405180910390a25050505050565b6000610d0a74526577617264457363726f77563253746f7261676560581b6124a9565b60008082602001516000146107b55782516001600160401b031642101561216b57600061091b565b50506020015190565b61217c612120565b6001600160a01b031663cec7bdb1846121948461226d565b6000036040518363ffffffff1660e01b81526004016121b49291906133e5565b600060405180830381600087803b1580156121ce57600080fd5b505af11580156121e2573d6000803e3d6000fd5b505050506121ee6122e9565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161221b9291906133e5565b602060405180830381600087803b15801561223557600080fd5b505af1158015612249573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116f09190810190612954565b6000600160ff1b82106122925760405162461bcd60e51b8152600401610717906136be565b5090565b60405162461bcd60e51b8152600401610717906135de565b6000610d0a6524b9b9bab2b960d11b6124a9565b6000610d0a7853796e746865746978427269646765546f4f7074696d69736d60381b6124a9565b6000610d0a680a6f2dce8d0cae8d2f60bb1b6124a9565b60408051600480825260a0820190925260609160208201608080388339019050509050680a6f2dce8d0cae8d2f60bb1b8160008151811061233d57fe5b60200260200101818152505066119959541bdbdb60ca1b8160018151811061236157fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061238457fe5b60200260200101818152505074526577617264457363726f77563253746f7261676560581b816003815181106123b657fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156123f5578160200160208202803883390190505b50905060005b83518110156124375783818151811061241057fe5b602002602001015182828151811061242457fe5b60209081029190910101526001016123fb565b5060005b825181101561247a5782818151811061245057fe5b602002602001015182828651018151811061246757fe5b602090810291909101015260010161243b565b5092915050565b6000828211156124a35760405162461bcd60e51b8152600401610717906135ae565b50900390565b60008181526004602090815260408083205490516001600160a01b0390911691821515916124d99186910161334f565b6040516020818303038152906040529061247a5760405162461bcd60e51b8152600401610717919061354d565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b80356107b581613825565b80516107b581613825565b60008083601f84011261256f57600080fd5b5081356001600160401b0381111561258657600080fd5b602083019150836020820283011115610c1957600080fd5b60008083601f8401126125b057600080fd5b5081356001600160401b038111156125c757600080fd5b602083019150836040820283011115610c1957600080fd5b80356107b581613839565b80516107b581613839565b60006040828403121561260757600080fd5b612611604061376b565b9050600061261f8484612652565b825250602061263084848301612647565b60208301525092915050565b80356107b581613842565b80516107b581613842565b80516107b58161384b565b60006020828403121561266f57600080fd5b600061267b8484612547565b949350505050565b60006020828403121561269557600080fd5b600061267b8484612552565b600080600080608085870312156126b757600080fd5b60006126c38787612547565b94505060206126d487828801612547565b93505060406126e58782880161263c565b92505060606126f68782880161263c565b91505092959194509250565b60008060006040848603121561271757600080fd5b60006127238686612547565b93505060208401356001600160401b0381111561273f57600080fd5b61274b8682870161255d565b92509250509250925092565b6000806040838503121561276a57600080fd5b60006127768585612547565b9250506020612787858286016125df565b9150509250929050565b600080604083850312156127a457600080fd5b60006127b08585612547565b92505060206127878582860161263c565b600080600080606085870312156127d757600080fd5b60006127e38787612547565b94505060206127f48782880161263c565b93505060408501356001600160401b0381111561281057600080fd5b61281c8782880161259e565b95989497509550505050565b60008060006060848603121561283d57600080fd5b60006128498686612547565b935050602061285a8682870161263c565b925050604061286b8682870161263c565b9150509250925092565b6000806000806000806060878903121561288e57600080fd5b86356001600160401b038111156128a457600080fd5b6128b089828a0161255d565b965096505060208701356001600160401b038111156128ce57600080fd5b6128da89828a0161255d565b945094505060408701356001600160401b038111156128f857600080fd5b61290489828a0161255d565b92509250509295509295509295565b6000806020838503121561292657600080fd5b82356001600160401b0381111561293c57600080fd5b6129488582860161255d565b92509250509250929050565b60006020828403121561296657600080fd5b600061267b84846125ea565b60006040828403121561298457600080fd5b600061267b84846125f5565b6000602082840312156129a257600080fd5b600061267b848461263c565b6000602082840312156129c057600080fd5b600061267b8484612647565b6000806000606084860312156129e157600080fd5b60006129ed8686612647565b93505060206129fe86828701612647565b925050604061286b86828701612647565b6000612a1b8383612be8565b505060200190565b6000612a2f83836132eb565b505060600190565b6000612a438383613322565b505060400190565b612a54816137d1565b82525050565b612a54816137a9565b6000612a6e82613797565b612a78818561379b565b9350612a8383613791565b8060005b83811015612ab1578151612a9b8882612a0f565b9750612aa683613791565b925050600101612a87565b509495945050505050565b6000612ac782613797565b612ad1818561379b565b9350612adc83613791565b8060005b83811015612ab1578151612af48882612a23565b9750612aff83613791565b925050600101612ae0565b6000612b1582613797565b612b1f818561379b565b9350612b2a83613791565b8060005b83811015612ab1578151612b428882612a37565b9750612b4d83613791565b925050600101612b2e565b6000612b64838561379b565b93506001600160fb1b03831115612b7a57600080fd5b602083029250612b8b8385846137e3565b50500190565b6000612b9c82613797565b612ba6818561379b565b9350612bb183613791565b8060005b83811015612ab1578151612bc98882612a0f565b9750612bd483613791565b925050600101612bb5565b612a54816137b4565b612a5481610611565b612a54612bfd82610611565b610611565b612a54816137d8565b6000612c1682613797565b612c20818561379b565b9350612c308185602086016137ef565b612c398161381b565b9093019392505050565b6000612c50601c8361379b565b7f656e74726965732073756d206c657373207468616e2074617267657400000000815260200192915050565b6000612c8960358361379b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612ce0601b8361379b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612d1960338361379b565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000612d6e60248361379b565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b6000612db4601e8361379b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612ded600e8361379b565b6d09edcd8f240a6f2dce8d0cae8d2f60931b815260200192915050565b6000612e1760388361379b565b7f4f6e6c79207065726d697474656420657363726f772063726561746f7273206381527f616e2063726561746520657363726f7720656e74726965730000000000000000602082015260400192915050565b6000612e76601b8361379b565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000612eaf6011836137a4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612edc60178361379b565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b6000612f1560478361379b565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b6000612f8460198361379b565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000612fbd60158361379b565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b6000612fee60398361379b565b7f43616e206f6e6c7920626520696e766f6b65642062792053796e74686574697881527f427269646765546f4f7074696d69736d20636f6e747261637400000000000000602082015260400192915050565b600061304d60248361379b565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b600061309360128361379b565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b60006130c1602f8361379b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b600061311e60218361379b565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b600061316160118361379b565b701c9958da5c1a595b9d081b9bdd081cd95d607a1b815260200192915050565b600061318e601c8361379b565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b60006131c76019836137a4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061320060288361379b565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061324a600f8361379b565b6e1858d8dbdd5b9d081b9bdd081cd95d608a1b815260200192915050565b600061327560288361379b565b7f53616665436173743a2076616c756520646f65736e27742066697420696e2061815267371034b73a191a9b60c11b602082015260400192915050565b60006132bf601f8361379b565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906132fc8482613346565b50602082015161330f6020850182612be8565b5060408201516116f06040850182612be8565b805160408301906133338482613346565b5060208201516116f06020850182612be8565b612a54816137c5565b600061335a82612ea2565b91506133668284612bf1565b50602001919050565b600061335a826131ba565b602081016107b58284612a5a565b606081016133968286612a4b565b6133a36020830185612a5a565b61267b6040830184612be8565b604081016133be8284612a4b565b6107b560208301613105565b604081016133d88285612a5a565b61091b6020830184612a5a565b604081016133f38285612a5a565b61091b6020830184612be8565b604081016133be8284612a5a565b6060810161341c8285612a5a565b61091b6020830184613322565b608081016134378288612a5a565b6134446020830187612be8565b8181036040830152613457818587612b58565b90506134666060830184612be8565b9695505050505050565b6060810161347e8286612a5a565b6133a36020830185612be8565b6020808252810161091b8184612a63565b6020808252810161091b8184612abc565b606080825281016134bf818688612b58565b90506134ce6020830185612be8565b6134db6040830184612be8565b95945050505050565b6020808252810161091b8184612b91565b602081016107b58284612bdf565b602081016107b58284612be8565b604081016133d88285612be8565b6040810161352d8285612be8565b818103602083015261267b8184612c0b565b602081016107b58284612c02565b6020808252810161091b8184612c0b565b602080825281016107b581612c43565b602080825281016107b581612c7c565b602080825281016107b581612cd3565b602080825281016107b581612d0c565b602080825281016107b581612d61565b602080825281016107b581612da7565b602080825281016107b581612de0565b602080825281016107b581612e0a565b602080825281016107b581612e69565b602080825281016107b581612ecf565b602080825281016107b581612f08565b602080825281016107b581612f77565b602080825281016107b581612fb0565b602080825281016107b581612fe1565b602080825281016107b581613040565b602080825281016107b581613086565b602080825281016107b5816130b4565b602080825281016107b581613111565b602080825281016107b581613154565b602080825281016107b581613181565b602080825281016107b5816131f3565b602080825281016107b58161323d565b602080825281016107b581613268565b602080825281016107b5816132b2565b604081016107b58284613322565b604081016136fa8285612be8565b818103602083015261267b8184612b0a565b604081016133f38285612be8565b6060810161347e8286612be8565b608081016137368287612be8565b6137436020830186612be8565b6137506040830185612be8565b6134db6060830184612be8565b604081016133f38285613346565b6040518181016001600160401b038111828210171561378957600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b60006107b5826137b9565b151590565b6001600160a01b031690565b6001600160401b031690565b60006107b5825b60006107b5826137a9565b82818337506000910152565b60005b8381101561380a5781810151838201526020016137f2565b838111156116f05750506000910152565b601f01601f191690565b61382e816137a9565b8114610fb357600080fd5b61382e816137b4565b61382e81610611565b61382e816137c556fea365627a7a723158203e6a9a289c47c403a7429c389a92e72ff5e82518e3c9ad26a680b32dc4e43cec6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "AccountMergingDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "AccountMergingStarted",
					"type": "event"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxAccountMergingDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxEscrowDurationUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "NominateAccountToMerge",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "targetAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "startIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endIndex",
							"type": "uint256"
						}
					],
					"name": "Revoked",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingIsOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingStartTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "accountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxAccountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "max_duration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "mergeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"name": "migrateAccountEscrowBalances",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "migrateVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextEntryId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "nominateAccountToMerge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "nominatedReceiver",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "permittedEscrowCreators",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "targetAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startIndex",
							"type": "uint256"
						}
					],
					"name": "revokeFrom",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setAccountMergingDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxAccountMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxEscrowDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "creator",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "permitted",
							"type": "bool"
						}
					],
					"name": "setPermittedEscrowCreator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "startMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryId",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xa22aaba9eeb27e9180b7590c1fb535ec5802a1d86fa9799d126ac176a11ecfc9",
				"urls": [
					"bzz-raw://169a7520d9d41ce6d8189c82518b9b19629768ba6a1924946e5d14e5dd613906",
					"dweb:/ipfs/QmXuyKsj1RYyzcKT8aTv8YNRFeRmYv1Xg5mfFdLk4Qw11H"
				]
			},
			"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": "0xa22aaba9eeb27e9180b7590c1fb535ec5802a1d86fa9799d126ac176a11ecfc9",
						"urls": [
							"bzz-raw://169a7520d9d41ce6d8189c82518b9b19629768ba6a1924946e5d14e5dd613906",
							"dweb:/ipfs/QmXuyKsj1RYyzcKT8aTv8YNRFeRmYv1Xg5mfFdLk4Qw11H"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixBridgeToOptimism": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200394a3803806200394a83398101604081905262000034916200010d565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001c9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b8918490620001a3565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550506004805460ff191660011790555062000224915050565b805162000107816200020a565b92915050565b600080604083850312156200012157600080fd5b60006200012f8585620000fa565b92505060206200014285828601620000fa565b9150509250929050565b6200015781620001f6565b82525050565b6200015781620001e4565b600062000177601983620001db565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001b382856200014c565b620001c260208301846200015d565b9392505050565b60208082528101620001078162000168565b90815260200190565b60006001600160a01b03821662000107565b6000620001078260006200010782620001e4565b6200021581620001e4565b81146200022157600080fd5b50565b61371680620002346000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c8063698a26b2116100de578063a18e230711610097578063b9958ab811610071578063b9958ab8146102cf578063bb91f6a3146102e2578063f4f7b41a146102ea578063ffaad6a5146102fd57610173565b8063a18e230714610296578063a6492fe2146102a9578063b6b55f25146102bc57610173565b8063698a26b21461024e578063741853601461025657806379ba50971461025e578063899ffef4146102665780638da5cb5b1461027b5780639a9e7f961461028357610173565b80633c6b16ab116101305780633c6b16ab146101e3578063462286d5146101f65780634873966f1461020957806353a47bb71461021c5780635aba32ae14610231578063614d08f81461024657610173565b806304f3bcec14610178578063100be6d4146101965780631627540c146101ab5780631e2720ff146101c05780632af64bd3146101d35780633872dda3146101db575b600080fd5b610180610310565b60405161018d9190613440565b60405180910390f35b61019e61031f565b60405161018d9190613384565b6101be6101b9366004612765565b610328565b005b6101be6101ce366004612934565b610386565b61019e61042c565b6101be610544565b6101be6101f1366004612934565b6105ac565b6101be610204366004612765565b610620565b6101be6102173660046128e7565b6106c3565b61022461094e565b60405161018d919061325a565b61023961095d565b60405161018d9190613392565b610239610974565b6101be610998565b6101be6109fb565b6101be610b4d565b61026e610be9565b60405161018d9190613373565b610224610ce7565b6101be6102913660046127e3565b610cf6565b6101be6102a4366004612970565b610d0f565b6101be6102b73660046128e7565b610d3f565b6101be6102ca366004612934565b610e2a565b6101be6102dd366004612a00565b610e44565b610239610f92565b6101be6102f83660046127a9565b610fa4565b6101be61030b3660046127a9565b611082565b6002546001600160a01b031681565b60045460ff1681565b61033061109c565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061037b90839061325a565b60405180910390a150565b61038e6110c8565b6103966110ea565b6001600160a01b03166323b872dd336103ad611101565b846040518463ffffffff1660e01b81526004016103cc93929190613268565b602060405180830381600087803b1580156103e657600080fd5b505af11580156103fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061041e91908101906128c9565b506104293382611124565b50565b60006060610438610be9565b905060005b815181101561053a57600082828151811061045457fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104a5908590600401613392565b60206040518083038186803b1580156104bd57600080fd5b505afa1580156104d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104f5919081019061278b565b6001600160a01b031614158061052057506000818152600360205260409020546001600160a01b0316155b156105315760009350505050610541565b5060010161043d565b5060019150505b90565b61054c61109c565b60045460ff166105775760405162461bcd60e51b815260040161056e9061348f565b60405180910390fd5b6004805460ff191690556040517f43e00f2c8f8651a29db34d34fb689573423f8aaae8f9d32e3e871b4c35c6254690600090a1565b6105b461123a565b6001600160a01b0316336001600160a01b0316146105e45760405162461bcd60e51b815260040161056e9061355f565b6105ec6110ea565b6001600160a01b031663a9059cbb610602611101565b836040518363ffffffff1660e01b81526004016103cc929190613358565b806106bf61062c611101565b6040516370a0823160e01b81526001600160a01b038416906370a082319061065890309060040161325a565b60206040518083038186803b15801561067057600080fd5b505afa158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a89190810190612952565b6001600160a01b038416919063ffffffff61125b16565b5050565b6106cb6110c8565b6001600160a01b0382166106f15760405162461bcd60e51b815260040161056e906134ef565b60006106fc846112b9565b116107195760405162461bcd60e51b815260040161056e9061352f565b6107216113a1565b6001600160a01b03166342a28e21846040518263ffffffff1660e01b815260040161074c9190613392565b60006040518083038186803b15801561076457600080fd5b505afa158015610778573d6000803e3d6000fd5b5050505061078e6314d95b9d60e21b84836113bb565b6000610798611510565b6001600160a01b031663c81ff8fa8533856040518463ffffffff1660e01b81526004016107c7939291906133ae565b602060405180830381600087803b1580156107e157600080fd5b505af11580156107f5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061081991908101906128c9565b905080156108395760405162461bcd60e51b815260040161056e9061357f565b606063a6492fe260e01b858585604051602401610858939291906133c9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610894611524565b6001600160a01b0316633dbb202b6108aa61153f565b836108b56003611549565b6040518463ffffffff1660e01b81526004016108d393929190613329565b600060405180830381600087803b1580156108ed57600080fd5b505af1158015610901573d6000803e3d6000fd5b50505050836001600160a01b0316857f8437572793cb04c0a02524a185d39f9b72a4284bd2e69151b0ca0cf254b2cb0b8560405161093f9190613392565b60405180910390a35050505050565b6001546001600160a01b031681565b600061096f6314d95b9d60e21b611599565b905090565b7f53796e746865746978427269646765546f4f7074696d69736d0000000000000090565b6109a061109c565b60045460ff16156109c35760405162461bcd60e51b815260040161056e9061345f565b6004805460ff191660011790556040517f7c88488c18e2ff121a34a4a2a44990557a5b76ab1ceb6bd95ebe7d419c7575f490600090a1565b6060610a05610be9565b905060005b81518110156106bf576000828281518110610a2157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610a63919061324f565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610a8f929190613420565b60206040518083038186803b158015610aa757600080fd5b505afa158015610abb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610adf919081019061278b565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610b3b90849084906133a0565b60405180910390a15050600101610a0a565b6001546001600160a01b03163314610b775760405162461bcd60e51b815260040161056e9061346f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610bba926001600160a01b0391821692911690613300565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610bf4611870565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506524b9b9bab2b960d11b81600081518110610c3257fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600181518110610c6257fe5b602002602001018181525050786f766d3a53796e746865746978427269646765546f4261736560381b81600281518110610c9857fe5b6020026020010181815250507453796e746865746978427269646765457363726f7760581b81600381518110610cca57fe5b602002602001018181525050610ce082826119d9565b9250505090565b6000546001600160a01b031681565b610cfe6110c8565b610d06611a95565b61042981611b35565b610d176110c8565b610d1f611a95565b805115610d2f57610d2f81611b35565b81156106bf576106bf3383611dd6565b610d47611f71565b610d59632932b1bb60e11b84836113bb565b610d61611510565b6001600160a01b031663890235d48484846040518463ffffffff1660e01b8152600401610d90939291906133c9565b602060405180830381600087803b158015610daa57600080fd5b505af1158015610dbe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610de291908101906128c9565b50816001600160a01b0316837f81b100a611d2b249e23d093c64f09470928821e123a7cff2a033eb24c85b797983604051610e1d9190613392565b60405180910390a3505050565b610e326110c8565b610e3a611a95565b6104293382611dd6565b610e4c6110c8565b610e5461204d565b6001600160a01b0316336001600160a01b031614610e845760405162461bcd60e51b815260040161056e9061350f565b6040516000906060906325aae56360e01b90610ea690869086906024016133f7565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610ee2611524565b6001600160a01b0316633dbb202b610ef8612062565b83610f036004611549565b6040518463ffffffff1660e01b8152600401610f2193929190613329565b600060405180830381600087803b158015610f3b57600080fd5b505af1158015610f4f573d6000803e3d6000fd5b505050507fcca0df3f2f18cd65d14c04abffc77c2d00aaca7ad00b0d2eb074adeea3fb54f48484604051610f849291906133f7565b60405180910390a150505050565b600061096f632932b1bb60e11b611599565b610fac611f71565b610fb46110ea565b6001600160a01b03166323b872dd610fca611101565b84846040518463ffffffff1660e01b8152600401610fea9392919061331b565b602060405180830381600087803b15801561100457600080fd5b505af1158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061103c91908101906128c9565b50816001600160a01b03167f9e5c4f9f4e46b8629d3dda85f43a69194f50254404a72dc62b9e932d9c94eda8826040516110769190613392565b60405180910390a25050565b61108a6110c8565b611092611a95565b6106bf8282611dd6565b6000546001600160a01b031633146110c65760405162461bcd60e51b815260040161056e906134ff565b565b60045460ff166110c65760405162461bcd60e51b815260040161056e906134bf565b600061096f680a6f2dce8d0cae8d2f60bb1b612085565b600061096f7453796e746865746978427269646765457363726f7760581b612085565b60405160009060609063a616cdfb60e01b906111469086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611182611524565b6001600160a01b0316633dbb202b611198612062565b836111a36002611549565b6040518463ffffffff1660e01b81526004016111c193929190613329565b600060405180830381600087803b1580156111db57600080fd5b505af11580156111ef573d6000803e3d6000fd5b50505050836001600160a01b03167f0ac6af0c6fd21e58850b0385f451cdcc08071424f47fd04652be4e51069f43cc8460405161122c9190613392565b60405180910390a250505050565b600061096f722932bbb0b93239a234b9ba3934b13aba34b7b760691b612085565b6040516112b490849063a9059cbb60e01b9061127d9086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526120e2565b505050565b60006112c36121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f63726f7373436861696e53796e74685472616e73666572456e61626c65640000856040516020016113169291906131c6565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016113499291906133f7565b60206040518083038186803b15801561136157600080fd5b505afa158015611375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113999190810190612952565b90505b919050565b600061096f6b53797374656d53746174757360a01b612085565b60006c29bcb73a342a3930b739b332b960991b84846040516020016113e2939291906131ec565b60405160208183030381529060405280519060200120905060006114046121cd565b6001600160a01b03166323257c2b61141a610974565b846040518363ffffffff1660e01b81526004016114389291906133f7565b60206040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114889190810190612952565b90506114926121cd565b6001600160a01b0316631d5b277f6114a8610974565b846114b9858863ffffffff6121ea16565b6040518463ffffffff1660e01b81526004016114d793929190613405565b600060405180830381600087803b1580156114f157600080fd5b505af1158015611505573d6000803e3d6000fd5b505050505050505050565b600061096f6524b9b9bab2b960d11b612085565b600061096f6c32bc3a1d26b2b9b9b2b733b2b960991b612085565b600061096f612062565b60006115536121cd565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61157c85612218565b6040518363ffffffff1660e01b81526004016113499291906133f7565b600060606115a5611510565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156115dd57600080fd5b505afa1580156115f1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116199190810190612818565b905060606000611627612393565b6001600160a01b031663c8e5bbd5846040518263ffffffff1660e01b81526004016116529190613373565b60006040518083038186803b15801561166a57600080fd5b505afa15801561167e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526116a69190810190612882565b9150915080156116c85760405162461bcd60e51b815260040161056e906134cf565b606083516040519080825280602002602001820160405280156116f5578160200160208202803883390190505b50905060005b8451811015611771576c29bcb73a342a3930b739b332b960991b8786838151811061172257fe5b602002602001015160405160200161173c939291906131ec565b6040516020818303038152906040528051906020012082828151811061175e57fe5b60209081029190910101526001016116fb565b50606061177c6121cd565b6001600160a01b031663b67fa7ed611792610974565b846040518363ffffffff1660e01b81526004016117b09291906133d7565b60006040518083038186803b1580156117c857600080fd5b505afa1580156117dc573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611804919081019061284d565b905060005b85518110156118655761185b61184e86838151811061182457fe5b602002602001015184848151811061183857fe5b60200260200101516123ae90919063ffffffff16565b889063ffffffff6121ea16565b9650600101611809565b505050505050919050565b60608061187b6123c3565b60408051600880825261012082019092529192506060919060208201610100803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b816000815181106118c257fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816001815181106118e857fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061191357fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061193657fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061195a57fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b8160058151811061198657fe5b6020026020010181815250506c45786368616e6765526174657360981b816006815181106119b057fe5b6020026020010181815250506b53797374656d53746174757360a01b81600781518110610cca57fe5b60608151835101604051908082528060200260200182016040528015611a09578160200160208202803883390190505b50905060005b8351811015611a4b57838181518110611a2457fe5b6020026020010151828281518110611a3857fe5b6020908102919091010152600101611a0f565b5060005b8251811015611a8e57828181518110611a6457fe5b6020026020010151828286510181518110611a7b57fe5b6020908102919091010152600101611a4f565b5092915050565b611a9d611510565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b8152600401611ac891906132b0565b60206040518083038186803b158015611ae057600080fd5b505afa158015611af4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b189190810190612952565b156110c65760405162461bcd60e51b815260040161056e906134df565b60005b81518110156106bf57601a60ff16828281518110611b5257fe5b6020026020010151511115611b795760405162461bcd60e51b815260040161056e906134af565b60006060611b85612414565b6001600160a01b03166380d46f5833868681518110611ba057fe5b60200260200101516040518363ffffffff1660e01b8152600401611bc5929190613290565b600060405180830381600087803b158015611bdf57600080fd5b505af1158015611bf3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c1b91908101906129b8565b90925090508115611dcc57611c2e6110ea565b6001600160a01b031663a9059cbb611c44611101565b846040518363ffffffff1660e01b8152600401611c62929190613358565b602060405180830381600087803b158015611c7c57600080fd5b505af1158015611c90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611cb491908101906128c9565b50604051600090606090637cbc127f60e11b90611cd9903390879087906024016132ca565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611d15611524565b6001600160a01b0316633dbb202b611d2b612062565b83611d366001611549565b6040518463ffffffff1660e01b8152600401611d5493929190613329565b600060405180830381600087803b158015611d6e57600080fd5b505af1158015611d82573d6000803e3d6000fd5b50505050336001600160a01b03167f4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f56226968585604051611dc19291906135af565b60405180910390a250505b5050600101611b38565b611dde6110ea565b6001600160a01b03166323b872dd33611df5611101565b846040518463ffffffff1660e01b8152600401611e1493929190613268565b602060405180830381600087803b158015611e2e57600080fd5b505af1158015611e42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e6691908101906128c9565b50604051600090606090638d6e9a5b60e01b90611e899086908690602401613358565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050611ec5611524565b6001600160a01b0316633dbb202b611edb612062565b83611ee66000611549565b6040518463ffffffff1660e01b8152600401611f0493929190613329565b600060405180830381600087803b158015611f1e57600080fd5b505af1158015611f32573d6000803e3d6000fd5b50505050336001600160a01b03167ff531653a5819e21265de50358610d55dbe6594c61605b209dfa4280d277938c1858560405161122c929190613358565b6000611f7b611524565b9050336001600160a01b03821614611fa55760405162461bcd60e51b815260040161056e9061353f565b611fad61153f565b6001600160a01b0316816001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b158015611fef57600080fd5b505afa158015612003573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612027919081019061278b565b6001600160a01b0316146104295760405162461bcd60e51b815260040161056e9061354f565b600061096f66119959541bdbdb60ca1b612085565b600061096f786f766d3a53796e746865746978427269646765546f4261736560381b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916120b59186910161322f565b60405160208183030381529060405290611a8e5760405162461bcd60e51b815260040161056e919061344e565b6120f4826001600160a01b0316612430565b6121105760405162461bcd60e51b815260040161056e9061359f565b60006060836001600160a01b03168360405161212c9190613223565b6000604051808303816000865af19150503d8060008114612169576040519150601f19603f3d011682016040523d82523d6000602084013e61216e565b606091505b5091509150816121905760405162461bcd60e51b815260040161056e9061349f565b8051156121c757808060200190516121ab91908101906128c9565b6121c75760405162461bcd60e51b815260040161056e9061356f565b50505050565b600061096f6e466c657869626c6553746f7261676560881b612085565b60008282018381101561220f5760405162461bcd60e51b815260040161056e9061347f565b90505b92915050565b60008082600581111561222757fe5b141561225457507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061139c565b600182600581111561226257fe5b141561228f57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061139c565b600282600581111561229d57fe5b14156122ca57507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061139c565b60038260058111156122d857fe5b141561230557507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061139c565b600582600581111561231357fe5b141561234057507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061139c565b600482600581111561234e57fe5b141561237b57507f63726f7373446f6d61696e436c6f73654761734c696d6974000000000000000061139c565b60405162461bcd60e51b815260040161056e9061358f565b600061096f6c45786368616e6765526174657360981b612085565b600061220f8383670de0b6b3a7640000612436565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061240557fe5b60200260200101818152505090565b600061096f6d2932bbb0b93222b9b1b937bbab1960911b612085565b3b151590565b600080600a830461244d868663ffffffff61247416565b8161245457fe5b0490506005600a82061061246657600a015b600a900490505b9392505050565b60008261248357506000612212565b8282028284828161249057fe5b041461220f5760405162461bcd60e51b815260040161056e9061351f565b8035612212816136a4565b8051612212816136a4565b600082601f8301126124d557600080fd5b81356124e86124e3826135f6565b6135cf565b81815260209384019390925082018360005b8381101561252657813586016125108882612612565b84525060209283019291909101906001016124fa565b5050505092915050565b600082601f83011261254157600080fd5b815161254f6124e3826135f6565b9150818183526020840193506020810190508385602084028201111561257457600080fd5b60005b83811015612526578161258a8882612708565b8452506020928301929190910190600101612577565b600082601f8301126125b157600080fd5b81516125bf6124e3826135f6565b915081818352602084019350602081019050838560408402820111156125e457600080fd5b60005b8381101561252657816125fa8882612713565b845250602090920191604091909101906001016125e7565b600082601f83011261262357600080fd5b81356126316124e3826135f6565b9150818183526020840193506020810190508385602084028201111561265657600080fd5b60005b83811015612526578161266c88826126fd565b8452506020928301929190910190600101612659565b600082601f83011261269357600080fd5b81516126a16124e3826135f6565b915081818352602084019350602081019050838560208402820111156126c657600080fd5b60005b8381101561252657816126dc8882612708565b84525060209283019291909101906001016126c9565b8051612212816136b8565b8035612212816136c1565b8051612212816136c1565b60006040828403121561272557600080fd5b61272f60406135cf565b9050600061273d848461275a565b825250602061274e84848301612708565b60208301525092915050565b8051612212816136ca565b60006020828403121561277757600080fd5b600061278384846124ae565b949350505050565b60006020828403121561279d57600080fd5b600061278384846124b9565b600080604083850312156127bc57600080fd5b60006127c885856124ae565b92505060206127d9858286016126fd565b9150509250929050565b6000602082840312156127f557600080fd5b813567ffffffffffffffff81111561280c57600080fd5b612783848285016124c4565b60006020828403121561282a57600080fd5b815167ffffffffffffffff81111561284157600080fd5b61278384828501612530565b60006020828403121561285f57600080fd5b815167ffffffffffffffff81111561287657600080fd5b61278384828501612682565b6000806040838503121561289557600080fd5b825167ffffffffffffffff8111156128ac57600080fd5b6128b885828601612682565b92505060206127d9858286016126f2565b6000602082840312156128db57600080fd5b600061278384846126f2565b6000806000606084860312156128fc57600080fd5b600061290886866126fd565b9350506020612919868287016124ae565b925050604061292a868287016126fd565b9150509250925092565b60006020828403121561294657600080fd5b600061278384846126fd565b60006020828403121561296457600080fd5b60006127838484612708565b6000806040838503121561298357600080fd5b600061298f85856126fd565b925050602083013567ffffffffffffffff8111156129ac57600080fd5b6127d9858286016124c4565b600080604083850312156129cb57600080fd5b60006129d78585612708565b925050602083015167ffffffffffffffff8111156129f457600080fd5b6127d9858286016125a0565b60008060408385031215612a1357600080fd5b60006127c885856126fd565b6000612a2b8383612b5d565b505060200190565b6000612a3f8383613190565b505060400190565b612a508161365c565b82525050565b612a508161362a565b6000612a6a8261361d565b612a748185613621565b9350612a7f83613617565b8060005b83811015612aad578151612a978882612a1f565b9750612aa283613617565b925050600101612a83565b509495945050505050565b6000612ac38261361d565b612acd8185613621565b9350612ad883613617565b8060005b83811015612aad578151612af08882612a33565b9750612afb83613617565b925050600101612adc565b6000612b118261361d565b612b1b8185613621565b9350612b2683613617565b8060005b83811015612aad578151612b3e8882612a1f565b9750612b4983613617565b925050600101612b2a565b612a5081613635565b612a5081610541565b612a50612b7282610541565b610541565b6000612b828261361d565b612b8c8185613621565b9350612b9c81856020860161366e565b612ba58161369a565b9093019392505050565b6000612bba8261361d565b612bc4818561139c565b9350612bd481856020860161366e565b9290920192915050565b612a5081613663565b6000612bf4601883613621565b7f496e6974696174696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b6000612c2d603583613621565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612c84601b83613621565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612cbd601483613621565b73125b9a5d1a585d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000612ced602083613621565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000612d26602183613621565b7f45786365656473206d617820656e747269657320706572206d6967726174696f8152603760f91b602082015260400192915050565b6000612d6960118361139c565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000612d96601683613621565b75125b9a5d1a585d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000612dc8601183613621565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b6000612df5602383613621565b7f43616e6e6f74206465706f736974206f72206d6967726174652077697468206481526219589d60ea1b602082015260400192915050565b6000612e3a601b83613621565b7f43616e6e6f742073656e6420746f207a65726f20616464726573730000000000815260200192915050565b6000612e73602f83613621565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612ed0601f83613621565b7f4f6e6c79207468652066656520706f6f6c2063616e2063616c6c207468697300815260200192915050565b6000612f09602183613621565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000612f4c602a83613621565b7f53796e7468206e6f7420656e61626c656420666f722063726f7373206368616981526937103a3930b739b332b960b11b602082015260400192915050565b6000612f98601e83613621565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000612fd160198361139c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061300a602483613621565b7f4f6e6c79206120636f756e74657270617274206272696467652063616e20696e815263766f6b6560e01b602082015260400192915050565b6000613050602a83613621565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b600061309c602a83613621565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b60006130e8602883613621565b7f43616e6e6f7420696e6974696174652069662073796e74682072617465206973815267081a5b9d985b1a5960c21b602082015260400192915050565b6000613132601683613621565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000613164601f83613621565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b805160408301906131a184826131bd565b5060208201516121c76020850182612b5d565b612a5081613646565b612a508161364f565b60006131d28285612b66565b6020820191506131e28284612b66565b5060200192915050565b60006131f88286612b66565b6020820191506132088285612b66565b6020820191506132188284612b66565b506020019392505050565b600061246d8284612baf565b600061323a82612d5c565b91506132468284612b66565b50602001919050565b600061323a82612fc4565b602081016122128284612a56565b606081016132768286612a47565b6132836020830185612a56565b6127836040830184612b5d565b6040810161329e8285612a47565b81810360208301526127838184612b06565b604081016132be8284612a47565b61221260208301612eb7565b606081016132d88286612a56565b6132e56020830185612b5d565b81810360408301526132f78184612ab8565b95945050505050565b6040810161330e8285612a56565b61246d6020830184612a56565b606081016132768286612a56565b606081016133378286612a56565b81810360208301526133498185612b77565b905061278360408301846131b4565b604081016133668285612a56565b61246d6020830184612b5d565b6020808252810161220f8184612a5f565b602081016122128284612b54565b602081016122128284612b5d565b6040810161330e8285612b5d565b606081016133bc8286612b5d565b6132836020830185612a47565b606081016132768286612b5d565b604081016133e58285612b5d565b81810360208301526127838184612a5f565b604081016133668285612b5d565b606081016134138286612b5d565b6132836020830185612b5d565b6040810161342e8285612b5d565b81810360208301526127838184612b77565b602081016122128284612bde565b6020808252810161220f8184612b77565b6020808252810161139981612be7565b6020808252810161139981612c20565b6020808252810161139981612c77565b6020808252810161139981612cb0565b6020808252810161139981612ce0565b6020808252810161139981612d19565b6020808252810161139981612d89565b6020808252810161139981612dbb565b6020808252810161139981612de8565b6020808252810161139981612e2d565b6020808252810161139981612e66565b6020808252810161139981612ec3565b6020808252810161139981612efc565b6020808252810161139981612f3f565b6020808252810161139981612f8b565b6020808252810161139981612ffd565b6020808252810161139981613043565b602080825281016113998161308f565b60208082528101611399816130db565b6020808252810161139981613125565b6020808252810161139981613157565b604081016135bd8285612b5d565b81810360208301526127838184612ab8565b60405181810167ffffffffffffffff811182821017156135ee57600080fd5b604052919050565b600067ffffffffffffffff82111561360d57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006113998261363a565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b6000611399825b60006113998261362a565b60005b83811015613689578181015183820152602001613671565b838111156121c75750506000910152565b601f01601f191690565b6136ad8161362a565b811461042957600080fd5b6136ad81613635565b6136ad81610541565b6136ad8161364f56fea365627a7a72315820fae196f19170575bc61868be3406147da6f7959d46ca1778e5c29d8d465bc0456c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "_from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "_to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "DepositInitiated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "snxBackedDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalDebtShares",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "FinalizeSynthTransfer",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "InitiateSynthTransfer",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "InitiationResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "InitiationSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardDepositInitiated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "_to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "WithdrawalFinalized",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "snxBackedAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalDebtShares",
							"type": "uint256"
						}
					],
					"name": "closeFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "depositAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256[][]",
							"name": "entryIDs",
							"type": "uint256[][]"
						}
					],
					"name": "depositAndMigrateEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "depositReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "depositTo",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "finalizeSynthTransfer",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "finalizeWithdrawal",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "token",
							"type": "address"
						}
					],
					"name": "forwardTokensToEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "initiateSynthTransfer",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationActive",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[][]",
							"name": "entryIDs",
							"type": "uint256[][]"
						}
					],
					"name": "migrateEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeInitiation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "suspendInitiation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthTransferReceived",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synthTransferSent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xdff9df88e885c9026ab62c879f5378f213292e70ca6e99106893271b0ca9109a",
				"urls": [
					"bzz-raw://0acdade1553279df2193726bd44b1772b9f12736425ab319e928a5afe8abb836",
					"dweb:/ipfs/QmWmDxjv1LC2znwgQ842PKwowkQytBHdWUoTiKZdBXAnvU"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthetixBridgeToOptimism.sol": "SynthetixBridgeToOptimism"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthetixBridgeToOptimism.sol": {
						"keccak256": "0xdff9df88e885c9026ab62c879f5378f213292e70ca6e99106893271b0ca9109a",
						"urls": [
							"bzz-raw://0acdade1553279df2193726bd44b1772b9f12736425ab319e928a5afe8abb836",
							"dweb:/ipfs/QmWmDxjv1LC2znwgQ842PKwowkQytBHdWUoTiKZdBXAnvU"
						]
					}
				},
				"version": 1
			}
		},
		"ShortingRewards": {
			"bytecode": "60806040526000600855600060095562093a80600a553480156200002257600080fd5b506040516200208b3803806200208b833981016040819052620000459162000164565b82846001600160a01b038116620000795760405162461bcd60e51b815260040162000070906200028c565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000254565b60405180910390a15060016003556000546001600160a01b0316620000ff5760405162461bcd60e51b815260040162000070906200027a565b60058054610100600160a81b0319166101006001600160a01b0393841602179055600780546001600160a01b031990811693831693909317905560028054909216921691909117905550620002e79050565b80516200015e81620002cd565b92915050565b600080600080608085870312156200017b57600080fd5b600062000189878762000151565b94505060206200019c8782880162000151565b9350506040620001af8782880162000151565b9250506060620001c28782880162000151565b91505092959194509250565b620001d981620002b9565b82525050565b620001d981620002a7565b6000620001f96011836200029e565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002286019836200029e565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002648285620001ce565b620002736020830184620001df565b9392505050565b602080825281016200015e81620001ea565b602080825281016200015e8162000219565b90815260200190565b60006001600160a01b0382166200015e565b60006200015e8260006200015e82620002a7565b620002d881620002a7565b8114620002e457600080fd5b50565b611d9480620002f76000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c806379ba50971161010f578063c8f33c91116100a2578063db454a5111610071578063db454a511461038e578063df136d65146103a1578063ebe2b12b146103a9578063f3fef3a3146103b1576101ef565b8063c8f33c9114610363578063cc1a378f1461036b578063cd3daf9d1461037e578063d1af0c7d14610386576101ef565b80638b876347116100de5780638b8763471461032d5780638da5cb5b1461034057806391b4ded914610348578063c00007b014610350576101ef565b806379ba5097146103005780637b0a47ee1461030857806380faa57d14610310578063899ffef414610318576101ef565b80632af64bd31161018757806353a47bb71161015657806353a47bb7146102d55780635c975abb146102dd57806370a08231146102e557806374185360146102f8576101ef565b80632af64bd314610290578063386a9525146102a55780633c6b16ab146102ad5780633fc6df6e146102c0576101ef565b806316c38b3c116101c357806316c38b3c1461025a57806318160ddd1461026d57806319762143146102755780631c1f78eb14610288576101ef565b80628cc262146101f457806304f3bcec1461021d5780630700037d146102325780631627540c14610245575b600080fd5b6102076102023660046113ca565b6103c4565b6040516102149190611b4b565b60405180910390f35b61022561045a565b6040516102149190611b87565b6102076102403660046113ca565b61046e565b6102586102533660046113ca565b610480565b005b610258610268366004611448565b6104de565b610207610553565b6102586102833660046113ca565b61055a565b610207610584565b6102986105a2565b6040516102149190611b3d565b6102076106be565b6102586102bb366004611484565b6106c4565b6102c86108d9565b6040516102149190611ae8565b6102c86108e8565b6102986108f7565b6102076102f33660046113ca565b610900565b61025861091b565b610258610a71565b610207610b0d565b610207610b13565b610320610b21565b6040516102149190611b2c565b61020761033b3660046113ca565b610b72565b6102c8610b84565b610207610b93565b61025861035e3660046113ca565b610b99565b610207610cf4565b610258610379366004611484565b610cfa565b610207610d58565b610225610db2565b61025861039c36600461140e565b610dc1565b610207610f63565b610207610f69565b6102586103bf36600461140e565b610f6f565b6001600160a01b0381166000908152600e6020908152604080832054600d909252822054610454919061044890670de0b6b3a76400009061043c906104179061040b610d58565b9063ffffffff6110be16565b6001600160a01b0388166000908152601060205260409020549063ffffffff6110e616565b9063ffffffff61112716565b9063ffffffff61115c16565b92915050565b60055461010090046001600160a01b031681565b600e6020526000908152604090205481565b610488611181565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906104d3908390611ae8565b60405180910390a150565b6104e6611181565b60055460ff16151581151514156104fc57610550565b6005805460ff1916821515179081905560ff161561051957426004555b6005546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916104d39160ff90911690611b3d565b50565b600f545b90565b610562611181565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600061059d600a546009546110e690919063ffffffff16565b905090565b600060606105ae610b21565b905060005b81518110156106b55760008282815181106105ca57fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a72190610620908590600401611b4b565b60206040518083038186803b15801561063857600080fd5b505afa15801561064c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061067091908101906113f0565b6001600160a01b031614158061069b57506000818152600660205260409020546001600160a01b0316155b156106ac5760009350505050610557565b506001016105b3565b50600191505090565b600a5481565b6002546001600160a01b031633146106f75760405162461bcd60e51b81526004016106ee90611c66565b60405180910390fd5b6000610701610d58565b600c5561070c610b13565b600b556001600160a01b0381161561075357610727816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b600854421061077857600a5461077090839063ffffffff61112716565b6009556107c7565b60085460009061078e904263ffffffff6110be16565b905060006107a7600954836110e690919063ffffffff16565b600a549091506107c19061043c868463ffffffff61115c16565b60095550505b6007546040516370a0823160e01b81526000916001600160a01b0316906370a08231906107f8903090600401611ae8565b60206040518083038186803b15801561081057600080fd5b505afa158015610824573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084891908101906114a2565b905061085f600a548261112790919063ffffffff16565b60095411156108805760405162461bcd60e51b81526004016106ee90611c46565b42600b819055600a54610899919063ffffffff61115c16565b6008556040517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d906108cc908590611b4b565b60405180910390a1505050565b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b031660009081526010602052604090205490565b6060610925610b21565b905060005b8151811015610a6d57600082828151811061094157fe5b602002602001015190506000600560019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016109839190611add565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016109af929190611b67565b60206040518083038186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109ff91908101906113f0565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610a5b9084908490611b59565b60405180910390a1505060010161092a565b5050565b6001546001600160a01b03163314610a9b5760405162461bcd60e51b81526004016106ee90611bb6565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610ade926001600160a01b0391821692911690611af6565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b600061059d426008546111ad565b604080516001808252818301909252606091602080830190803883390190505090506e10dbdb1b185d195c985b14da1bdc9d608a1b81600081518110610b6357fe5b60200260200101818152505090565b600d6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b6000610ba36111c3565b6001600160a01b0316336001600160a01b031614905080610bd65760405162461bcd60e51b81526004016106ee90611ca6565b600380546001019081905582610bea610d58565b600c55610bf5610b13565b600b556001600160a01b03811615610c3c57610c10816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b6001600160a01b0384166000908152600e60205260409020548015610ccc576001600160a01b038086166000908152600e6020526040812055600754610c8a9116868363ffffffff6111e016565b846001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610cc39190611b4b565b60405180910390a25b50506003548114610cef5760405162461bcd60e51b81526004016106ee90611c86565b505050565b600b5481565b610d02611181565b6008544211610d235760405162461bcd60e51b81526004016106ee90611ba6565b600a8190556040517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3906104d3908390611b4b565b6000600f5460001415610d6e5750600c54610557565b61059d610da3600f5461043c670de0b6b3a7640000610d97600954610d97600b5461040b610b13565b9063ffffffff6110e616565b600c549063ffffffff61115c16565b6007546001600160a01b031681565b6000610dcb6111c3565b6001600160a01b0316336001600160a01b031614905080610dfe5760405162461bcd60e51b81526004016106ee90611ca6565b600380546001019081905560055460ff1615610e2c5760405162461bcd60e51b81526004016106ee90611c56565b83610e35610d58565b600c55610e40610b13565b600b556001600160a01b03811615610e8757610e5b816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b60008411610ea75760405162461bcd60e51b81526004016106ee90611bc6565b600f54610eba908563ffffffff61115c16565b600f556001600160a01b038516600090815260106020526040902054610ee6908563ffffffff61115c16565b6001600160a01b038616600081815260106020526040908190209290925590517fc3d87d134210f5b3ee2418004c5f887bf335f79829d32e72ba5f282baccc859190610f33908790611b4b565b60405180910390a2506003548114610f5d5760405162461bcd60e51b81526004016106ee90611c86565b50505050565b600c5481565b60085481565b6000610f796111c3565b6001600160a01b0316336001600160a01b031614905080610fac5760405162461bcd60e51b81526004016106ee90611ca6565b600380546001019081905583610fc0610d58565b600c55610fcb610b13565b600b556001600160a01b0381161561101257610fe6816103c4565b6001600160a01b0382166000908152600e6020908152604080832093909355600c54600d909152919020555b600084116110325760405162461bcd60e51b81526004016106ee90611c26565b600f54611045908563ffffffff6110be16565b600f556001600160a01b038516600090815260106020526040902054611071908563ffffffff6110be16565b6001600160a01b038616600081815260106020526040908190209290925590517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d590610f33908790611b4b565b6000828211156110e05760405162461bcd60e51b81526004016106ee90611bf6565b50900390565b6000826110f557506000610454565b8282028284828161110257fe5b04146111205760405162461bcd60e51b81526004016106ee90611c36565b9392505050565b60008082116111485760405162461bcd60e51b81526004016106ee90611c06565b600082848161115357fe5b04949350505050565b6000828201838110156111205760405162461bcd60e51b81526004016106ee90611bd6565b6000546001600160a01b031633146111ab5760405162461bcd60e51b81526004016106ee90611c16565b565b60008183106111bc5781611120565b5090919050565b600061059d6e10dbdb1b185d195c985b14da1bdc9d608a1b611239565b604051610cef90849063a9059cbb60e01b906112029086908690602401611b11565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915261129d565b60008181526006602090815260408083205490516001600160a01b03909116918215159161126991869101611abd565b604051602081830303815290604052906112965760405162461bcd60e51b81526004016106ee9190611b95565b5092915050565b6112af826001600160a01b0316611382565b6112cb5760405162461bcd60e51b81526004016106ee90611c96565b60006060836001600160a01b0316836040516112e79190611ab1565b6000604051808303816000865af19150503d8060008114611324576040519150601f19603f3d011682016040523d82523d6000602084013e611329565b606091505b50915091508161134b5760405162461bcd60e51b81526004016106ee90611be6565b805115610f5d57808060200190516113669190810190611466565b610f5d5760405162461bcd60e51b81526004016106ee90611c76565b3b151590565b803561045481611d2b565b805161045481611d2b565b803561045481611d3f565b805161045481611d3f565b803561045481611d48565b805161045481611d48565b6000602082840312156113dc57600080fd5b60006113e88484611388565b949350505050565b60006020828403121561140257600080fd5b60006113e88484611393565b6000806040838503121561142157600080fd5b600061142d8585611388565b925050602061143e858286016113b4565b9150509250929050565b60006020828403121561145a57600080fd5b60006113e8848461139e565b60006020828403121561147857600080fd5b60006113e884846113a9565b60006020828403121561149657600080fd5b60006113e884846113b4565b6000602082840312156114b457600080fd5b60006113e884846113bf565b60006114cc8383611545565b505060200190565b6114dd81611cce565b82525050565b60006114ee82611cbc565b6114f88185611cc0565b935061150383611cb6565b8060005b8381101561153157815161151b88826114c0565b975061152683611cb6565b925050600101611507565b509495945050505050565b6114dd81611cd9565b6114dd81610557565b6114dd61155a82610557565b610557565b600061156a82611cbc565b6115748185611cc9565b9350611584818560208601611cf5565b9290920192915050565b6114dd81611cea565b60006115a282611cbc565b6115ac8185611cc0565b93506115bc818560208601611cf5565b6115c581611d21565b9093019392505050565b60006115dc605883611cc0565b7f50726576696f7573207265776172647320706572696f64206d7573742062652081527f636f6d706c657465206265666f7265206368616e67696e67207468652064757260208201527f6174696f6e20666f7220746865206e657720706572696f640000000000000000604082015260600192915050565b6000611661603583611cc0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006116b8600e83611cc0565b6d043616e6e6f74207374616b6520360941b815260200192915050565b60006116e2601b83611cc0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061171b602083611cc0565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b6000611754601e83611cc0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061178d601a83611cc0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006117c6601183611cc9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006117f3602f83611cc0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611844601183611cc0565b70043616e6e6f74207769746864726177203607c1b815260200192915050565b6000611871602183611cc0565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006118b4601883611cc0565b7f50726f76696465642072657761726420746f6f20686967680000000000000000815260200192915050565b60006118ed603c83611cc0565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b600061194c601983611cc9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611985602a83611cc0565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b60006119d1602a83611cc0565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611a1d601f83611cc0565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000611a56601f83611cc0565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b6000611a8f601383611cc0565b7213db9b1e4814da1bdc9d0810dbdb9d1c9858dd606a1b815260200192915050565b6000611120828461155f565b6000611ac8826117b9565b9150611ad4828461154e565b50602001919050565b6000611ac88261193f565b6020810161045482846114d4565b60408101611b0482856114d4565b61112060208301846114d4565b60408101611b1f82856114d4565b6111206020830184611545565b6020808252810161112081846114e3565b60208101610454828461153c565b602081016104548284611545565b60408101611b048285611545565b60408101611b758285611545565b81810360208301526113e88184611597565b60208101610454828461158e565b602080825281016111208184611597565b60208082528101610454816115cf565b6020808252810161045481611654565b60208082528101610454816116ab565b60208082528101610454816116d5565b602080825281016104548161170e565b6020808252810161045481611747565b6020808252810161045481611780565b60208082528101610454816117e6565b6020808252810161045481611837565b6020808252810161045481611864565b60208082528101610454816118a7565b60208082528101610454816118e0565b6020808252810161045481611978565b60208082528101610454816119c4565b6020808252810161045481611a10565b6020808252810161045481611a49565b6020808252810161045481611a82565b60200190565b5190565b90815260200190565b919050565b600061045482611cde565b151590565b6001600160a01b031690565b600061045482611cce565b60005b83811015611d10578181015183820152602001611cf8565b83811115610f5d5750506000910152565b601f01601f191690565b611d3481611cce565b811461055057600080fd5b611d3481611cd9565b611d348161055756fea365627a7a72315820399c602140bd49c6cd78010b6c83eb4a3e0217cf29c2728a13ab7ed21c40e5ed6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsToken",
							"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": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Enrol",
					"type": "event",
					"signature": "0xc3d87d134210f5b3ee2418004c5f887bf335f79829d32e72ba5f282baccc8591"
				},
				{
					"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": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event",
					"signature": "0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event",
					"signature": "0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "RewardsDurationUpdated",
					"type": "event",
					"signature": "0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event",
					"signature": "0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"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": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x008cc262"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "enrol",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdb454a51"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc00007b0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardForDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1c1f78eb"
				},
				{
					"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": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x80faa57d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8f33c91"
				},
				{
					"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": "reward",
							"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": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xebe2b12b"
				},
				{
					"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": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd3daf9d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdf136d65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7b0a47ee"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0700037d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fc6df6e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x386a9525"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd1af0c7d"
				},
				{
					"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": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19762143"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rewardsDuration",
							"type": "uint256"
						}
					],
					"name": "setRewardsDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcc1a378f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b876347"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf3fef3a3"
				}
			],
			"source": {
				"keccak256": "0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae",
				"urls": [
					"bzz-raw://f14dad4667587d2cf51ca21e8ad2dafc6567460da0d548bc4264431d63c46fb3",
					"dweb:/ipfs/QmZw77YrvmFDoosxSwKV8cDCEdgZr1W4Jm1Q9rhfoLkXkk"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ShortingRewards.sol": "ShortingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ShortingRewards.sol": {
						"keccak256": "0xff9b3bd33ceece6255032e9becb94e0ac28d6c7b7e5310f6329a86dc5b380fae",
						"urls": [
							"bzz-raw://f14dad4667587d2cf51ca21e8ad2dafc6567460da0d548bc4264431d63c46fb3",
							"dweb:/ipfs/QmZw77YrvmFDoosxSwKV8cDCEdgZr1W4Jm1Q9rhfoLkXkk"
						]
					}
				},
				"version": 1
			}
		},
		"VirtualSynthMastercopy": {
			"bytecode": "60806040526004805460ff60a01b191690556008805460ff1916905534801561002757600080fd5b506008805460ff19166001179055611371806100446000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80633db3dc9b116100c35780638f7758391161007c5780638f775839146103c657806395d89b41146103ce578063a457c2d7146103d6578063a9059cbb14610402578063dbd06c851461042e578063dd62ed3e1461043657610158565b80633db3dc9b1461031e5780634be37cea146103265780636a256b291461032e57806370a082311461035657806378f2ac261461037c5780638d7017d31461038457610158565b806323b872dd1161011557806323b872dd146102685780632c4e722e1461029e578063313ce567146102a6578063378dc3dc146102c457806339509351146102cc5780633af9e669146102f857610158565b806304f3bcec1461015d57806306fdde0314610181578063095ea7b3146101fe578063115f4fee1461023e578063158ef93e1461024657806318160ddd1461024e575b600080fd5b610165610464565b604080516001600160a01b039092168252519081900360200190f35b610189610473565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101c35781810151838201526020016101ab565b50505050905090810190601f1680156101f05780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b61022a6004803603604081101561021457600080fd5b506001600160a01b0381351690602001356104ad565b604080519115158252519081900360200190f35b6101656104c4565b61022a6104d3565b6102566104dc565b60408051918252519081900360200190f35b61022a6004803603606081101561027e57600080fd5b506001600160a01b038135811691602081013590911690604001356104e2565b610256610539565b6102ae610548565b6040805160ff9092168252519081900360200190f35b61025661054d565b61022a600480360360408110156102e257600080fd5b506001600160a01b038135169060200135610553565b6102566004803603602081101561030e57600080fd5b50356001600160a01b031661058f565b61025661059a565b6102566105a0565b6103546004803603602081101561034457600080fd5b50356001600160a01b03166105aa565b005b6102566004803603602081101561036c57600080fd5b50356001600160a01b031661065e565b61022a610679565b610354600480360360a081101561039a57600080fd5b506001600160a01b03813581169160208101358216916040820135169060608101359060800135610689565b61022a610736565b610189610746565b61022a600480360360408110156103ec57600080fd5b506001600160a01b038135169060200135610772565b61022a6004803603604081101561041857600080fd5b506001600160a01b0381351690602001356107ae565b6102566107bb565b6102566004803603604081101561044c57600080fd5b506001600160a01b03813581169160200135166107c1565b6004546001600160a01b031681565b600754604080516d02b34b93a3ab0b61029bcb73a34160951b6020820152602e8082019390935281518082039093018352604e0190525b90565b60006104ba3384846107ec565b5060015b92915050565b6003546001600160a01b031681565b60085460ff1681565b60025490565b60006104ef8484846108d8565b6001600160a01b03841660009081526001602090815260408083203380855292529091205461052f91869161052a908663ffffffff610a1a16565b6107ec565b5060019392505050565b6000610543610a77565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104ba91859061052a908663ffffffff610c1716565b60006104be82610c78565b60065481565b6000610543610c9e565b6105b2610d38565b6003546001600160a01b031663a9059cbb826105cd81610c78565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561061c57600080fd5b505af1158015610630573d6000803e3d6000fd5b505050506040513d602081101561064657600080fd5b5061065b9050816106568161065e565b610eb8565b50565b6001600160a01b031660009081526020819052604090205490565b6000610683610c9e565b15905090565b60085460ff16156106e1576040805162461bcd60e51b815260206004820152601a60248201527f7653796e746820616c726561647920696e697469616c697a6564000000000000604482015290519081900360640190fd5b6008805460ff19166001179055600380546001600160a01b038088166001600160a01b0319928316179092556004805492871692909116919091179055600781905561072d8383610f91565b50600555505050565b600454600160a01b900460ff1681565b60075460408051603b60f91b602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104ba91859061052a908663ffffffff610a1a16565b60006104ba3384846108d8565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166108315760405162461bcd60e51b81526004018080602001828103825260248152602001806113196024913960400191505060405180910390fd5b6001600160a01b0382166108765760405162461bcd60e51b81526004018080602001828103825260228152602001806112906022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661091d5760405162461bcd60e51b81526004018080602001828103825260258152602001806112f46025913960400191505060405180910390fd5b6001600160a01b0382166109625760405162461bcd60e51b815260040180806020018281038252602381526020018061126d6023913960400191505060405180910390fd5b6001600160a01b03831660009081526020819052604090205461098b908263ffffffff610a1a16565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546109c0908263ffffffff610c1716565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600082821115610a71576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600060055460001415610a8c575060006104aa565b600454600090600160a01b900460ff16610bf857600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610aeb57600080fd5b505afa158015610aff573d6000803e3d6000fd5b505050506040513d6020811015610b1557600080fd5b50519050600080610b24611081565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610b8357600080fd5b505afa158015610b97573d6000803e3d6000fd5b505050506040513d6060811015610bad57600080fd5b50805160209091015190925090508115610bd857610bd1838363ffffffff610a1a16565b9250610bf1565b8015610bf157610bee838263ffffffff610c1716565b92505b5050610bfd565b506006545b600554610c1190829063ffffffff61111016565b91505090565b600082820183811015610c71576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610c848361065e565b9050610c71610c91610a77565b829063ffffffff61112516565b6000610ca8611081565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610d0757600080fd5b505afa158015610d1b573d6000803e3d6000fd5b505050506040513d6020811015610d3157600080fd5b5051905090565b600454600160a01b900460ff1615610d4f57610eb6565b6004805460ff60a01b1916600160a01b179055610d6a611081565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610dcb57600080fd5b505af1158015610ddf573d6000803e3d6000fd5b505050506040513d6060811015610df557600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610e4257600080fd5b505afa158015610e56573d6000803e3d6000fd5b505050506040513d6020811015610e6c57600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610e9a6104dc565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610efd5760405162461bcd60e51b81526004018080602001828103825260218152602001806112d36021913960400191505060405180910390fd5b600254610f10908263ffffffff610a1a16565b6002556001600160a01b038216600090815260208190526040902054610f3c908263ffffffff610a1a16565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b6001600160a01b038216610fec576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b600254610fff908263ffffffff610c1716565b6002556001600160a01b03821660009081526020819052604090205461102b908263ffffffff610c1716565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600480546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b9381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610d0757600080fd5b6000610c718383670de0b6b3a764000061113a565b6000610c718383670de0b6b3a764000061117e565b6000806111608461115487600a870263ffffffff6111a916565b9063ffffffff61120216565b90506005600a825b061061117257600a015b600a9004949350505050565b600080600a8304611195868663ffffffff6111a916565b8161119c57fe5b0490506005600a82611168565b6000826111b8575060006104be565b828202828482816111c557fe5b0414610c715760405162461bcd60e51b81526004018080602001828103825260218152602001806112b26021913960400191505060405180910390fd5b6000808211611258576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161126357fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820afc837addf59581a854535d2c0e6006f3c148d47ef7af8204abb8c3335aecfa764736f6c63430005100032",
			"abi": [
				{
					"inputs": [],
					"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": "uint256",
							"name": "totalSupply",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfterSettled",
							"type": "uint256"
						}
					],
					"name": "Settled",
					"type": "event",
					"signature": "0xf5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62"
				},
				{
					"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": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOfUnderlying",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3af9e669"
				},
				{
					"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": 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": "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": "initialSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x378dc3dc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "_synth",
							"type": "address"
						},
						{
							"internalType": "contract IAddressResolver",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_recipient",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "initialize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8d7017d3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initialized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x158ef93e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c4e722e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "readyToSettle",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x78f2ac26"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "secsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4be37cea"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "settle",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a256b29"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "settled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8f775839"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "settledAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3db3dc9b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "synth",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x115f4fee"
				},
				{
					"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": "0xac5507c03171e54910218c5da4876e475e129a808af8b3050b81b3990ea73089",
				"urls": [
					"bzz-raw://8ae8b19f0c740450bf7e86230287564eef8f19f5f1dbdb3d982d5f93a5361c18",
					"dweb:/ipfs/QmQ2x57ErArvnZmSAjXiEeq7CC8FdLqymndfaY9pTQR2wG"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"VirtualSynthMastercopy.sol": "VirtualSynthMastercopy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"VirtualSynthMastercopy.sol": {
						"keccak256": "0xac5507c03171e54910218c5da4876e475e129a808af8b3050b81b3990ea73089",
						"urls": [
							"bzz-raw://8ae8b19f0c740450bf7e86230287564eef8f19f5f1dbdb3d982d5f93a5361c18",
							"dweb:/ipfs/QmQ2x57ErArvnZmSAjXiEeq7CC8FdLqymndfaY9pTQR2wG"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixBridgeEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516107ab3803806107ab8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506106b1806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80631627540c1461005c57806338e499cd1461008457806353a47bb7146100ba57806379ba5097146100de5780638da5cb5b146100e6575b600080fd5b6100826004803603602081101561007257600080fd5b50356001600160a01b03166100ee565b005b6100826004803603606081101561009a57600080fd5b506001600160a01b0381358116916020810135909116906040013561014a565b6100c26101b7565b604080516001600160a01b039092168252519081900360200190f35b6100826101c6565b6100c2610282565b6100f6610291565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610152610291565b61016c6001600160a01b038416838363ffffffff6102dc16565b604080516001600160a01b038581168252602082018490528251908516927f303c1899feacd9139708637ad42646489d4e1be45f252b25b53561e934d74712928290030190a2505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461020f5760405162461bcd60e51b81526004018080602001828103825260358152602001806105b96035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000546001600160a01b031633146102da5760405162461bcd60e51b815260040180806020018281038252602f8152602001806105ee602f913960400191505060405180910390fd5b565b801580610362575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561033457600080fd5b505afa158015610348573d6000803e3d6000fd5b505050506040513d602081101561035e57600080fd5b5051155b61039d5760405162461bcd60e51b81526004018080602001828103825260368152602001806106476036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790526103ef9084906103f4565b505050565b610406826001600160a01b03166105b2565b610457576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106104955780518252601f199092019160209182019101610476565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146104f7576040519150601f19603f3d011682016040523d82523d6000602084013e6104fc565b606091505b509150915081610553576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b8051156105ac5780806020019051602081101561056f57600080fd5b50516105ac5760405162461bcd60e51b815260040180806020018281038252602a81526020018061061d602a913960400191505060405180910390fd5b50505050565b3b15159056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a265627a7a72315820d751dacdb9bfed2e9a8d57571fee12c0cf6653229d53237d56c0c20b99b42d2c64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "_token",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "BridgeApproval",
					"type": "event",
					"signature": "0x303c1899feacd9139708637ad42646489d4e1be45f252b25b53561e934d74712"
				},
				{
					"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": "_token",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_bridge",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "approveBridge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38e499cd"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0xb2c7f7c807bc4783ed66f959cb3335f1b77727bf4d074e3319992842eca64235",
				"urls": [
					"bzz-raw://1987da1be2d9260ee8a6fae5a1047199d83e8312d26404406c22d9da53b25985",
					"dweb:/ipfs/QmQDY5wJmTdwRq8gkKFHV8vpgffb1Q7nDvEHxKx6nDWXA6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthetixBridgeEscrow.sol": "SynthetixBridgeEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthetixBridgeEscrow.sol": {
						"keccak256": "0xb2c7f7c807bc4783ed66f959cb3335f1b77727bf4d074e3319992842eca64235",
						"urls": [
							"bzz-raw://1987da1be2d9260ee8a6fae5a1047199d83e8312d26404406c22d9da53b25985",
							"dweb:/ipfs/QmQDY5wJmTdwRq8gkKFHV8vpgffb1Q7nDvEHxKx6nDWXA6"
						]
					}
				},
				"version": 1
			}
		},
		"EtherWrapper": {
			"bytecode": "608060405260006006556000600755600060085534801561001f57600080fd5b506040516123403803806123408339818101604052606081101561004257600080fd5b50805160208201516040909201519091908180846001600160a01b0381166100b1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031661015b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b03191693909116929092179091555061219791508190506101a96000396000f3fe6080604052600436106101815760003560e01c80635cfc1a51116100d1578063899ffef41161008a578063a02a76f111610064578063a02a76f1146104a4578063a0712d68146104b9578063bb57ad20146104e3578063ee5f3f5c146104f857610181565b8063899ffef4146104155780638da5cb5b1461047a57806391b4ded91461048f57610181565b80635cfc1a511461038257806368eb5e4f146103975780636ad88269146103ac57806374185360146103d657806375d920a9146103eb57806379ba50971461040057610181565b80632af64bd31161013e578063509bf42a11610118578063509bf42a1461031957806353a47bb71461032e5780635c095e54146103435780635c975abb1461036d57610181565b80632af64bd3146102b15780633fc8cef3146102da57806342966c68146102ef57610181565b806302814b86146101ce57806304f3bcec146101f55780630902f1ac146102265780631627540c1461023b57806316c38b3c1461027057806318819a311461029c575b6040805162461bcd60e51b815260206004820152601d60248201527f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000604482015290519081900360640190fd5b3480156101da57600080fd5b506101e361050d565b60408051918252519081900360200190f35b34801561020157600080fd5b5061020a61051d565b604080516001600160a01b039092168252519081900360200190f35b34801561023257600080fd5b506101e3610531565b34801561024757600080fd5b5061026e6004803603602081101561025e57600080fd5b50356001600160a01b03166105ad565b005b34801561027c57600080fd5b5061026e6004803603602081101561029357600080fd5b50351515610609565b3480156102a857600080fd5b506101e3610683565b3480156102bd57600080fd5b506102c661068d565b604080519115158252519081900360200190f35b3480156102e657600080fd5b5061020a61079d565b3480156102fb57600080fd5b5061026e6004803603602081101561031257600080fd5b50356107ac565b34801561032557600080fd5b506101e3610912565b34801561033a57600080fd5b5061020a61091c565b34801561034f57600080fd5b506101e36004803603602081101561036657600080fd5b503561092b565b34801561037957600080fd5b506102c661094b565b34801561038e57600080fd5b506101e3610954565b3480156103a357600080fd5b506101e3610997565b3480156103b857600080fd5b506101e3600480360360208110156103cf57600080fd5b503561099d565b3480156103e257600080fd5b5061026e6109aa565b3480156103f757600080fd5b506101e3610b87565b34801561040c57600080fd5b5061026e610b8d565b34801561042157600080fd5b5061042a610c49565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046657818101518382015260200161044e565b505050509050019250505060405180910390f35b34801561048657600080fd5b5061020a610d49565b34801561049b57600080fd5b506101e3610d58565b3480156104b057600080fd5b506101e3610d5e565b3480156104c557600080fd5b5061026e600480360360208110156104dc57600080fd5b5035610d64565b3480156104ef57600080fd5b5061026e610f9d565b34801561050457600080fd5b506101e3611395565b600061051761141c565b90505b90565b60035461010090046001600160a01b031681565b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561057c57600080fd5b505afa158015610590573d6000803e3d6000fd5b505050506040513d60208110156105a657600080fd5b5051905090565b6105b5611497565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610611611497565b60035460ff161515811515141561062757610680565b6003805460ff1916821515179081905560ff161561064457426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60006105176114e2565b60006060610699610c49565b905060005b81518110156107945760008282815181106106b557fe5b602090810291909101810151600081815260048084526040918290205460035483516321f8a72160e01b815292830185905292519395506001600160a01b039081169461010090930416926321f8a72192602480840193919291829003018186803b15801561072357600080fd5b505afa158015610737573d6000803e3d6000fd5b505050506040513d602081101561074d57600080fd5b50516001600160a01b031614158061077a57506000818152600460205260409020546001600160a01b0316155b1561078b576000935050505061051a565b5060010161069e565b50600191505090565b6005546001600160a01b031690565b60035460ff16156107ee5760405162461bcd60e51b815260040180806020018281038252603c8152602001806120c9603c913960400191505060405180910390fd5b60006107f8610531565b9050600081116108395760405162461bcd60e51b815260040180806020018281038252603881526020018061212b6038913960400191505060405180910390fd5b60006108d26108c5610849610912565b73__$d4f9e2232a762468832913f371b83514a4$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561088d57600080fd5b505af41580156108a1573d6000803e3d6000fd5b505050506040513d60208110156108b757600080fd5b50519063ffffffff61156816565b849063ffffffff6115c916565b9050818110156108eb576108e681846115de565b61090d565b61090d826109086108fb8561099d565b859063ffffffff61156816565b6115de565b505050565b600061051761199b565b6001546001600160a01b031681565b6000610945610938610683565b839063ffffffff611a2116565b92915050565b60035460ff1681565b60008061095f610531565b905061096961050d565b811061097957600091505061051a565b6109918161098561050d565b9063ffffffff611a3616565b91505090565b60065481565b6000610945610938610912565b60606109b4610c49565b905060005b8151811015610b835760008282815181106109d057fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610a9b578181015183820152602001610a83565b50505050905090810190601f168015610ac85780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610ae657600080fd5b505afa158015610afa573d6000803e3d6000fd5b505050506040513d6020811015610b1057600080fd5b505160008381526004602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109b9565b5050565b60085481565b6001546001600160a01b03163314610bd65760405162461bcd60e51b81526004018080602001828103825260358152602001806120446035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610c54611a93565b60408051600580825260c08201909252919250606091906020820160a080388339019050509050680a6f2dce8d0e68aa8960bb1b81600081518110610c9557fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b81600181518110610cbb57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610ce557fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110610d0857fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110610d2c57fe5b602002602001018181525050610d428282611ae4565b9250505090565b6000546001600160a01b031681565b60025481565b60075481565b60035460ff1615610da65760405162461bcd60e51b815260040180806020018281038252603c8152602001806120c9603c913960400191505060405180910390fd5b60055460408051636eb1769f60e11b815233600482015230602482015290516001600160a01b039092169163dd62ed3e91604480820192602092909190829003018186803b158015610df757600080fd5b505afa158015610e0b573d6000803e3d6000fd5b505050506040513d6020811015610e2157600080fd5b5051811115610e73576040805162461bcd60e51b8152602060048201526019602482015278082d8d8deeec2dcc6ca40dcdee840d0d2ced040cadcdeeaced603b1b604482015290519081900360640190fd5b600554604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610ebe57600080fd5b505afa158015610ed2573d6000803e3d6000fd5b505050506040513d6020811015610ee857600080fd5b5051811115610f33576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b6000610f3d610954565b905060008111610f7e5760405162461bcd60e51b81526004018080602001828103825260268152602001806121056026913960400191505060405180910390fd5b80821015610f9457610f8f82611ba0565b610b83565b610b8381611ba0565b610fa5611dbc565b6001600160a01b0316632528f0fe630e68aa8960e31b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610fef57600080fd5b505afa158015611003573d6000803e3d6000fd5b505050506040513d602081101561101957600080fd5b50511561106d576040805162461bcd60e51b815260206004820152601860248201527f43757272656e6379207261746520697320696e76616c69640000000000000000604482015290519081900360640190fd5b6000611077611dbc565b6001600160a01b031663654a60ac630e68aa8960e31b600854631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156110da57600080fd5b505afa1580156110ee573d6000803e3d6000fd5b505050506040513d602081101561110457600080fd5b50519050611110611dd7565b6001600160a01b0316639dc29fac306008546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561117157600080fd5b505af1158015611185573d6000803e3d6000fd5b50505050600854600654106111ae576008546006546111a99163ffffffff611a3616565b6111b1565b60005b6006556111bc611dee565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561120657600080fd5b505afa15801561121a573d6000803e3d6000fd5b505050506040513d602081101561123057600080fd5b50516001600160a01b031663867904b4611248611e02565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561128057600080fd5b505afa158015611294573d6000803e3d6000fd5b505050506040513d60208110156112aa57600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820185905251604480830192600092919082900301818387803b1580156112f957600080fd5b505af115801561130d573d6000803e3d6000fd5b5050600754611325925090508263ffffffff61156816565b600755611330611e02565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561137557600080fd5b505af1158015611389573d6000803e3d6000fd5b50506000600855505050565b60006105176007546113a5611dbc565b6001600160a01b031663654a60ac630e68aa8960e31b600654631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561140857600080fd5b505afa1580156108a1573d6000803e3d6000fd5b6000611426611e17565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b710cae8d0cae4aee4c2e0e0cae49ac2f08aa8960731b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561057c57600080fd5b6000546001600160a01b031633146114e05760405162461bcd60e51b815260040180806020018281038252602f815260200180612079602f913960400191505060405180910390fd5b565b60006114ec611e17565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724d696e74466565526174650000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561057c57600080fd5b6000828201838110156115c2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006115c28383670de0b6b3a7640000611e34565b60006115f0828463ffffffff611a3616565b90506115fa611dd7565b60408051636eb1769f60e11b815233600482015230602482015290516001600160a01b03929092169163dd62ed3e91604480820192602092909190829003018186803b15801561164957600080fd5b505afa15801561165d573d6000803e3d6000fd5b505050506040513d602081101561167357600080fd5b50518211156116c5576040805162461bcd60e51b8152602060048201526019602482015278082d8d8deeec2dcc6ca40dcdee840d0d2ced040cadcdeeaced603b1b604482015290519081900360640190fd5b6116cd611dd7565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561172257600080fd5b505afa158015611736573d6000803e3d6000fd5b505050506040513d602081101561174c57600080fd5b5051821115611797576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b61179f611dd7565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156117fe57600080fd5b505af1158015611812573d6000803e3d6000fd5b50505050826006541061183757600654611832908463ffffffff611a3616565b61183a565b60005b600655611845611dd7565b6001600160a01b031663867904b430836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156118a457600080fd5b505af11580156118b8573d6000803e3d6000fd5b50506008546118d0925090508263ffffffff61156816565b6008556005546040805163a9059cbb60e01b81523360048201526024810186905290516001600160a01b039092169163a9059cbb916044808201926020929091908290030181600087803b15801561192757600080fd5b505af115801561193b573d6000803e3d6000fd5b505050506040513d602081101561195157600080fd5b50506040805184815260208101839052808201849052905133917f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0919081900360600190a2505050565b60006119a5611e17565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6574686572577261707065724275726e466565526174650000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561057c57600080fd5b60006115c28383670de0b6b3a7640000611e78565b600082821115611a8d576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611ad557fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611b14578160200160208202803883390190505b50905060005b8351811015611b5657838181518110611b2f57fe5b6020026020010151828281518110611b4357fe5b6020908102919091010152600101611b1a565b5060005b8251811015611b9957828181518110611b6f57fe5b6020026020010151828286510181518110611b8657fe5b6020908102919091010152600101611b5a565b5092915050565b6000611bab8261092b565b90506000611bbf838363ffffffff611a3616565b600554604080516323b872dd60e01b81523360048201523060248201526044810187905290519293506001600160a01b03909116916323b872dd916064808201926020929091908290030181600087803b158015611c1c57600080fd5b505af1158015611c30573d6000803e3d6000fd5b505050506040513d6020811015611c4657600080fd5b50611c519050611dd7565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611cb057600080fd5b505af1158015611cc4573d6000803e3d6000fd5b50505050611cd0611dd7565b6001600160a01b031663867904b430846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611d2f57600080fd5b505af1158015611d43573d6000803e3d6000fd5b5050600854611d5b925090508363ffffffff61156816565b600855600654611d71908463ffffffff61156816565b6006556040805182815260208101849052808201859052905133917f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d919919081900360600190a2505050565b60006105176c45786368616e6765526174657360981b611ea3565b6000610517680a6f2dce8d0e68aa8960bb1b611ea3565b60006105176524b9b9bab2b960d11b611ea3565b600061051766119959541bdbdb60ca1b611ea3565b60006105176e466c657869626c6553746f7261676560881b611ea3565b600080611e5a84611e4e87600a870263ffffffff611f8016565b9063ffffffff611fd916565b90506005600a825b0610611e6c57600a015b600a9004949350505050565b600080600a8304611e8f868663ffffffff611f8016565b81611e9657fe5b0490506005600a82611e62565b600081815260046020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611b995760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611f45578181015183820152602001611f2d565b50505050905090810190601f168015611f725780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082611f8f57506000610945565b82820282848281611f9c57fe5b04146115c25760405162461bcd60e51b81526004018080602001828103825260218152602001806120a86021913960400191505060405180910390fd5b600080821161202f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161203a57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564436f6e747261637420686173206e6f20737061726520636170616369747920746f206d696e74436f6e74726163742063616e6e6f74206275726e207345544820666f7220574554482c20574554482062616c616e6365206973207a65726fa265627a7a7231582061cf11c9011e67bb852831a9194451327609f64ea00fb2b3e9807afbbc48b9d864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address payable",
							"name": "_WETH",
							"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": "principal",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountIn",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0"
				},
				{
					"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": "principal",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountIn",
							"type": "uint256"
						}
					],
					"name": "Minted",
					"type": "event",
					"signature": "0x5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d919"
				},
				{
					"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"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amountIn",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x42966c68"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "burnFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x509bf42a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "calculateBurnFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6ad88269"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "calculateMintFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c095e54"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "capacity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_capacity",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5cfc1a51"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "distributeFees",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb57ad20"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feesEscrowed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x75d920a9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getReserves",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0902f1ac"
				},
				{
					"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": "maxETH",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x02814b86"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amountIn",
							"type": "uint256"
						}
					],
					"name": "mint",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa0712d68"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18819a31"
				},
				{
					"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": 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": [],
					"name": "sETHIssued",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x68eb5e4f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "sUSDIssued",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa02a76f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedSynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee5f3f5c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weth",
					"outputs": [
						{
							"internalType": "contract IWETH",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fc8cef3"
				}
			],
			"source": {
				"keccak256": "0xff636098ad63aae110ba03238e110f0b991e74fe2204664f9a17df2b131ab469",
				"urls": [
					"bzz-raw://99af6532a9495790019498b7f3303874c6effd449e8f40a1bce22281882ddf88",
					"dweb:/ipfs/Qmdv1Be94AqU1qvtft6SaryA2B2DhKawXrXxVFTYwPcBez"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EtherWrapper.sol": "EtherWrapper"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EtherWrapper.sol": {
						"keccak256": "0xff636098ad63aae110ba03238e110f0b991e74fe2204664f9a17df2b131ab469",
						"urls": [
							"bzz-raw://99af6532a9495790019498b7f3303874c6effd449e8f40a1bce22281882ddf88",
							"dweb:/ipfs/Qmdv1Be94AqU1qvtft6SaryA2B2DhKawXrXxVFTYwPcBez"
						]
					}
				},
				"version": 1
			}
		},
		"NativeEtherWrapper": {
			"bytecode": "608060405234801561001057600080fd5b506040516110703803806110708339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050610f4c806101246000396000f3fe6080604052600436106100915760003560e01c806353a47bb71161005957806353a47bb714610152578063741853601461016757806379ba50971461017c578063899ffef4146101915780638da5cb5b146101f657610091565b806304f3bcec146100935780631249c58b146100c45780631627540c146100cc5780632af64bd3146100ff57806342966c6814610128575b005b34801561009f57600080fd5b506100a861020b565b604080516001600160a01b039092168252519081900360200190f35b61009161021a565b3480156100d857600080fd5b50610091600480360360208110156100ef57600080fd5b50356001600160a01b031661051c565b34801561010b57600080fd5b50610114610578565b604080519115158252519081900360200190f35b34801561013457600080fd5b506100916004803603602081101561014b57600080fd5b5035610683565b34801561015e57600080fd5b506100a86109c2565b34801561017357600080fd5b506100916109d1565b34801561018857600080fd5b50610091610b99565b34801561019d57600080fd5b506101a6610c55565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101e25781810151838201526020016101ca565b505050509050019250505060405180910390f35b34801561020257600080fd5b506100a8610ccc565b6002546001600160a01b031681565b348061026d576040805162461bcd60e51b815260206004820181905260248201527f6d73672e76616c7565206d7573742062652067726561746572207468616e2030604482015290519081900360640190fd5b610275610cdb565b6001600160a01b031663d0e30db0826040518263ffffffff1660e01b81526004016000604051808303818588803b1580156102af57600080fd5b505af11580156102c3573d6000803e3d6000fd5b50505050506102d0610cdb565b6001600160a01b031663095ea7b36102e6610d4e565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561033657600080fd5b505af115801561034a573d6000803e3d6000fd5b505050506040513d602081101561036057600080fd5b5061036b9050610d4e565b6001600160a01b031663a0712d68826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156103b057600080fd5b505af11580156103c4573d6000803e3d6000fd5b505050506103d0610d6d565b6001600160a01b031663a9059cbb336103e7610d6d565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561043c57600080fd5b505afa158015610450573d6000803e3d6000fd5b505050506040513d602081101561046657600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156104b757600080fd5b505af11580156104cb573d6000803e3d6000fd5b505050506040513d60208110156104e157600080fd5b505060408051828152905133917f30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe919081900360200190a250565b610524610d84565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060610584610c55565b905060005b81518110156106795760008282815181106105a057fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561060857600080fd5b505afa15801561061c573d6000803e3d6000fd5b505050506040513d602081101561063257600080fd5b50516001600160a01b031614158061065f57506000818152600360205260409020546001600160a01b0316155b156106705760009350505050610680565b50600101610589565b5060019150505b90565b600081116106d8576040805162461bcd60e51b815260206004820152601d60248201527f616d6f756e74206d7573742062652067726561746572207468616e2030000000604482015290519081900360640190fd5b60006106e2610cdb565b90506106ec610d6d565b604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b15801561074457600080fd5b505af1158015610758573d6000803e3d6000fd5b505050506040513d602081101561076e57600080fd5b506107799050610d6d565b6001600160a01b031663095ea7b361078f610d4e565b846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107df57600080fd5b505af11580156107f3573d6000803e3d6000fd5b505050506040513d602081101561080957600080fd5b506108149050610d4e565b6001600160a01b03166342966c68836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561085957600080fd5b505af115801561086d573d6000803e3d6000fd5b5050604080516370a0823160e01b815230600482015290516001600160a01b0385169350632e1a7d4d925083916370a08231916024808301926020929190829003018186803b1580156108bf57600080fd5b505afa1580156108d3573d6000803e3d6000fd5b505050506040513d60208110156108e957600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b15801561092957600080fd5b505af115801561093d573d6000803e3d6000fd5b5050604051339250479150600081818185875af1925050503d8060008114610981576040519150601f19603f3d011682016040523d82523d6000602084013e610986565b606091505b50506040805184815290513392507f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df79181900360200190a25050565b6001546001600160a01b031681565b60606109db610c55565b905060005b8151811015610b955760008282815181106109f757fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610aad578181015183820152602001610a95565b50505050905090810190601f168015610ada5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610af857600080fd5b505afa158015610b0c573d6000803e3d6000fd5b505050506040513d6020811015610b2257600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016109e0565b5050565b6001546001600160a01b03163314610be25760405162461bcd60e51b8152600401808060200182810382526035815260200180610eb46035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160028082526060808301845292839291906020830190803883390190505090506b22ba3432b92bb930b83832b960a11b81600081518110610c9657fe5b602002602001018181525050680a6f2dce8d0e68aa8960bb1b81600181518110610cbc57fe5b6020908102919091010152905090565b6000546001600160a01b031681565b6000610ce5610d4e565b6001600160a01b0316633fc8cef36040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1d57600080fd5b505afa158015610d31573d6000803e3d6000fd5b505050506040513d6020811015610d4757600080fd5b5051905090565b6000610d686b22ba3432b92bb930b83832b960a11b610dcf565b905090565b6000610d68680a6f2dce8d0e68aa8960bb1b610dcf565b6000546001600160a01b03163314610dcd5760405162461bcd60e51b815260040180806020018281038252602f815260200180610ee9602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610eac5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610e71578181015183820152602001610e59565b50505050905090810190601f168015610e9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158205440feb76760d81bf7cf1ac0dae8e6f196bbf524ccf55137d94ab5d0b4391e9064736f6c63430005100032",
			"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": "amount",
							"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": "amount",
							"type": "uint256"
						}
					],
					"name": "Minted",
					"type": "event",
					"signature": "0x30385c845b448a36257a6a1716e6ad2e1bc2cbe333cde1e69fe849ad6511adfe"
				},
				{
					"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"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x42966c68"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "mint",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x1249c58b"
				},
				{
					"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"
				}
			],
			"source": {
				"keccak256": "0x0a6a96be15d65a9a904c514508fcf6b832c52675d8331f5427535616586d47c4",
				"urls": [
					"bzz-raw://376aff616db161b66d843a242deff1f9f348ef75f0924e756280cfbe7125acd9",
					"dweb:/ipfs/QmajudgLisMKCn7W3unSQUng75z59H1NhT7fp9TAp73Dtb"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"NativeEtherWrapper.sol": "NativeEtherWrapper"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"NativeEtherWrapper.sol": {
						"keccak256": "0x0a6a96be15d65a9a904c514508fcf6b832c52675d8331f5427535616586d47c4",
						"urls": [
							"bzz-raw://376aff616db161b66d843a242deff1f9f348ef75f0924e756280cfbe7125acd9",
							"dweb:/ipfs/QmajudgLisMKCn7W3unSQUng75z59H1NhT7fp9TAp73Dtb"
						]
					}
				},
				"version": 1
			}
		},
		"SynthRedeemer": {
			"bytecode": "608060405234801561001057600080fd5b506040516110b03803806110b08339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561104b806100656000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806395a2251f1161007157806395a2251f146101a15780639bc3f269146101c7578063b915ece0146101ed578063d6232e8914610219578063e4dc2aa414610289578063f7888aec146102af576100b4565b806304f3bcec146100b95780632af64bd3146100dd5780633a70599c146100f9578063614d08f8146101275780637418536014610141578063899ffef414610149575b600080fd5b6100c16102dd565b604080516001600160a01b039092168252519081900360200190f35b6100e56102ec565b604080519115158252519081900360200190f35b6101256004803603604081101561010f57600080fd5b506001600160a01b0381351690602001356103f6565b005b61012f610685565b60408051918252519081900360200190f35b610125610699565b610151610864565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018d578181015183820152602001610175565b505050509050019250505060405180910390f35b610125600480360360208110156101b757600080fd5b50356001600160a01b03166108d0565b61012f600480360360208110156101dd57600080fd5b50356001600160a01b0316610950565b6101256004803603604081101561020357600080fd5b506001600160a01b038135169060200135610962565b6101256004803603602081101561022f57600080fd5b81019060208101813564010000000081111561024a57600080fd5b82018360208201111561025c57600080fd5b8035906020019184602083028401116401000000008311171561027e57600080fd5b509092509050610a2b565b61012f6004803603602081101561029f57600080fd5b50356001600160a01b0316610aba565b61012f600480360360408110156102c557600080fd5b506001600160a01b0381358116916020013516610b5c565b6000546001600160a01b031681565b600060606102f8610864565b905060005b81518110156103ec57600082828151811061031457fe5b602090810291909101810151600081815260018352604080822054915481516321f8a72160e01b81526004810185905291519395506001600160a01b03928316949216926321f8a72192602480840193919291829003018186803b15801561037b57600080fd5b505afa15801561038f573d6000803e3d6000fd5b505050506040513d60208110156103a557600080fd5b50516001600160a01b03161415806103d257506000818152600160205260409020546001600160a01b0316155b156103e357600093505050506103f3565b506001016102fd565b5060019150505b90565b6103fe610bc0565b6001600160a01b03821660009081526002602052604090205482901561046b576040805162461bcd60e51b815260206004820152601b60248201527f53796e746820697320616c726561647920646570726563617465640000000000604482015290519081900360640190fd5b600082116104c0576040805162461bcd60e51b815260206004820152601b60248201527f4e6f207261746520666f722073796e746820746f2072656465656d0000000000604482015290519081900360640190fd5b6000836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156104fb57600080fd5b505afa15801561050f573d6000803e3d6000fd5b505050506040513d602081101561052557600080fd5b50519050600061053b828563ffffffff610c2f16565b905080610546610c59565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561059b57600080fd5b505afa1580156105af573d6000803e3d6000fd5b505050506040513d60208110156105c557600080fd5b5051101561061a576040805162461bcd60e51b815260206004820152601b60248201527f73555344206d75737420666972737420626520737570706c6965640000000000604482015290519081900360640190fd5b6001600160a01b0380841660009081526002602090815260409182902087905581519288168352820186905281810184905260608201839052517f729d5d4b6f2f5105eb1f707c4929870479e07c211953ef7014da9463fb15d88a9181900360800190a15050505050565b6c29bcb73a342932b232b2b6b2b960991b81565b60606106a3610864565b905060005b81518110156108605760008282815181106106bf57fe5b60209081029190910181015160008054604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818701526039808201869052825180830390910181526059820180845263dacb2d0160e01b9052605d8201868152607d83019384528151609d840152815196985094966001600160a01b039094169563dacb2d0195899592949093909260bd90910191908501908083838c5b83811015610778578181015183820152602001610760565b50505050905090810190601f1680156107a55780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156107c357600080fd5b505afa1580156107d7573d6000803e3d6000fd5b505050506040513d60208110156107ed57600080fd5b505160008381526001602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016106a8565b5050565b60408051600280825260608083018452926020830190803883390190505090506524b9b9bab2b960d11b8160008151811061089b57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816001815181106108c157fe5b60200260200101818152505090565b604080516370a0823160e01b8152336004820152905161094d9183916001600160a01b038316916370a08231916024808301926020929190829003018186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d602081101561094657600080fd5b5051610c75565b50565b60026020526000908152604090205481565b604080516370a0823160e01b8152336004820152905182916001600160a01b038516916370a0823191602480820192602092909190829003018186803b1580156109ab57600080fd5b505afa1580156109bf573d6000803e3d6000fd5b505050506040513d60208110156109d557600080fd5b50511015610a21576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b6108608282610c75565b60005b81811015610ab557610aad838383818110610a4557fe5b905060200201356001600160a01b0316848484818110610a6157fe5b604080516370a0823160e01b81523360048201529051602092830294909401356001600160a01b0316936370a08231935060248083019392829003018186803b15801561091c57600080fd5b600101610a2e565b505050565b6000610b5660026000846001600160a01b03166001600160a01b0316815260200190815260200160002054836001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d6020811015610b4857600080fd5b50519063ffffffff610c2f16565b92915050565b6001600160a01b0380831660008181526002602090815260408083205481516370a0823160e01b8152958716600487015290519294610bb994919391926370a0823192602480840193829003018186803b158015610b1e57600080fd5b9392505050565b610bc8610ea4565b6001600160a01b0316336001600160a01b031614610c2d576040805162461bcd60e51b815260206004820152601d60248201527f5265737472696374656420746f2049737375657220636f6e7472616374000000604482015290519081900360640190fd5b565b6000670de0b6b3a7640000610c4a848463ffffffff610eb816565b81610c5157fe5b049392505050565b6000610c706814de5b9d1a1cd554d160ba1b610f11565b905090565b6001600160a01b03821660009081526002602052604090205480610cd7576040805162461bcd60e51b815260206004820152601460248201527353796e7468206e6f742072656465656d61626c6560601b604482015290519081900360640190fd5b60008211610d2c576040805162461bcd60e51b815260206004820152601d60248201527f4e6f2062616c616e6365206f662073796e746820746f2072656465656d000000604482015290519081900360640190fd5b610d34610ea4565b604080516335a1b01b60e21b81526001600160a01b038681166004830152336024830152604482018690529151929091169163d686c06c9160648082019260009290919082900301818387803b158015610d8d57600080fd5b505af1158015610da1573d6000803e3d6000fd5b505050506000610dba8284610c2f90919063ffffffff16565b9050610dc4610c59565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e2357600080fd5b505af1158015610e37573d6000803e3d6000fd5b505050506040513d6020811015610e4d57600080fd5b5050604080516001600160a01b03861681523360208201528082018590526060810183905290517f8734fd5c7511ef698c61bce7dd8eefb212edea08cf7d9d4694e223c6f6121aef9181900360800190a150505050565b6000610c706524b9b9bab2b960d11b610f11565b600082610ec757506000610b56565b82820282848281610ed457fe5b0414610bb95760405162461bcd60e51b8152600401808060200182810382526021815260200180610ff66021913960400191505060405180910390fd5b600081815260016020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610fee5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fb3578181015183820152602001610f9b565b50505050905090810190601f168015610fe05780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158207084373c27f3352851007e41581f5b04f0c24aaaec5e84f5181357a8fc5134a864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateToRedeem",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalSynthSupply",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "supplyInsUSD",
							"type": "uint256"
						}
					],
					"name": "SynthDeprecated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountInsUSD",
							"type": "uint256"
						}
					],
					"name": "SynthRedeemed",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "balanceInsUSD",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "rateToRedeem",
							"type": "uint256"
						}
					],
					"name": "deprecate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						}
					],
					"name": "redeem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20[]",
							"name": "synthProxies",
							"type": "address[]"
						}
					],
					"name": "redeemAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						}
					],
					"name": "redeemPartial",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "redemptions",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "synthProxy",
							"type": "address"
						}
					],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "supplyInsUSD",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b",
				"urls": [
					"bzz-raw://bf0d27c1716b7e43b2345b15b6cb7218615b0c6aa9e6b8234480b0f4729a65cc",
					"dweb:/ipfs/QmXq4EA3r3JYrWtgXfzjn5DFwapSXmJr6iKutCqgPJenA4"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthRedeemer.sol": "SynthRedeemer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthRedeemer.sol": {
						"keccak256": "0x4d31499235bb64ab5975313a6c9208fad376de17a3d78f8f11e530b6d0f4af0b",
						"urls": [
							"bzz-raw://bf0d27c1716b7e43b2345b15b6cb7218615b0c6aa9e6b8234480b0f4729a65cc",
							"dweb:/ipfs/QmXq4EA3r3JYrWtgXfzjn5DFwapSXmJr6iKutCqgPJenA4"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeRatesWithDexPricing": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620047bc380380620047bc833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61459580620002276000396000f3fe608060405234801561001057600080fd5b50600436106102685760003560e01c8063614d08f8116101515780638da5cb5b116100c3578063c8e5bbd511610087578063c8e5bbd514610563578063ce8480ea14610584578063d89ee86114610597578063ed762450146105aa578063fce132f9146105cb578063fdadbc7e146105de57610268565b80638da5cb5b1461050d5780639eab4a3714610515578063ac82f6081461051d578063b295ad3414610530578063c2c8a6761461055057610268565b806374eded391161011557806374eded39146104b157806379ba5097146104c45780637a018a1e146104cc5780638295016a146104df5780638661cc7b146104f2578063899ffef41461050557610268565b8063614d08f814610459578063654a60ac146104615780636ce66c80146104745780637103353e1461049657806374185360146104a957610268565b80632528f0fe116101ea57806338aa1b99116101ae57806338aa1b99146103e25780633f0e084f146103f55780634308a94f146104085780634c36b837146104295780634f72def61461043e57806353a47bb71461045157610268565b80632528f0fe146103815780632678df961461039457806326bd30fa146103b45780632af64bd3146103c75780632bed9e0c146103cf57610268565b80630a7d36d1116102315780630a7d36d1146103105780630c71cd23146103235780630ee4951b14610344578063109e46a2146103595780631627540c1461036c57610268565b80629919c01461026d578063045056f81461029657806304f3bcec146102b8578063055286e0146102cd57806305a046e5146102f0575b600080fd5b61028061027b3660046135ff565b6105f1565b60405161028d919061419b565b60405180910390f35b6102a96102a43660046135ff565b61060c565b60405161028d93929190614395565b6102c061077f565b60405161028d919061421b565b6102e06102db366004613687565b61078e565b60405161028d94939291906143e5565b6103036102fe36600461352f565b61096b565b60405161028d9190614145565b61028061031e36600461352f565b6109ed565b6103366103313660046135ff565b610b16565b60405161028d92919061437a565b61034c610bb3565b60405161028d91906141a9565b61034c610367366004613749565b610bc3565b61037f61037a3660046134be565b610c06565b005b61028061038f3660046135ff565b610c64565b6103a76103a23660046134be565b610c70565b60405161028d9190614134565b6102e06103c2366004613806565b610d24565b610280610de3565b61037f6103dd3660046135ff565b610efa565b6102806103f03660046135ff565b610fb7565b61037f61040336600461361d565b610fc5565b61041b6104163660046135ff565b6111cc565b60405161028d9291906141c5565b610431611204565b60405161028d9190614081565b61034c61044c3660046135ff565b61120e565b61043161122c565b61034c61123b565b61034c61046f366004613687565b61125f565b6104876104823660046136d4565b611277565b60405161028d939291906143bd565b6102c06104a43660046135ff565b6112dc565b61037f6112f7565b61037f6104bf3660046137aa565b61144d565b61037f611512565b61034c6104da3660046135ff565b6115ae565b6104876104ed366004613687565b6115b9565b6102806105003660046135ff565b6115d9565b6103a761167b565b6104316116f2565b6102c0611701565b61034c61052b3660046135ff565b6117ad565b61054361053e3660046135ff565b6117c8565b60405161028d919061440d565b61030361055e36600461352f565b6117dd565b61057661057136600461352f565b611855565b60405161028d92919061417b565b61034c6105923660046135ff565b6119a5565b6102806105a5366004613571565b6119b0565b6105bd6105b8366004613687565b611af5565b60405161028d929190614156565b6102806105d93660046137c8565b611bd3565b61041b6105ec366004613657565b611cb6565b6000610604826105ff611ccf565b611d79565b90505b919050565b600081815260046020526040812054819081906001600160a01b0316631cd554d160e21b85148061064557506001600160a01b03811615155b61066a5760405162461bcd60e51b8152600401610661906142ca565b60405180910390fd5b610672613083565b61067b86611da4565b9050631cd554d160e21b8614156106a657516001600160d81b03169350600092508291506107789050565b80516001600160d81b031694506106bb611f6e565b815160405163413caeb560e01b81526001600160a01b03929092169163413caeb5916106ec918691906004016140c5565b602060405180830381600087803b15801561070657600080fd5b505af115801561071a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061073e91908101906135e1565b935061075c61074b611ccf565b826020015164ffffffffff16611f8a565b8061077357506107738661076e611fa5565b612006565b925050505b9193909250565b6002546001600160a01b031681565b60008060008061079c61309a565b6107a46120d6565b6001600160a01b031663697b659b338a6040518363ffffffff1660e01b81526004016107d192919061408f565b6101a06040518083038186803b1580156107ea57600080fd5b505afa1580156107fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061082291908101906137e7565b905061082c61309a565b6108346120d6565b6001600160a01b031663697b659b33896040518363ffffffff1660e01b815260040161086192919061408f565b6101a06040518083038186803b15801561087a57600080fd5b505afa15801561088e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108b291908101906137e7565b90506108bc61309a565b6108c46120d6565b6001600160a01b031663697b659b33631cd554d160e21b6040518363ffffffff1660e01b81526004016108f892919061408f565b6101a06040518083038186803b15801561091157600080fd5b505afa158015610925573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061094991908101906137e7565b9050610957838a8484610d24565b965096509650965050505093509350935093565b6060808383905060405190808252806020026020018201604052801561099b578160200160208202803883390190505b50905060005b838110156109e3576109c48585838181106109b857fe5b905060200201356120fc565b8282815181106109d057fe5b60209081029190910101526001016109a1565b5090505b92915050565b6000806109f8611ccf565b90506060610a3885858080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061211892505050565b905060005b84811015610b0a57631cd554d160e21b868683818110610a5957fe5b905060200201351415610a6b57610b02565b610a73613083565b610a8e878784818110610a8257fe5b90506020020135611da4565b9050828281518110610a9c57fe5b602002602001015180610abf5750610abf84826020015164ffffffffff16611f8a565b80610aee5750610aee878784818110610ad457fe5b9050602002013582600001516001600160d81b0316612293565b15610b005760019450505050506109e7565b505b600101610a3d565b50600095945050505050565b600080610b21613083565b610b2a84611da4565b9050631cd554d160e21b841415610b5057516001600160d81b0316915060009050610bae565b8051610b6e610b5d611ccf565b836020015164ffffffffff16611f8a565b80610b805750610b808561076e611fa5565b80610b9d5750610b9d8583600001516001600160d81b0316612293565b6001600160d81b0390911693509150505b915091565b6000610bbd611ccf565b90505b90565b600083815b610bd5878360010161232d565b915050801580610be6575083850181115b15610bf357509050610bfe565b600190910190610bc8565b949350505050565b610c0e6124cf565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610c59908390614081565b60405180910390a150565b600080610bfe83610b16565b600654604080518281526020808402820101909152606091600091908015610ca2578160200160208202803883390190505b50915060005b600654811015610d1d57600060068281548110610cc157fe5b600091825260208083209091015480835260049091526040909120549091506001600160a01b039081169086161415610d145780848480600101955081518110610d0757fe5b6020026020010181815250505b50600101610ca8565b5050919050565b600080600080610d3d88600001518888600001516124fb565b8a519295509093509150600090610d539061254d565b90506000610d64886000015161254d565b90506000808315610d7757859150610d8e565b610d8b86610d868e8c8f61262d565b612841565b91505b8215610d9b575083610db2565b610daf85610daa8b8d8f61262d565b612857565b90505b610dd281610dc68d8563ffffffff61286616565b9063ffffffff6128a016565b975050505050945094509450949050565b60006060610def61167b565b905060005b8151811015610ef1576000828281518110610e0b57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610e5c9085906004016141a9565b60206040518083038186803b158015610e7457600080fd5b505afa158015610e88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610eac91908101906134dc565b6001600160a01b0316141580610ed757506000818152600360205260409020546001600160a01b0316155b15610ee85760009350505050610bc0565b50600101610df4565b50600191505090565b610f026124cf565b6000818152600460205260409020546001600160a01b031680610f375760405162461bcd60e51b81526004016106619061436a565b600082815260046020908152604080832080546001600160a01b031916905560059091528120805460ff19169055610f708360066128d5565b90508015610fb2577fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f7778383604051610fa99291906141b7565b60405180910390a15b505050565b60006106048261076e611fa5565b610fcd6124cf565b60008190506000816001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561100d57600080fd5b505afa158015611021573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611045919081019061385f565b10156110635760405162461bcd60e51b81526004016106619061434a565b6000816001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561109e57600080fd5b505afa1580156110b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110d691908101906138e5565b9050601b8160ff1611156110fc5760405162461bcd60e51b8152600401610661906142ba565b6000848152600460205260409020546001600160a01b031661114e57600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f018490555b600084815260046020908152604080832080546001600160a01b0319166001600160a01b038716179055600590915290819020805460ff191660ff8416179055517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63906111be90869085906141b7565b60405180910390a150505050565b6000806111d7613083565b6111e084611da4565b80516020909101516001600160d81b03909116935064ffffffffff16915050915091565b6000610bbd611fa5565b6006818154811061121b57fe5b600091825260209091200154905081565b6001546001600160a01b031681565b7f45786368616e676552617465735769746844657850726963696e67000000000081565b600061126c8484846124fb565b509095945050505050565b6000806000611286888661232d565b5091508786141561129b5750859150806112d1565b6112a5868561232d565b50905080156112d1576112ce816112c2898563ffffffff61297916565b9063ffffffff61298e16565b92505b955095509592505050565b6004602052600090815260409020546001600160a01b031681565b606061130161167b565b905060005b815181101561144957600082828151811061131d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161135f9190614076565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161138b9291906141fb565b60206040518083038186803b1580156113a357600080fd5b505afa1580156113b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113db91908101906134dc565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061143790849084906141b7565b60405180910390a15050600101611306565b5050565b6114556124cf565b61145d6129a3565b6001600160a01b0316634dca09786c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b846040518463ffffffff1660e01b81526004016114b1939291906141d3565b600060405180830381600087803b1580156114cb57600080fd5b505af11580156114df573d6000803e3d6000fd5b505050507f8a51d16f378c74938a4b9290afe425bbfba62f05aa9d27bff5e892f62696f76081604051610c599190614081565b6001546001600160a01b0316331461153c5760405162461bcd60e51b81526004016106619061425a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261157f926001600160a01b03918216929116906140aa565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610604826129c0565b60008060006115c98686866124fb565b9250925092505b93509350939050565b60006115e361309a565b6115eb6120d6565b6001600160a01b031663697b659b33856040518363ffffffff1660e01b815260040161161892919061408f565b6101a06040518083038186803b15801561163157600080fd5b505afa158015611645573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061166991908101906137e7565b905061167481611bd3565b9392505050565b606080611686612a70565b6040805160018082528183019092529192506060919060208083019080388339019050509050772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b816000815181106116d557fe5b6020026020010181815250506116eb8282612ac0565b9250505090565b6000546001600160a01b031681565b600061170b6129a3565b6001600160a01b0316639ee5955a6c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b6040518363ffffffff1660e01b815260040161175d9291906141c5565b60206040518083038186803b15801561177557600080fd5b505afa158015611789573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bbd91908101906134dc565b60006117b882611da4565b516001600160d81b031692915050565b60056020526000908152604090205460ff1681565b6060808383905060405190808252806020026020018201604052801561180d578160200160208202803883390190505b50905060005b838110156109e35761183685858381811061182a57fe5b905060200201356117ad565b82828151811061184257fe5b6020908102919091010152600101611813565b6060600083839050604051908082528060200260200182016040528015611886578160200160208202803883390190505b5091506000611893611ccf565b905060606118d386868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061211892505050565b905060005b8581101561199b576118e8613083565b6118f7888884818110610a8257fe5b905080600001516001600160d81b031686838151811061191357fe5b602002602001018181525050841580156119465750631cd554d160e21b88888481811061193c57fe5b9050602002013514155b156119925782828151811061195757fe5b60200260200101518061197a575061197a84826020015164ffffffffff16611f8a565b8061198f575061198f888884818110610ad457fe5b94505b506001016118d8565b5050509250929050565b6000610604826120fc565b60008184146119d15760405162461bcd60e51b81526004016106619061435a565b60006119db611ccf565b90506060611a1b87878080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061211892505050565b905060005b86811015611ae757631cd554d160e21b888883818110611a3c57fe5b905060200201351415611a4e57611adf565b600080611a7f8a8a85818110611a6057fe5b90506020020135898986818110611a7357fe5b9050602002013561232d565b91509150838381518110611a8f57fe5b602002602001015180611aa75750611aa78582611f8a565b80611ac95750611ac98a8a85818110611abc57fe5b9050602002013583612293565b15611adc57600195505050505050610bfe565b50505b600101611a20565b506000979650505050505050565b60608083604051908082528060200260200182016040528015611b22578160200160208202803883390190505b50915083604051908082528060200260200182016040528015611b4f578160200160208202803883390190505b50905060008311611b6857611b63856129c0565b611b6a565b825b925060005b84811015611bc957611b81868561232d565b848381518110611b8d57fe5b60200260200101848481518110611ba057fe5b60209081029190910101919091525283611bba5750611bcb565b60001990930192600101611b6f565b505b935093915050565b8051600090631cd554d160e21b1415611bee57506000610607565b60c082015160e0830151811580611c03575080155b15611c1357600092505050610607565b6000611c25428463ffffffff612b7c16565b90506000611c3686600001516129c0565b90505b8215611caa57600080611c5088600001518461232d565b9150915080600014158015611c6457508381105b15611c785760009650505050505050610607565b811580611c83575080155b15611c8f575050611caa565b82611c9b575050611caa565b50506000199283019201611c39565b50600195945050505050565b600080611cc3848461232d565b915091505b9250929050565b6000611cd96129a3565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401611d299291906141c5565b60206040518083038186803b158015611d4157600080fd5b505afa158015611d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bbd919081019061385f565b6000631cd554d160e21b831415611d92575060006109e7565b61167482611d9f856120fc565b611f8a565b611dac613083565b631cd554d160e21b821415611e5c57604051806040016040528073__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e0a57600080fd5b505af4158015611e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e42919081019061385f565b6001600160d81b0316815260006020909101529050610607565b6000828152600460205260409020546001600160a01b03168015611f685760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b17905290516000906060906001600160a01b03851690611ec090859061404a565b600060405180830381855afa9150503d8060008114611efb576040519150601f19603f3d011682016040523d82523d6000602084013e611f00565b606091505b50915091508115611f645760008082806020019051611f22919081019061387d565b509350509250506040518060400160405280611f3e8a85612ba4565b6001600160d81b031681526020018264ffffffffff168152509650505050505050610607565b5050505b50919050565b6000610bbd6d21b4b931bab4ba213932b0b5b2b960911b612c44565b600042611f9d838563ffffffff612ca116565b109392505050565b6000611faf6129a3565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b815260040161175d9291906141c5565b6000631cd554d160e21b83141561201f575060006109e7565b6000838152600460205260409020546001600160a01b031680158061204b57506001600160a01b038316155b1561205a5760009150506109e7565b604051631abf23ff60e11b81526001600160a01b0384169063357e47fe90612086908490600401614081565b60206040518083038186803b15801561209e57600080fd5b505afa1580156120b2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bfe91908101906135e1565b6000610bbd772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b612c44565b600061210782611da4565b6020015164ffffffffff1692915050565b60606000612124611fa5565b90506001600160a01b038116156122605760608351604051908082528060200260200182016040528015612162578160200160208202803883390190505b50905060005b84518110156121d7576004600086838151811061218157fe5b6020026020010151815260200190815260200160002060009054906101000a90046001600160a01b03168282815181106121b757fe5b6001600160a01b0390921660209283029190910190910152600101612168565b50604051631f5c8f2b60e21b81526001600160a01b03831690637d723cac90612204908490600401614123565b60006040518083038186803b15801561221c57600080fd5b505afa158015612230573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261225891908101906134fa565b925050611f68565b825160405190808252806020026020018201604052801561228b578160200160208202803883390190505b509392505050565b600061229d611f6e565b6000848152600460208190526040918290205491516318b844ad60e01b81526001600160a01b03938416936318b844ad936122dd939116918791016140e0565b60206040518083038186803b1580156122f557600080fd5b505afa158015612309573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061167491908101906135e1565b600080631cd554d160e21b8414156123c65773__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561238357600080fd5b505af4158015612397573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123bb919081019061385f565b915060009050611cc8565b6000848152600460205260409020546001600160a01b031680156124c7576060846040516024016123f791906141a9565b60408051601f198184030181529181526020820180516001600160e01b0316639a6fc8f560e01b179052519091506000906060906001600160a01b0385169061244190859061404a565b600060405180830381855afa9150503d806000811461247c576040519150601f19603f3d011682016040523d82523d6000602084013e612481565b606091505b509150915081156124c357600080828060200190516124a3919081019061387d565b509350509250506124b48a83612ba4565b97509550611cc8945050505050565b5050505b509250929050565b6000546001600160a01b031633146124f95760405162461bcd60e51b8152600401610661906142fa565b565b6000806000612509866117ad565b91508386141561251d5750839150806115d0565b612526846117ad565b905080156115d057612542816112c2878563ffffffff61297916565b925093509350939050565b60006125576129a3565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b7f70757265436861696e6c696e6b466f7241746f6d696373456e61626c65640000856040516020016125aa929190614024565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b81526004016125dd9291906141c5565b60206040518083038186803b1580156125f557600080fd5b505afa158015612609573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061060491908101906135e1565b60008161264c5760405162461bcd60e51b8152600401610661906142aa565b8351631cd554d160e21b148061266957508251631cd554d160e21b145b6126855760405162461bcd60e51b81526004016106619061424a565b60408401516001600160a01b0381166126b05760405162461bcd60e51b81526004016106619061423a565b60408401516001600160a01b0381166126db5760405162461bcd60e51b81526004016106619061431a565b600061278185610dc673__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561272857600080fd5b505af415801561273c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612760919081019061385f565b6127758b6020015188888c8f60800151612cc6565b9063ffffffff61286616565b9050806127a05760405162461bcd60e51b81526004016106619061433a565b8551631cd554d160e21b146128345761282f8173__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127f757600080fd5b505af415801561280b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112c2919081019061385f565b612836565b805b979650505050505050565b60008183106128505781611674565b5090919050565b60008183116128505781611674565b600082612875575060006109e7565b8282028284828161288257fe5b04146116745760405162461bcd60e51b81526004016106619061430a565b60008082116128c15760405162461bcd60e51b8152600401610661906142ea565b60008284816128cc57fe5b04949350505050565b6000805b825481101561296f57838382815481106128ef57fe5b906000526020600020015414156129675782818154811061290c57fe5b600091825260208220015582548390600019810190811061292957fe5b906000526020600020015483828154811061294057fe5b600091825260209091200155825461295c846000198301613117565b5060019150506109e7565b6001016128d9565b5060009392505050565b60006116748383670de0b6b3a7640000612fcf565b60006116748383670de0b6b3a764000061300c565b6000610bbd6e466c657869626c6553746f7261676560881b612c44565b6000631cd554d160e21b8214156129d957506000610607565b6000828152600460205260409020546001600160a01b03168015611f6857806001600160a01b031663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3057600080fd5b505afa158015612a44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a68919081019061385f565b915050610607565b606080612a7b613032565b60408051600180825281830190925291925060609190602080830190803883390190505090506d21b4b931bab4ba213932b0b5b2b960911b816000815181106116d557fe5b60608151835101604051908082528060200260200182016040528015612af0578160200160208202803883390190505b50905060005b8351811015612b3257838181518110612b0b57fe5b6020026020010151828281518110612b1f57fe5b6020908102919091010152600101612af6565b5060005b8251811015612b7557828181518110612b4b57fe5b6020026020010151828286510181518110612b6257fe5b6020908102919091010152600101612b36565b5092915050565b600082821115612b9e5760405162461bcd60e51b8152600401610661906142da565b50900390565b600080821215612bc65760405162461bcd60e51b81526004016106619061426a565b60008381526005602052604090205460ff1682811580612be65750816012145b15612bf057610bfe565b6012821015612c19576012829003600a0a612c11828263ffffffff61286616565b915050610bfe565b6012821115610bfe576011198201600a0a612c3a828263ffffffff6128a016565b9695505050505050565b60008181526003602090815260408083205490516001600160a01b039091169182151591612c7491869101614056565b60405160208183030381529060405290612b755760405162461bcd60e51b81526004016106619190614229565b6000828201838110156116745760405162461bcd60e51b81526004016106619061428a565b600080612dcf73__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612d1057600080fd5b505af4158015612d24573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d48919081019061385f565b610dc6886001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612d8457600080fd5b505afa158015612d98573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dbc91908101906138e5565b879060ff16600a0a63ffffffff61286616565b90506001600160a01b038716612df75760405162461bcd60e51b81526004016106619061432a565b82612e145760405162461bcd60e51b81526004016106619061429a565b604051637c66194960e01b81526000906001600160a01b03891690637c66194990612e49908a9086908b908a906004016140ee565b60206040518083038186803b158015612e6157600080fd5b505afa158015612e75573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e99919081019061385f565b905060008111612ebb5760405162461bcd60e51b81526004016106619061427a565b612fc1866001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015612ef757600080fd5b505afa158015612f0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f2f91908101906138e5565b60ff16600a0a610dc673__$e9b11e9f4c77d4fa45acd0743461a141a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612f7c57600080fd5b505af4158015612f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fb4919081019061385f565b849063ffffffff61286616565b925050505b95945050505050565b600080600a8304612fe6868663ffffffff61286616565b81612fed57fe5b0490506005600a825b061061300057600a015b600a9004949350505050565b60008061302684610dc687600a870263ffffffff61286616565b90506005600a82612ff6565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061307457fe5b60200260200101818152505090565b604080518082019091526000808252602082015290565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b815481835581811115610fb257600083815260209020610fb2918101908301610bc091905b80821115613150576000815560010161313c565b5090565b80356109e78161450e565b80516109e78161450e565b600082601f83011261317b57600080fd5b815161318e61318982614442565b61441b565b915081818352602084019350602081019050838560208402820111156131b357600080fd5b60005b838110156131df57816131c9888261322b565b84525060209283019291909101906001016131b6565b5050505092915050565b60008083601f8401126131fb57600080fd5b50813567ffffffffffffffff81111561321357600080fd5b602083019150836020820283011115611cc857600080fd5b80516109e781614525565b80356109e78161452e565b80516109e78161452e565b80356109e781614537565b60006101a0828403121561326a57600080fd5b6132756101a061441b565b905060006132838484613236565b825250602061329484848301613154565b60208301525060406132a884828501613154565b60408301525060606132bc84828501613236565b60608301525060806132d084828501613236565b60808301525060a06132e484828501613236565b60a08301525060c06132f884828501613236565b60c08301525060e061330c84828501613236565b60e08301525061010061332184828501613236565b6101008301525061012061333784828501613236565b6101208301525061014061334d84828501613236565b6101408301525061016061336384828501613236565b6101608301525061018061337984828501613236565b6101808301525092915050565b60006101a0828403121561339957600080fd5b6133a46101a061441b565b905060006133b28484613241565b82525060206133c38484830161315f565b60208301525060406133d78482850161315f565b60408301525060606133eb84828501613241565b60608301525060806133ff84828501613241565b60808301525060a061341384828501613241565b60a08301525060c061342784828501613241565b60c08301525060e061343b84828501613241565b60e08301525061010061345084828501613241565b6101008301525061012061346684828501613241565b6101208301525061014061347c84828501613241565b6101408301525061016061349284828501613241565b6101608301525061018061337984828501613241565b80516109e781614549565b80516109e781614540565b6000602082840312156134d057600080fd5b6000610bfe8484613154565b6000602082840312156134ee57600080fd5b6000610bfe848461315f565b60006020828403121561350c57600080fd5b815167ffffffffffffffff81111561352357600080fd5b610bfe8482850161316a565b6000806020838503121561354257600080fd5b823567ffffffffffffffff81111561355957600080fd5b613565858286016131e9565b92509250509250929050565b6000806000806040858703121561358757600080fd5b843567ffffffffffffffff81111561359e57600080fd5b6135aa878288016131e9565b9450945050602085013567ffffffffffffffff8111156135c957600080fd5b6135d5878288016131e9565b95989497509550505050565b6000602082840312156135f357600080fd5b6000610bfe848461322b565b60006020828403121561361157600080fd5b6000610bfe8484613236565b6000806040838503121561363057600080fd5b600061363c8585613236565b925050602061364d85828601613154565b9150509250929050565b6000806040838503121561366a57600080fd5b60006136768585613236565b925050602061364d85828601613236565b60008060006060848603121561369c57600080fd5b60006136a88686613236565b93505060206136b986828701613236565b92505060406136ca86828701613236565b9150509250925092565b600080600080600060a086880312156136ec57600080fd5b60006136f88888613236565b955050602061370988828901613236565b945050604061371a88828901613236565b935050606061372b88828901613236565b925050608061373c88828901613236565b9150509295509295909350565b6000806000806080858703121561375f57600080fd5b600061376b8787613236565b945050602061377c87828801613236565b935050604061378d87828801613236565b925050606061379e87828801613236565b91505092959194509250565b6000602082840312156137bc57600080fd5b6000610bfe848461324c565b60006101a082840312156137db57600080fd5b6000610bfe8484613257565b60006101a082840312156137fa57600080fd5b6000610bfe8484613386565b600080600080610500858703121561381d57600080fd5b60006138298787613257565b9450506101a061383b87828801613236565b9350506101c061384d87828801613257565b92505061036061379e87828801613257565b60006020828403121561387157600080fd5b6000610bfe8484613241565b600080600080600060a0868803121561389557600080fd5b60006138a188886134a8565b95505060206138b288828901613241565b94505060406138c388828901613241565b93505060606138d488828901613241565b925050608061373c888289016134a8565b6000602082840312156138f757600080fd5b6000610bfe84846134b3565b600061390f8383613932565b505060200190565b600061390f8383613a39565b61392c816144be565b82525050565b61392c81614476565b600061394682614469565b613950818561446d565b935061395b83614463565b8060005b838110156139895781516139738882613903565b975061397e83614463565b92505060010161395f565b509495945050505050565b600061399f82614469565b6139a9818561446d565b93506139b483614463565b8060005b838110156139895781516139cc8882613917565b97506139d783614463565b9250506001016139b8565b60006139ed82614469565b6139f7818561446d565b9350613a0283614463565b8060005b83811015613989578151613a1a8882613917565b9750613a2583614463565b925050600101613a06565b61392c81614481565b61392c81610bc0565b61392c613a4e82610bc0565b610bc0565b6000613a5e82614469565b613a688185610607565b9350613a788185602086016144d4565b9290920192915050565b61392c81614486565b6000613a9682614469565b613aa0818561446d565b9350613ab08185602086016144d4565b613ab981614504565b9093019392505050565b6000613ad0601f8361446d565b7f4e6f2061746f6d6963206571756976616c656e7420666f7220736f7572636500815260200192915050565b6000613b0960218361446d565b7f41746f6d6963207377617073206d75737420676f207468726f756768207355538152601160fa1b602082015260400192915050565b6000613b4c60358361446d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613ba3601b8361446d565b7f4e656761746976652072617465206e6f7420737570706f727465640000000000815260200192915050565b6000613bdc60148361446d565b7306465782070726963652072657475726e656420360641b815260200192915050565b6000613c0c601b8361446d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613c4560208361446d565b7f556e696e697469616c697a65642061746f6d696320747761702077696e646f77815260200192915050565b6000613c7e601d8361446d565b7f416d6f756e74206d7573742062652067726561746572207468616e2030000000815260200192915050565b6000613cb760328361446d565b7f41676772656761746f7220646563696d616c732073686f756c64206265206c6f815271776572206f7220657175616c20746f20323760701b602082015260400192915050565b6000613d0b60178361446d565b7f4e6f2061676772656761746f7220666f72206173736574000000000000000000815260200192915050565b6000613d44601e8361446d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613d7d601a8361446d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000613db6601183610607565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613de3602f8361446d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613e3460218361446d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613e77601d8361446d565b7f4e6f2061746f6d6963206571756976616c656e7420666f722064657374000000815260200192915050565b6000613eb0601b8361446d565b7f6465782061676772656761746f72206164647265737320697320300000000000815260200192915050565b6000613ee9601d8361446d565b7f526573756c74206d7573742062652067726561746572207468616e2030000000815260200192915050565b6000613f22601983610607565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613f5b601b8361446d565b7f476976656e2041676772656761746f7220697320696e76616c69640000000000815260200192915050565b6000613f9460308361446d565b7f726f756e64496473206d757374206265207468652073616d65206c656e67746881526f2061732063757272656e63794b65797360801b602082015260400192915050565b6000613fe6601c8361446d565b7f4e6f2061676772656761746f722065786973747320666f72206b657900000000815260200192915050565b61392c816144c9565b61392c816144a9565b60006140308285613a42565b6020820191506140408284613a42565b5060200192915050565b60006116748284613a53565b600061406182613da9565b915061406d8284613a42565b50602001919050565b600061406182613f15565b602081016109e78284613932565b6040810161409d8285613923565b6116746020830184613a39565b604081016140b88285613932565b6116746020830184613932565b604081016140d38285613932565b6116746020830184614012565b6040810161409d8285613932565b608081016140fc8287613932565b6141096020830186613a39565b6141166040830185613932565b612fc66060830184613a39565b60208082528101611674818461393b565b602080825281016116748184613994565b6020808252810161167481846139e2565b6040808252810161416781856139e2565b90508181036020830152610bfe81846139e2565b6040808252810161418c81856139e2565b90506116746020830184613a30565b602081016109e78284613a30565b602081016109e78284613a39565b604081016140b88285613a39565b6040810161409d8285613a39565b606081016141e18286613a39565b6141ee6020830185613a39565b610bfe6040830184613932565b604081016142098285613a39565b8181036020830152610bfe8184613a8b565b602081016109e78284613a82565b602080825281016116748184613a8b565b6020808252810161060481613ac3565b6020808252810161060481613afc565b6020808252810161060481613b3f565b6020808252810161060481613b96565b6020808252810161060481613bcf565b6020808252810161060481613bff565b6020808252810161060481613c38565b6020808252810161060481613c71565b6020808252810161060481613caa565b6020808252810161060481613cfe565b6020808252810161060481613d37565b6020808252810161060481613d70565b6020808252810161060481613dd6565b6020808252810161060481613e27565b6020808252810161060481613e6a565b6020808252810161060481613ea3565b6020808252810161060481613edc565b6020808252810161060481613f4e565b6020808252810161060481613f87565b6020808252810161060481613fd9565b604081016143888285613a39565b6116746020830184613a30565b606081016143a38286613a39565b6143b06020830185613a30565b610bfe6040830184613a30565b606081016143cb8286613a39565b6143d86020830185613a39565b610bfe6040830184613a39565b608081016143f38287613a39565b6144006020830186613a39565b6141166040830185613a39565b602081016109e7828461401b565b60405181810167ffffffffffffffff8111828210171561443a57600080fd5b604052919050565b600067ffffffffffffffff82111561445957600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061060482614491565b151590565b600061060482614476565b6001600160a01b031690565b6001600160d81b031690565b60ff1690565b69ffffffffffffffffffff1690565b600061060482614486565b60006106048261449d565b60005b838110156144ef5781810151838201526020016144d7565b838111156144fe576000848401525b50505050565b601f01601f191690565b61451781614476565b811461452257600080fd5b50565b61451781614481565b61451781610bc0565b61451781614486565b614517816144a9565b614517816144af56fea365627a7a72315820e33a0e59f93b59e45f9e4d74f961af789c42572a91ade91be72b0b04194912596c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorAdded",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorRemoved",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newDexPriceAggregator",
							"type": "address"
						}
					],
					"name": "DexPriceAggregatorUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "aggregatorAddress",
							"type": "address"
						}
					],
					"name": "addAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "aggregatorKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "aggregators",
					"outputs": [
						{
							"internalType": "contract AggregatorV2V3Interface",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "anyRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "roundIds",
							"type": "uint256[]"
						}
					],
					"name": "anyRateIsInvalidAtRound",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "currenciesUsingAggregator",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencies",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyKeyDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "dexPriceAggregator",
					"outputs": [
						{
							"internalType": "contract IDexPriceAggregator",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveAtomicValueAndRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemValue",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemSourceRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemDestinationRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "sourceSettings",
							"type": "tuple"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "destinationSettings",
							"type": "tuple"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "usdSettings",
							"type": "tuple"
						}
					],
					"name": "effectiveAtomicValueAndRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemValue",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemSourceRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemDestinationRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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": "effectiveValueAndRatesAtRound",
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getCurrentRoundId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastRateUpdateTimes",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "lastRateUpdateTimesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateForCurrency",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFlagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateWithSafetyChecks",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "broken",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "staleOrInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "numRounds",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						}
					],
					"name": "ratesAndUpdatedTimeForCurrencyLastNRounds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IDexPriceAggregator",
							"name": "_dexPriceAggregator",
							"type": "address"
						}
					],
					"name": "setDexPriceAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "synthTooVolatileForAtomicExchange",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "settings",
							"type": "tuple"
						}
					],
					"name": "synthTooVolatileForAtomicExchange",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xc17e8be92d12f37a29b8b90e3a231594faeeed3cdead4b866179bddbab51e0ea",
				"urls": [
					"bzz-raw://64cc6ab769d161923e0cb2ff4647344646ba462530ecfaeeaf7d972980e9394b",
					"dweb:/ipfs/Qmbd2UYu1qXsbCedAAacYTGQpSgzmZd7hC74TYXh5XUS8Z"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeRatesWithDexPricing.sol": "ExchangeRatesWithDexPricing"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeRatesWithDexPricing.sol": {
						"keccak256": "0xc17e8be92d12f37a29b8b90e3a231594faeeed3cdead4b866179bddbab51e0ea",
						"urls": [
							"bzz-raw://64cc6ab769d161923e0cb2ff4647344646ba462530ecfaeeaf7d972980e9394b",
							"dweb:/ipfs/Qmbd2UYu1qXsbCedAAacYTGQpSgzmZd7hC74TYXh5XUS8Z"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangerWithFeeRecAlternatives": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005a5938038062005a59833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61583280620002276000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c8063614d08f8116100f95780638e52049c11610097578063c39def0b11610071578063c39def0b14610379578063d6f32e061461039a578063dc703e73146103ad578063f450aa34146103c0576101c4565b80638e52049c14610353578063a4bca13114610369578063c193f0d814610371576101c4565b80637dd1a57a116100d35780637dd1a57a1461031b578063892571171461032e578063899ffef4146103365780638da5cb5b1461034b576101c4565b8063614d08f814610303578063741853601461030b57806379ba509714610313576101c4565b80632af64bd3116101665780634c268fc8116101405780634c268fc8146102a75780634f8633d2146102ba57806353a47bb7146102db57806357af302c146102f0576101c4565b80632af64bd31461027757806333a768801461028c578063372a395a1461029f576101c4565b80631627540c116101a25780631627540c1461021a57806319d5c6651461022f5780631a5c6095146102515780631b16802c14610264576101c4565b806304f3bcec146101c9578063059c29ec146101e75780630ae81a5e14610207575b600080fd5b6101d16103d3565b6040516101de9190615368565b60405180910390f35b6101fa6101f536600461442e565b6103e2565b6040516101de919061528f565b6101fa61021536600461461e565b610482565b61022d61022836600461432e565b6104bf565b005b61024261023d36600461442e565b61051d565b6040516101de9392919061530e565b6101fa61025f36600461461e565b6105d0565b61024261027236600461442e565b61063c565b61027f61074f565b6040516101de9190615281565b6101fa61029a366004614468565b610867565b6101fa610981565b6101fa6102b5366004614504565b610990565b6102cd6102c836600461436a565b610ac1565b6040516101de92919061566b565b6102e3610ca8565b6040516101de9190615177565b61027f6102fe3660046145e2565b610cb7565b6101fa610d44565b61022d610d68565b61022d610ebe565b6101fa6103293660046145e2565b610f5a565b6101fa611061565b61033e61106b565b6040516101de919061524b565b6102e36110e0565b61035b6110ef565b6040516101de929190615686565b6101fa611111565b61027f61111b565b61038c61038736600461461e565b611125565b6040516101de929190615650565b61027f6103a836600461442e565b611168565b6102426103bb3660046146f7565b611205565b6102426103ce3660046146f7565b61126f565b6002546001600160a01b031681565b60006104796103ef6115ab565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040161041c9291906151ae565b60206040518083038186803b15801561043457600080fd5b505afa158015610448573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061046c9190810190614600565b6104746115c6565b611672565b90505b92915050565b600061048c613f07565b61049633856116bd565b90506104a0613f07565b6104aa33856116bd565b90506104b6828261174b565b95945050505050565b6104c761178a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610512908390615177565b60405180910390a150565b600080600073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__630a0ecd1b6105446117b6565b878761054e6115c6565b6040518563ffffffff1660e01b815260040161056d94939291906155ac565b60006040518083038186803b15801561058557600080fd5b505af4158015610599573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526105c1919081019061477d565b50919790965090945092505050565b60006105da613f07565b6105e433856116bd565b90506105ee613f07565b6105f833856116bd565b9050600080610607848461184f565b9150915080156106325760405162461bcd60e51b81526004016106299061549f565b60405180910390fd5b5095945050505050565b600080600061064961189e565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b8152600401610674919061528f565b60006040518083038186803b15801561068c57600080fd5b505afa1580156106a0573d6000803e3d6000fd5b5050505073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__6377cd29a56106c66117b6565b878760016106d26115c6565b6040518663ffffffff1660e01b81526004016106f2959493929190615567565b60606040518083038186803b15801561070a57600080fd5b505af415801561071e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610742919081019061473a565b9250925092509250925092565b6000606061075b61106b565b905060005b815181101561085d57600082828151811061077757fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906107c890859060040161528f565b60206040518083038186803b1580156107e057600080fd5b505afa1580156107f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610818919081019061434c565b6001600160a01b031614158061084357506000818152600360205260409020546001600160a01b0316155b156108545760009350505050610864565b50600101610760565b5060019150505b90565b6000806108726118b8565b9050336001600160a01b038216148061090857506040516316b2213f60e01b81526000906001600160a01b038316906316b2213f906108b5903390600401615185565b60206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109059190810190614600565b14155b6109245760405162461bcd60e51b81526004016106299061546f565b60006109338a8a8a8a8a6118cf565b9093509050838310156109585760405162461bcd60e51b81526004016106299061545f565b6109628187611f6a565b84156109745761097485888584612001565b5050979650505050505050565b600061098b612072565b905090565b81600061099b6120da565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004016109c6919061528f565b60206040518083038186803b1580156109de57600080fd5b505afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a16919081019061463d565b6001600160a01b03166370a08231876040518263ffffffff1660e01b8152600401610a419190615177565b60206040518083038186803b158015610a5957600080fd5b505afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a919190810190614600565b905080821115610a9f578091505b8215610ab857610ab5828463ffffffff6120ee16565b91505b50949350505050565b6000806000610ace6118b8565b9050336001600160a01b0382161480610b6457506040516316b2213f60e01b81526000906001600160a01b038316906316b2213f90610b11903390600401615185565b60206040518083038186803b158015610b2957600080fd5b505afa158015610b3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b619190810190614600565b14155b610b805760405162461bcd60e51b81526004016106299061546f565b60008c6001600160a01b03168c6001600160a01b031614610c3c57610ba3612113565b6001600160a01b031663faf431bb8e8e6040518363ffffffff1660e01b8152600401610bd0929190615193565b60206040518083038186803b158015610be857600080fd5b505afa158015610bfc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c2091908101906145c4565b610c3c5760405162461bcd60e51b8152600401610629906153df565b610c44613f07565b610c4e8d8d6116bd565b9050610c58613f07565b610c628e8c6116bd565b9050610c728f838e848e8e612132565b9197509095509250610c848389611f6a565b8615610c9657610c96878c8886612001565b50505050995099975050505050505050565b6001546001600160a01b031681565b600080610cc26127b5565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610ced919061528f565b604080518083038186803b158015610d0457600080fd5b505afa158015610d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3c919081019061467a565b949350505050565b7f45786368616e67657257697468466565526563416c7465726e6174697665730081565b6060610d7261106b565b905060005b8151811015610eba576000828281518110610d8e57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610dd0919061516c565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610dfc9291906152ee565b60206040518083038186803b158015610e1457600080fd5b505afa158015610e28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e4c919081019061434c565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ea8908490849061529d565b60405180910390a15050600101610d77565b5050565b6001546001600160a01b03163314610ee85760405162461bcd60e51b8152600401610629906153cf565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610f2b926001600160a01b0391821692911690615193565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610f646127d0565b6001600160a01b031663ba03e93f610f7a6127b5565b6001600160a01b0316637103353e856040518263ffffffff1660e01b8152600401610fa5919061528f565b60206040518083038186803b158015610fbd57600080fd5b505afa158015610fd1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ff5919081019061434c565b6040518263ffffffff1660e01b81526004016110119190615177565b60206040518083038186803b15801561102957600080fd5b505afa15801561103d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061047c9190810190614600565b600061098b6115c6565b6060806110766127ec565b6040805160018082528183019092529192506060919060208083019080388339019050509050755669727475616c53796e74684d6173746572636f707960501b816000815181106110c357fe5b6020026020010181815250506110d982826129dd565b9250505090565b6000546001600160a01b031681565b60045467ffffffffffffffff811690600160401b90046001600160c01b031682565b600061098b612a99565b600061098b612b01565b600080611130613f07565b61113a33866116bd565b9050611144613f07565b61114e33866116bd565b905061115a8282612bb1565b9350935050505b9250929050565b600073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__638317e96b61118c6117b6565b85856111966115c6565b6040518563ffffffff1660e01b81526004016111b594939291906155ac565b60206040518083038186803b1580156111cd57600080fd5b505af41580156111e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061047991908101906145c4565b6000806000611212613f07565b61121c33876116bd565b9050611226613f07565b61123033876116bd565b905061123a613f07565b61124b33631cd554d160e21b6116bd565b905061125989848484612c26565b50939d929c50909a509098505050505050505050565b600080600061127c613f07565b61128633876116bd565b9050611290613f07565b61129a33876116bd565b9050631cd554d160e21b87148061133157506112b46127b5565b6001600160a01b0316632528f0fe886040518263ffffffff1660e01b81526004016112df919061528f565b60206040518083038186803b1580156112f757600080fd5b505afa15801561130b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061132f91908101906145c4565b155b61134d5760405162461bcd60e51b8152600401610629906153af565b631cd554d160e21b8614806113e257506113656127b5565b6001600160a01b0316632528f0fe876040518263ffffffff1660e01b8152600401611390919061528f565b60206040518083038186803b1580156113a857600080fd5b505afa1580156113bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113e091908101906145c4565b155b6113fe5760405162461bcd60e51b8152600401610629906153ff565b61140661189e565b6001600160a01b03166342a28e21886040518263ffffffff1660e01b8152600401611431919061528f565b60006040518083038186803b15801561144957600080fd5b505afa15801561145d573d6000803e3d6000fd5b5050505061146961189e565b6001600160a01b03166342a28e21876040518263ffffffff1660e01b8152600401611494919061528f565b60006040518083038186803b1580156114ac57600080fd5b505afa1580156114c0573d6000803e3d6000fd5b5050505060006114d0838361184f565b909450905080156114f35760405162461bcd60e51b8152600401610629906154bf565b60006114fd6127b5565b6001600160a01b0316638295016a8a8c8b6040518463ffffffff1660e01b815260040161152c9392919061530e565b60606040518083038186803b15801561154457600080fd5b505afa158015611558573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061157c919081019061473a565b5050905061158a8186612cfb565b965061159c818863ffffffff612d8d16565b95505050505093509350939050565b600061098b6c45786368616e6765537461746560981b612db5565b60006115d0612e12565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b81526004016116229291906152ab565b60206040518083038186803b15801561163a57600080fd5b505afa15801561164e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098b9190810190614600565b6000821580611690575061168c838363ffffffff6120ee16565b4210155b1561169d5750600061047c565b610479426116b1858563ffffffff6120ee16565b9063ffffffff612d8d16565b6116c5613f07565b6116cd612e2f565b6001600160a01b031663697b659b84846040518363ffffffff1660e01b81526004016116fa9291906151ae565b6101a06040518083038186803b15801561171357600080fd5b505afa158015611727573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610479919081019061465b565b600080611769836060015185606001516120ee90919063ffffffff16565b905080610479576101008084015190850151610d3c9163ffffffff6120ee16565b6000546001600160a01b031633146117b45760405162461bcd60e51b81526004016106299061548f565b565b6117be613f84565b6040518060c001604052806117d16115ab565b6001600160a01b031681526020016117e76127b5565b6001600160a01b031681526020016117fd6127d0565b6001600160a01b03168152602001611813612e55565b6001600160a01b031681526020016118296120da565b6001600160a01b0316815260200161183f6118b8565b6001600160a01b03169052905090565b60008060006118718461010001518661010001516120ee90919063ffffffff16565b9050600061187f8686612bb1565b93509050611893828263ffffffff6120ee16565b935050509250929050565b600061098b6b53797374656d53746174757360a01b612db5565b600061098b680a6f2dce8d0cae8d2f60bb1b612db5565b6000806000806000806118e0613f07565b6118ea8c8c6116bd565b90506118f4613f07565b6118fe8d8b6116bd565b905061190b8c8b8d612e6c565b611922575060009650869550611f60945050505050565b61192a6127b5565b6001600160a01b031663fce132f9836040518263ffffffff1660e01b8152600401611955919061551f565b60206040518083038186803b15801561196d57600080fd5b505afa158015611981573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119a591908101906145c4565b156119c25760405162461bcd60e51b8152600401610629906154ff565b6119ca6127b5565b6001600160a01b031663fce132f9826040518263ffffffff1660e01b81526004016119f5919061551f565b60206040518083038186803b158015611a0d57600080fd5b505afa158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a4591908101906145c4565b15611a625760405162461bcd60e51b81526004016106299061547f565b611a6d8b8e8e61304e565b955085611a87575060009650869550611f60945050505050565b611a8f613f07565b611aa08e631cd554d160e21b6116bd565b90506000611ab088858585612c26565b949e50929c509099509097509095509050611ac96127d0565b6001600160a01b03166378cb51cb82611ae88d8d63ffffffff6120ee16565b6040518363ffffffff1660e01b8152600401611b059291906152ab565b60206040518083038186803b158015611b1d57600080fd5b505afa158015611b31573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b5591908101906145c4565b15611b725760405162461bcd60e51b81526004016106299061540f565b6000631cd554d160e21b8f1415611b8a575087611bcf565b631cd554d160e21b8d1415611ba0575080611bcf565b600080611baf8b888788612c26565b5050505091509150611bca81836120ee90919063ffffffff16565b925050505b611bd98582613118565b5050505050611bee8a8c868b8a8c60006131b6565b508415611e4b57611bfd6127b5565b6001600160a01b031663654a60ac8987631cd554d160e21b6040518463ffffffff1660e01b8152600401611c339392919061530e565b60206040518083038186803b158015611c4b57600080fd5b505afa158015611c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c839190810190614600565b9450611c8d6120da565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b8152600401611cbf919061528f565b60206040518083038186803b158015611cd757600080fd5b505afa158015611ceb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d0f919081019061463d565b6001600160a01b031663867904b4611d2561347e565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611d5d57600080fd5b505afa158015611d71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d95919081019061434c565b876040518363ffffffff1660e01b8152600401611db39291906151ae565b600060405180830381600087803b158015611dcd57600080fd5b505af1158015611de1573d6000803e3d6000fd5b50505050611ded61347e565b6001600160a01b03166322bf55ef866040518263ffffffff1660e01b8152600401611e18919061528f565b600060405180830381600087803b158015611e3257600080fd5b505af1158015611e46573d6000803e3d6000fd5b505050505b611e7d60405180604001604052808c81526020018a815250604051806040016040528085815260200184815250613493565b611e856118b8565b6001600160a01b0316636c00f3108c8c878c8b8d6040518763ffffffff1660e01b8152600401611eba969594939291906151f1565b600060405180830381600087803b158015611ed457600080fd5b505af1158015611ee8573d6000803e3d6000fd5b50505050611ef46118b8565b6001600160a01b0316632f7206ce8c8c878c8b8d6040518763ffffffff1660e01b8152600401611f29969594939291906151f1565b600060405180830381600087803b158015611f4357600080fd5b505af1158015611f57573d6000803e3d6000fd5b50505050505050505b9550959350505050565b600082118015611f8257506001600160a01b03811615155b8015611f915750611f91612b01565b15610eba57611f9e6136d9565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b8152600401611fcb92919061529d565b600060405180830381600087803b158015611fe557600080fd5b505af1158015611ff9573d6000803e3d6000fd5b505050505050565b6120096118b8565b6001600160a01b0316632d3169eb858585856040518563ffffffff1660e01b815260040161203a94939291906152b9565b600060405180830381600087803b15801561205457600080fd5b505af1158015612068573d6000803e3d6000fd5b5050505050505050565b600061207c612e12565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b81526004016116229291906152ab565b600061098b6524b9b9bab2b960d11b612db5565b6000828201838110156104795760405162461bcd60e51b8152600401610629906153ef565b600061098b7044656c6567617465417070726f76616c7360781b612db5565b600080600061214a8860000151876000015189612e6c565b61215c575060009150819050806127a9565b612164613fb9565b61216c613f84565b6121746117b6565b60208101518b51604051633d00c50f60e11b81529293506001600160a01b0390911691637a018a1e916121a99160040161528f565b60206040518083038186803b1580156121c157600080fd5b505afa1580156121d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121f99190810190614600565b60a083015260208101518851604051633d00c50f60e11b81526001600160a01b0390921691637a018a1e916122309160040161528f565b60206040518083038186803b15801561224857600080fd5b505afa15801561225c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122809190810190614600565b60c08301528951612294908a908d9061304e565b60e083018190526122b15750600093508392508291506127a99050565b60208101518a5160e08401518a5160a086015160c087015160405162d9ccd960e71b81526001600160a01b0390961695636ce66c80956122fb95909490939092909160040161531c565b60606040518083038186803b15801561231357600080fd5b505afa158015612327573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061234b919081019061473a565b6020850152835260408301528951885160a084015160c0850151612371939291906136f5565b60006123878b8a8560a001518660c00151613861565b6060850191909152905080156123aa5750600094508493508392506127a9915050565b6123bc83604001518460600151612cfb565b60408401519096506123d4908763ffffffff612d8d16565b94506123f18b600001518d8560e001518c600001518a8d8d6131b6565b93506001600160a01b03841615612406578397505b84156126615760208201518951604051631952982b60e21b81526001600160a01b039092169163654a60ac91612449918990631cd554d160e21b9060040161530e565b60206040518083038186803b15801561246157600080fd5b505afa158015612475573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124999190810190614600565b94506124a36120da565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004016124d5919061528f565b60206040518083038186803b1580156124ed57600080fd5b505afa158015612501573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612525919081019061463d565b6001600160a01b031663867904b461253b61347e565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561257357600080fd5b505afa158015612587573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125ab919081019061434c565b876040518363ffffffff1660e01b81526004016125c99291906151ae565b600060405180830381600087803b1580156125e357600080fd5b505af11580156125f7573d6000803e3d6000fd5b5050505061260361347e565b6001600160a01b03166322bf55ef866040518263ffffffff1660e01b815260040161262e919061528f565b600060405180830381600087803b15801561264857600080fd5b505af115801561265c573d6000803e3d6000fd5b505050505b6040805180820182528c5181528a51602080830191909152825180840190935285518352858101519083015261269691613493565b61269e6118b8565b6001600160a01b0316636c00f3108d8d600001518660e001518d600001518b8e6040518763ffffffff1660e01b81526004016126df969594939291906151f1565b600060405180830381600087803b1580156126f957600080fd5b505af115801561270d573d6000803e3d6000fd5b50505050600061271b6115c6565b11156127a55773__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__632f2de902838a8e600001518760e001518e600001518c8a606001516040518863ffffffff1660e01b815260040161277497969594939291906155e3565b60006040518083038186803b15801561278c57600080fd5b505af41580156127a0573d6000803e3d6000fd5b505050505b5050505b96509650969350505050565b600061098b6c45786368616e6765526174657360981b612db5565b600061098b6d21b4b931bab4ba213932b0b5b2b960911b612db5565b6060806127f76138b4565b60408051600b80825261018082019092529192506060919060208201610160803883390190505090506b53797374656d53746174757360a01b8160008151811061283d57fe5b6020026020010181815250506c45786368616e6765537461746560981b8160018151811061286757fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061289157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816003815181106128b757fe5b60200260200101818152505066119959541bdbdb60ca1b816004815181106128db57fe5b6020026020010181815250506d54726164696e675265776172647360901b8160058151811061290657fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b8160068151811061293457fe5b6020026020010181815250506524b9b9bab2b960d11b8160078151811061295757fe5b6020026020010181815250506844656274436163686560b81b8160088151811061297d57fe5b6020026020010181815250506d21b4b931bab4ba213932b0b5b2b960911b816009815181106129a857fe5b602002602001018181525050772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b81600a815181106110c357fe5b60608151835101604051908082528060200260200182016040528015612a0d578160200160208202803883390190505b50905060005b8351811015612a4f57838181518110612a2857fe5b6020026020010151828281518110612a3c57fe5b6020908102919091010152600101612a13565b5060005b8251811015612a9257828181518110612a6857fe5b6020026020010151828286510181518110612a7f57fe5b6020908102919091010152600101612a53565b5092915050565b6000612aa3612e12565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d69634d6178566f6c756d65506572426c6f636b0000000000000000006040518363ffffffff1660e01b81526004016116229291906152ab565b6000612b0b612e12565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401612b619291906152ab565b60206040518083038186803b158015612b7957600080fd5b505afa158015612b8d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061098b91908101906145c4565b600080600080612bc085613905565b91509150600080612bd088613905565b9092509050612be5848363ffffffff6120ee16565b610120890151909650861180612bfb5786612c02565b8861012001515b9650868180612c0e5750845b80612c165750825b9650965050505050509250929050565b6000806000806000806000612c396127b5565b6001600160a01b03166326bd30fa8b8d8c8c6040518563ffffffff1660e01b8152600401612c6a949392919061552e565b60806040518083038186803b158015612c8257600080fd5b505afa158015612c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612cba91908101906147ea565b919650945092509050612ccd8a8a61174b565b9450612cd98186612cfb565b9650612ceb818863ffffffff612d8d16565b9550509499939850945094509450565b6000610479612d808373__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612d4857600080fd5b505af4158015612d5c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116b19190810190614600565b849063ffffffff6139d616565b600082821115612daf5760405162461bcd60e51b81526004016106299061542f565b50900390565b60008181526003602090815260408083205490516001600160a01b039091169182151591612de59186910161514c565b60405160208183030381529060405290612a925760405162461bcd60e51b8152600401610629919061539e565b600061098b6e466c657869626c6553746f7261676560881b612db5565b600061098b772234b932b1ba24b73a32b3b930ba34b7b726b0b730b3b2b960411b612db5565b600061098b6844656274436163686560b81b612db5565b600082841415612e8e5760405162461bcd60e51b8152600401610629906153bf565b60008211612eae5760405162461bcd60e51b81526004016106299061541f565b600080631cd554d160e21b861415612ec95760008080612f4e565b612ed16127b5565b6001600160a01b031663045056f8876040518263ffffffff1660e01b8152600401612efc919061528f565b606060405180830381600087803b158015612f1657600080fd5b505af1158015612f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f4e91908101906146aa565b9250925050600080631cd554d160e21b871415612f6e5760008080612ff3565b612f766127b5565b6001600160a01b031663045056f8886040518263ffffffff1660e01b8152600401612fa1919061528f565b606060405180830381600087803b158015612fbb57600080fd5b505af1158015612fcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ff391908101906146aa565b925092505082156130165760405162461bcd60e51b8152600401610629906154df565b80156130345760405162461bcd60e51b81526004016106299061544f565b83158015613040575081155b9450505050505b9392505050565b600080600073__$86f2d1a3963f1f43ffdf10b9905a8e53c1$__6377cd29a56130756117b6565b878760006130816115c6565b6040518663ffffffff1660e01b81526004016130a1959493929190615567565b60606040518083038186803b1580156130b957600080fd5b505af41580156130cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130f1919081019061473a565b889550909350915050801561310f5761310c85858885610990565b92505b50509392505050565b60045460009067ffffffffffffffff1642146131345781613151565b60045461315190600160401b90046001600160c01b0316836120ee565b90508260a001518111156131775760405162461bcd60e51b81526004016106299061550f565b600480546001600160c01b03909216600160401b0267ffffffffffffffff42811667ffffffffffffffff19909416939093179092169190911790555050565b60006131c06120da565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004016131eb919061528f565b60206040518083038186803b15801561320357600080fd5b505afa158015613217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061323b919081019061463d565b6001600160a01b0316639dc29fac88886040518363ffffffff1660e01b81526004016132689291906151ae565b600060405180830381600087803b15801561328257600080fd5b505af1158015613296573d6000803e3d6000fd5b5050505060006132a46120da565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004016132cf919061528f565b60206040518083038186803b1580156132e757600080fd5b505afa1580156132fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061331f919081019061463d565b905082156134115760008190506133a8816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b15801561336857600080fd5b505afa15801561337c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133a0919081019061463d565b86888a613a00565b60405163219e412d60e21b81529093506001600160a01b0383169063867904b4906133d99086908a906004016151ae565b600060405180830381600087803b1580156133f357600080fd5b505af1158015613407573d6000803e3d6000fd5b5050505050613472565b60405163219e412d60e21b81526001600160a01b0382169063867904b49061343f90879089906004016151ae565b600060405180830381600087803b15801561345957600080fd5b505af115801561346d573d6000803e3d6000fd5b505050505b50979650505050505050565b600061098b66119959541bdbdb60ca1b612db5565b8151600090631cd554d160e21b14806134b657506020830151631cd554d160e21b145b90506000816134c65760036134c9565b60025b60ff1690506060816040519080825280602002602001820160405280156134fa578160200160208202803883390190505b50905084600060200201518160008151811061351257fe5b602090810291909101015284600160200201518160018151811061353257fe5b60200260200101818152505060608260405190808252806020026020018201604052801561356a578160200160208202803883390190505b50905084600060200201518160008151811061358257fe5b60209081029190910101528460016020020151816001815181106135a257fe5b6020026020010181815250508361366a57631cd554d160e21b826002815181106135c857fe5b60200260200101818152505073__$6cb7b9807fd48ae83b08c44b530df1d1ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561361857600080fd5b505af415801561362c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136509190810190614600565b8160028151811061365d57fe5b6020026020010181815250505b613672612e55565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b815260040161369f92919061525c565b600060405180830381600087803b1580156136b957600080fd5b505af11580156136cd573d6000803e3d6000fd5b50505050505050505050565b600061098b6d54726164696e675265776172647360901b612db5565b828414156137155760405162461bcd60e51b8152600401610629906153bf565b6040805160028082526060808301845292602083019080388339019050509050848160008151811061374357fe5b602002602001018181525050838160018151811061375d57fe5b60209081029190910101526040805160028082526060828101909352816020016020820280388339019050509050838160008151811061379957fe5b60200260200101818152505082816001815181106137b357fe5b6020026020010181815250506137c76127b5565b6001600160a01b031663d89ee86183836040518363ffffffff1660e01b81526004016137f492919061525c565b60206040518083038186803b15801561380c57600080fd5b505afa158015613820573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061384491908101906145c4565b15611ff95760405162461bcd60e51b8152600401610629906154ef565b60008060006138838661010001518861010001516120ee90919063ffffffff16565b9050600061389388888888613b43565b935090506138a7828263ffffffff6120ee16565b9350505094509492505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106138f657fe5b60200260200101818152505090565b600080631cd554d160e21b836000015114806139275750600183610140015111155b15613937575060009050806139d1565b60006139416127b5565b8451604051633d00c50f60e11b81526001600160a01b039290921691637a018a1e9161396f9160040161528f565b60206040518083038186803b15801561398757600080fd5b505afa15801561399b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139bf9190810190614600565b90506139cb8482613bbc565b92509250505b915091565b6000670de0b6b3a76400006139f1848463ffffffff613cc616565b816139f857fe5b049392505050565b6000606960f81b6001600160f81b031983831a60f81b161415613a355760405162461bcd60e51b8152600401610629906154cf565b6000613a7d613a42613d00565b6040518060400160405280601b81526020017f436f756c64206e6f7420637265617465206e6577207653796e74680000000000815250613d24565b600254604051638d7017d360e01b81529192506001600160a01b0380841692638d7017d392613ab9928b929116908a908a908a90600401615376565b600060405180830381600087803b158015613ad357600080fd5b505af1158015613ae7573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f838688604051613b32939291906151c9565b60405180910390a395945050505050565b600080600080613b538786613bbc565b91509150600080613b648a89613bbc565b9092509050613b79848363ffffffff6120ee16565b6101208b0151909650861180613b8f5786613b96565b8a61012001515b9650868180613ba25750845b80613baa5750825b96509650505050505094509492505050565b600080631cd554d160e21b84600001511480613bde5750600184610140015111155b15613bee57506000905080611161565b6060613bf86127b5565b8551610140870151604051630ed7624560e41b81526001600160a01b03939093169263ed76245092613c30929091899060040161530e565b60006040518083038186803b158015613c4857600080fd5b505afa158015613c5c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613c849190810190614565565b5080915050613c9e81866101600151876101800151613d6e565b610120860151909350831180613cb45783613cbb565b8561012001515b969095509350505050565b600082613cd55750600061047c565b82820282848281613ce257fe5b04146104795760405162461bcd60e51b8152600401610629906154af565b600061098b755669727475616c53796e74684d6173746572636f707960501b612db5565b60006060613d3184613df8565b90506037602082016000f09150826001600160a01b038316613d665760405162461bcd60e51b8152600401610629919061539e565b505092915050565b6000835160001415613d8257506000613047565b8351600090600019015b8015610ab857613da2828563ffffffff6139d616565b91506000613dda876001840381518110613db857fe5b6020026020010151888481518110613dcc57fe5b602002602001015188613e54565b9050613dec838263ffffffff6120ee16565b92505060001901613d8c565b604051606090613e3e90693d602d80600a3d3981f360b01b9069363d3d373d3d3d363d7360b01b9085906e5af43d82803e903d91602b57fd5bf360881b90602001615104565b6040516020818303038152906040529050919050565b600082613e6357506000613047565b6000838511613e7457848403613e78565b8385035b90506000613e8c828663ffffffff613ea816565b9050838111613e9c57600061310c565b92909203949350505050565b600061047982613ec685670de0b6b3a764000063ffffffff613cc616565b9063ffffffff613ed216565b6000808211613ef35760405162461bcd60e51b81526004016106299061543f565b6000828481613efe57fe5b04949350505050565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a081019190915290565b60405180610100016040528060008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561047c816157bd565b805161047c816157bd565b600082601f83011261402557600080fd5b8151614038614033826156c8565b6156a1565b915081818352602084019350602081019050838561010084028201111561405e57600080fd5b60005b8381101561408d5781614074888261413e565b8452506020909201916101009190910190600101614061565b5050505092915050565b600082601f8301126140a857600080fd5b81516140b6614033826156c8565b915081818352602084019350602081019050838560208402820111156140db57600080fd5b60005b8381101561408d57816140f18882614128565b84525060209283019291909101906001016140de565b803561047c816157d4565b805161047c816157d4565b803561047c816157dd565b805161047c816157dd565b805161047c816157e6565b6000610100828403121561415157600080fd5b61415c6101006156a1565b9050600061416a8484614128565b825250602061417b84848301614128565b602083015250604061418f84828501614128565b60408301525060606141a384828501614128565b60608301525060806141b784828501614128565b60808301525060a06141cb84828501614128565b60a08301525060c06141df84828501614128565b60c08301525060e06141f384828501614128565b60e08301525092915050565b60006101a0828403121561421257600080fd5b61421d6101a06156a1565b9050600061422b8484614128565b825250602061423c84848301614009565b602083015250604061425084828501614009565b604083015250606061426484828501614128565b606083015250608061427884828501614128565b60808301525060a061428c84828501614128565b60a08301525060c06142a084828501614128565b60c08301525060e06142b484828501614128565b60e0830152506101006142c984828501614128565b610100830152506101206142df84828501614128565b610120830152506101406142f584828501614128565b6101408301525061016061430b84828501614128565b6101608301525061018061432184828501614128565b6101808301525092915050565b60006020828403121561434057600080fd5b6000610d3c8484613ffe565b60006020828403121561435e57600080fd5b6000610d3c8484614009565b60008060008060008060008060006101208a8c03121561438957600080fd5b60006143958c8c613ffe565b99505060206143a68c828d01613ffe565b98505060406143b78c828d0161411d565b97505060606143c88c828d0161411d565b96505060806143d98c828d0161411d565b95505060a06143ea8c828d01613ffe565b94505060c06143fb8c828d01614107565b93505060e061440c8c828d01613ffe565b92505061010061441e8c828d0161411d565b9150509295985092959850929598565b6000806040838503121561444157600080fd5b600061444d8585613ffe565b925050602061445e8582860161411d565b9150509250929050565b600080600080600080600060e0888a03121561448357600080fd5b600061448f8a8a613ffe565b97505060206144a08a828b0161411d565b96505060406144b18a828b0161411d565b95505060606144c28a828b0161411d565b94505060806144d38a828b01613ffe565b93505060a06144e48a828b0161411d565b92505060c06144f58a828b0161411d565b91505092959891949750929550565b6000806000806080858703121561451a57600080fd5b60006145268787613ffe565b94505060206145378782880161411d565b93505060406145488782880161411d565b92505060606145598782880161411d565b91505092959194509250565b6000806040838503121561457857600080fd5b825167ffffffffffffffff81111561458f57600080fd5b61459b85828601614097565b925050602083015167ffffffffffffffff8111156145b857600080fd5b61445e85828601614097565b6000602082840312156145d657600080fd5b6000610d3c8484614112565b6000602082840312156145f457600080fd5b6000610d3c848461411d565b60006020828403121561461257600080fd5b6000610d3c8484614128565b6000806040838503121561463157600080fd5b600061444d858561411d565b60006020828403121561464f57600080fd5b6000610d3c8484614133565b60006101a0828403121561466e57600080fd5b6000610d3c84846141ff565b6000806040838503121561468d57600080fd5b60006146998585614128565b925050602061445e85828601614112565b6000806000606084860312156146bf57600080fd5b60006146cb8686614128565b93505060206146dc86828701614112565b92505060406146ed86828701614112565b9150509250925092565b60008060006060848603121561470c57600080fd5b6000614718868661411d565b93505060206147298682870161411d565b92505060406146ed8682870161411d565b60008060006060848603121561474f57600080fd5b600061475b8686614128565b935050602061476c86828701614128565b92505060406146ed86828701614128565b6000806000806080858703121561479357600080fd5b600061479f8787614128565b94505060206147b087828801614128565b93505060406147c187828801614128565b925050606085015167ffffffffffffffff8111156147de57600080fd5b61455987828801614014565b6000806000806080858703121561480057600080fd5b600061480c8787614128565b945050602061481d87828801614128565b935050604061482e87828801614128565b925050606061455987828801614128565b600061484b8383614949565b505060200190565b61485c81615765565b82525050565b61485c81615701565b61485c61487782615701565b61579c565b6000614887826156ef565b61489181856156f3565b935061489c836156e9565b8060005b838110156148ca5781516148b4888261483f565b97506148bf836156e9565b9250506001016148a0565b509495945050505050565b60006148e0826156ef565b6148ea81856156f3565b93506148f5836156e9565b8060005b838110156148ca57815161490d888261483f565b9750614918836156e9565b9250506001016148f9565b61485c8161570c565b61485c61493882615711565b610864565b61485c6149388261571e565b61485c81610864565b61485c61493882610864565b61485c81615735565b6000614972826156ef565b61497c81856156f3565b935061498c818560208601615770565b614995816157ad565b9093019392505050565b60006149ac6016836156f3565b751cdc98c81cde5b9d1a081c985d19481a5b9d985b1a5960521b815260200192915050565b60006149de6013836156f3565b72086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b815260200192915050565b6000614a0d6035836156f3565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000614a64601d836156f3565b7f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000815260200192915050565b6000614a9d601b836156f3565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614ad66017836156f3565b7f646573742073796e7468207261746520696e76616c6964000000000000000000815260200192915050565b6000614b0f601d836156f3565b7f41746f6d6963207261746520646576696174657320746f6f206d756368000000815260200192915050565b6000614b48600b836156f3565b6a16995c9bc8185b5bdd5b9d60aa1b815260200192915050565b6000614b6f601e836156f3565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614ba8601a836156f3565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614be16011836156fc565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000614c0e601a836156f3565b7f646573742072617465207374616c65206f7220666c6167676564000000000000815260200192915050565b6000614c47603a836156f3565b7f54686520616d6f756e742072656365697665642069732062656c6f772074686581527f206d696e696d756d20616d6f756e74207370656369666965642e000000000000602082015260400192915050565b6000614ca66045836156f3565b7f45786368616e6765723a204f6e6c792073796e746865746978206f722061207381527f796e746820636f6e74726163742063616e20706572666f726d2074686973206160208201526431ba34b7b760d91b604082015260600192915050565b6000614d136017836156f3565b7f446573742073796e746820746f6f20766f6c6174696c65000000000000000000815260200192915050565b6000614d4c602f836156f3565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000614d9d600c836156f3565b6b746f6f20766f6c6174696c6560a01b815260200192915050565b6000614dc56021836156f3565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000614e08601b836156f3565b7f65786368616e676520726174657320746f6f20766f6c6174696c650000000000815260200192915050565b6000614e41601c836156f3565b7f43616e6e6f74207669727475616c697a6520746869732073796e746800000000815260200192915050565b6000614e7a6019836156fc565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614eb36019836156f3565b7f7372632072617465207374616c65206f7220666c616767656400000000000000815260200192915050565b6000614eec601e836156f3565b7f7372632f646573742072617465207374616c65206f7220666c61676765640000815260200192915050565b6000614f256016836156f3565b755372632073796e746820746f6f20766f6c6174696c6560501b815260200192915050565b6000614f576016836156f3565b7514dd5c9c185cdcd959081d9bdb1d5b59481b1a5b5a5d60521b815260200192915050565b80516101a0830190614f8e8482614949565b506020820151614fa16020850182614862565b506040820151614fb46040850182614862565b506060820151614fc76060850182614949565b506080820151614fda6080850182614949565b5060a0820151614fed60a0850182614949565b5060c082015161500060c0850182614949565b5060e082015161501360e0850182614949565b50610100820151615028610100850182614949565b5061012082015161503d610120850182614949565b50610140820151615052610140850182614949565b50610160820151615067610160850182614949565b5061018082015161507c610180850182614949565b50505050565b805160c0830190615093848261495e565b5060208201516150a6602085018261495e565b5060408201516150b9604085018261495e565b5060608201516150cc606085018261495e565b5060808201516150df608085018261495e565b5060a082015161507c60a085018261495e565b61485c8161574c565b61485c81615758565b6000615110828761492c565b600a82019150615120828661492c565b600a82019150615130828561486b565b601482019150615140828461493d565b50600f01949350505050565b600061515782614bd4565b91506151638284614952565b50602001919050565b600061515782614e6d565b6020810161047c8284614862565b6020810161047c8284614853565b604081016151a18285614862565b6130476020830184614862565b604081016151bc8285614862565b6130476020830184614949565b606081016151d78286614862565b6151e46020830185614949565b610d3c6040830184614949565b60c081016151ff8289614862565b61520c6020830188614949565b6152196040830187614949565b6152266060830186614949565b6152336080830185614949565b61524060a0830184614862565b979650505050505050565b60208082528101610479818461487c565b6040808252810161526d818561487c565b90508181036020830152610d3c81846148d5565b6020810161047c8284614923565b6020810161047c8284614949565b604081016151a18285614949565b604081016151bc8285614949565b608081016152c78287614949565b6152d46020830186614949565b6152e16040830185614949565b6104b66060830184614949565b604081016152fc8285614949565b8181036020830152610d3c8184614967565b606081016151d78286614949565b60a0810161532a8288614949565b6153376020830187614949565b6153446040830186614949565b6153516060830185614949565b61535e6080830184614949565b9695505050505050565b6020810161047c828461495e565b60a08101615384828861495e565b615391602083018761495e565b6153446040830186614862565b602080825281016104798184614967565b6020808252810161047c8161499f565b6020808252810161047c816149d1565b6020808252810161047c81614a00565b6020808252810161047c81614a57565b6020808252810161047c81614a90565b6020808252810161047c81614ac9565b6020808252810161047c81614b02565b6020808252810161047c81614b3b565b6020808252810161047c81614b62565b6020808252810161047c81614b9b565b6020808252810161047c81614c01565b6020808252810161047c81614c3a565b6020808252810161047c81614c99565b6020808252810161047c81614d06565b6020808252810161047c81614d3f565b6020808252810161047c81614d90565b6020808252810161047c81614db8565b6020808252810161047c81614dfb565b6020808252810161047c81614e34565b6020808252810161047c81614ea6565b6020808252810161047c81614edf565b6020808252810161047c81614f18565b6020808252810161047c81614f4a565b6101a0810161047c8284614f7c565b610500810161553d8287614f7c565b61554b6101a0830186614949565b6155596101c0830185614f7c565b6104b6610360830184614f7c565b61014081016155768288615082565b61558360c0830187614862565b61559060e0830186614949565b61559e610100830185614923565b61535e610120830184614949565b61012081016155bb8287615082565b6155c860c0830186614862565b6155d560e0830185614949565b6104b6610100830184614949565b61018081016155f2828a615082565b6155ff60c0830189614862565b61560c60e0830188614949565b61561a610100830187614949565b615628610120830186614949565b615636610140830185614949565b615644610160830184614949565b98975050505050505050565b6040810161565e8285614949565b6130476020830184614923565b604081016156798285614949565b613047602083018461495e565b6040810161569482856150fb565b61304760208301846150f2565b60405181810167ffffffffffffffff811182821017156156c057600080fd5b604052919050565b600067ffffffffffffffff8211156156df57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b600061047c82615740565b151590565b6001600160b01b03191690565b70ffffffffffffffffffffffffffffffffff191690565b600061047c82615701565b6001600160a01b031690565b6001600160c01b031690565b67ffffffffffffffff1690565b600061047c82615735565b60005b8381101561578b578181015183820152602001615773565b8381111561507c5750506000910152565b600061047c82600061047c826157b7565b601f01601f191690565b60601b90565b6157c681615701565b81146157d157600080fd5b50565b6157c68161570c565b6157c681610864565b6157c68161573556fea365627a7a72315820577fb23de8a6037dcd49350690073c896549aae5811f541f95c21022701d053b6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "vSynth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "VirtualSynthCreated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "atomicMaxVolumePerBlock",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "dynamicFeeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "feeRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "tooVolatile",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "virtualSynth",
							"type": "bool"
						},
						{
							"internalType": "address",
							"name": "rewardAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualSynth",
							"name": "vSynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"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"
						},
						{
							"internalType": "uint256",
							"name": "minAmount",
							"type": "uint256"
						}
					],
					"name": "exchangeAtomically",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForAtomicExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "getAmountsForAtomicExchange",
					"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"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isSynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastAtomicVolume",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "time",
							"type": "uint64"
						},
						{
							"internalType": "uint192",
							"name": "volume",
							"type": "uint192"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xa8cd03d45baefb81f69212c46b533854228e298e616bf2d1da8584f60ee5dc00",
				"urls": [
					"bzz-raw://1a9566181e2910dce22d70ceb5dd192d3ee499bc6e1668eff216946cffd6514d",
					"dweb:/ipfs/QmXMioHfGQaVVochbfoAsziikZRnGZhD9DNkGwvE66Q2Bj"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangerWithFeeRecAlternatives.sol": "ExchangerWithFeeRecAlternatives"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangerWithFeeRecAlternatives.sol": {
						"keccak256": "0xa8cd03d45baefb81f69212c46b533854228e298e616bf2d1da8584f60ee5dc00",
						"urls": [
							"bzz-raw://1a9566181e2910dce22d70ceb5dd192d3ee499bc6e1668eff216946cffd6514d",
							"dweb:/ipfs/QmXMioHfGQaVVochbfoAsziikZRnGZhD9DNkGwvE66Q2Bj"
						]
					}
				},
				"version": 1
			}
		},
		"WrapperFactory": {
			"bytecode": "608060405234801561001057600080fd5b506040516135553803806135558339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050613431806101246000396000f3fe608060405260043610620000d45760003560e01c806375d920a9116200008b5780638da5cb5b11620000615780638da5cb5b14620002ae578063a106935d14620002c6578063bb57ad201462000309578063e0aa2797146200032157620000d4565b806375d920a9146200021457806379ba5097146200022c578063899ffef4146200024457620000d4565b806304f3bcec14620001215780631627540c14620001555780632af64bd3146200018e57806353a47bb714620001ba578063614d08f814620001d25780637418536014620001fc575b6040805162461bcd60e51b815260206004820152601760248201527f436f6e7472616374206973206e6f742070617961626c65000000000000000000604482015290519081900360640190fd5b3480156200012e57600080fd5b506200013962000358565b604080516001600160a01b039092168252519081900360200190f35b3480156200016257600080fd5b506200018c600480360360208110156200017b57600080fd5b50356001600160a01b031662000367565b005b3480156200019b57600080fd5b50620001a6620003c5565b604080519115158252519081900360200190f35b348015620001c757600080fd5b5062000139620004db565b348015620001df57600080fd5b50620001ea620004ea565b60408051918252519081900360200190f35b3480156200020957600080fd5b506200018c620004ff565b3480156200022157600080fd5b50620001ea620006d2565b3480156200023957600080fd5b506200018c62000767565b3480156200025157600080fd5b506200025c62000825565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156200029a57818101518382015260200162000280565b505050509050019250505060405180910390f35b348015620002bb57600080fd5b5062000139620008c3565b348015620002d357600080fd5b506200013960048036036060811015620002ec57600080fd5b506001600160a01b038135169060208101359060400135620008d2565b3480156200031657600080fd5b506200018c62000a8a565b3480156200032e57600080fd5b50620001a6600480360360208110156200034757600080fd5b50356001600160a01b031662000bff565b6002546001600160a01b031681565b6200037162000caa565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060620003d362000825565b905060005b8151811015620004d1576000828281518110620003f157fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156200045a57600080fd5b505afa1580156200046f573d6000803e3d6000fd5b505050506040513d60208110156200048657600080fd5b50516001600160a01b0316141580620004b457506000818152600360205260409020546001600160a01b0316155b15620004c75760009350505050620004d8565b50600101620003d8565b5060019150505b90565b6001546001600160a01b031681565b6d57726170706572466163746f727960901b81565b60606200050b62000825565b905060005b8151811015620006ce5760008282815181106200052957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015620005e1578181015183820152602001620005c7565b50505050905090810190601f1680156200060f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156200062e57600080fd5b505afa15801562000643573d6000803e3d6000fd5b505050506040513d60208110156200065a57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010162000510565b5050565b6000620006de62000cf7565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156200073457600080fd5b505afa15801562000749573d6000803e3d6000fd5b505050506040513d60208110156200076057600080fd5b5051905090565b6001546001600160a01b03163314620007b25760405162461bcd60e51b8152600401808060200182810382526035815260200180620033996035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516003808252608082019092526060916020820183803883390190505090506814de5b9d1a1cd554d160ba1b816000815181106200086257fe5b6020026020010181815250506e466c657869626c6553746f7261676560881b816001815181106200088f57fe5b60200260200101818152505066119959541bdbdb60ca1b81600281518110620008b457fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000620008de62000caa565b600080546002546040516001600160a01b039283169290911690879087908790620009099062000e2e565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f08015801562000958573d6000803e3d6000fd5b509050806001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156200099757600080fd5b505af1158015620009ac573d6000803e3d6000fd5b50505050620009ba62000d15565b60408051631d5b277f60e01b81526d57726170706572466163746f727960901b60048201526001600160a01b0384811660248301526001604483015291519290911691631d5b277f9160648082019260009290919082900301818387803b15801562000a2557600080fd5b505af115801562000a3a573d6000803e3d6000fd5b5050604080516001600160a01b038581168252915188945091891692507f8aba3d0a3cbd86bcfc8d4d553823cb5030939fb35208794c1ca597046b2b561e919081900360200190a3949350505050565b600062000a96620006d2565b9050801562000bfc57600062000aab62000cf7565b6001600160a01b031663a9059cbb62000ac362000d34565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801562000afc57600080fd5b505afa15801562000b11573d6000803e3d6000fd5b505050506040513d602081101562000b2857600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018690525160448083019260209291908290030181600087803b15801562000b7957600080fd5b505af115801562000b8e573d6000803e3d6000fd5b505050506040513d602081101562000ba557600080fd5b5051905080620006ce576040805162461bcd60e51b815260206004820152601860248201527f5472616e7366657220646964206e6f7420737563636565640000000000000000604482015290519081900360640190fd5b50565b60008062000c0c62000d15565b6001600160a01b03166323257c2b6d57726170706572466163746f727960901b856001600160a01b031660001b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562000c7557600080fd5b505afa15801562000c8a573d6000803e3d6000fd5b505050506040513d602081101562000ca157600080fd5b50511192915050565b6000546001600160a01b0316331462000cf55760405162461bcd60e51b815260040180806020018281038252602f815260200180620033ce602f913960400191505060405180910390fd5b565b600062000d106814de5b9d1a1cd554d160ba1b62000d46565b905090565b600062000d106e466c657869626c6553746f7261676560881b62000d46565b600062000d1066119959541bdbdb60ca1b5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908162000e275760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562000deb57818101518382015260200162000dd1565b50505050905090810190601f16801562000e195780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b61255c8062000e3d8339019056fe60806040523480156200001157600080fd5b506040516200255c3803806200255c833981810160405260a08110156200003757600080fd5b508051602082015160408301516060840151608090940151929391929091908380866001600160a01b038116620000b5576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000160576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60038054610100600160a81b0319166101006001600160a01b0393841602179055600580546001600160a01b031916868316179081905560068590556007849055600060088190556040805163095ea7b360e01b81523060048201526000196024820152905192909316935063095ea7b392604480820193602093909283900390910190829087803b158015620001f657600080fd5b505af11580156200020b573d6000803e3d6000fd5b505050506040513d60208110156200022257600080fd5b5050505050505061232380620002396000396000f3fe6080604052600436106101665760003560e01c80635c975abb116100d15780638a926d0f1161008a578063a0712d6811610064578063a0712d681461048d578063dbd06c85146104b7578063ee5f3f5c146104cc578063fc0c546a146104e157610166565b80638a926d0f1461044e5780638da5cb5b1461046357806391b4ded91461047857610166565b80635c975abb1461036b5780635cfc1a51146103805780636ad882691461039557806374185360146103bf57806379ba5097146103d4578063899ffef4146103e957610166565b80631f23a352116101235780631f23a352146102965780632af64bd3146102ab57806342966c68146102d4578063509bf42a146102fe57806353a47bb7146103135780635c095e541461032857610166565b806304f3bcec146101b35780630902f1ac146101e45780631627540c1461020b57806316c38b3c1461024057806317c943bc1461026c57806318819a3114610281575b6040805162461bcd60e51b815260206004820152601d60248201527f46616c6c6261636b2064697361626c65642c20757365206d696e742829000000604482015290519081900360640190fd5b3480156101bf57600080fd5b506101c86104f6565b604080516001600160a01b039092168252519081900360200190f35b3480156101f057600080fd5b506101f961050a565b60408051918252519081900360200190f35b34801561021757600080fd5b5061023e6004803603602081101561022e57600080fd5b50356001600160a01b0316610587565b005b34801561024c57600080fd5b5061023e6004803603602081101561026357600080fd5b503515156105e3565b34801561027857600080fd5b506101f961065d565b34801561028d57600080fd5b506101f9610663565b3480156102a257600080fd5b506101f9610673565b3480156102b757600080fd5b506102c0610679565b604080519115158252519081900360200190f35b3480156102e057600080fd5b5061023e600480360360208110156102f757600080fd5b5035610789565b34801561030a57600080fd5b506101f9610c73565b34801561031f57600080fd5b506101c8610c7e565b34801561033457600080fd5b506103526004803603602081101561034b57600080fd5b5035610c8d565b6040805192835290151560208301528051918290030190f35b34801561037757600080fd5b506102c0610ce2565b34801561038c57600080fd5b506101f9610ceb565b3480156103a157600080fd5b50610352600480360360208110156103b857600080fd5b5035610d2d565b3480156103cb57600080fd5b5061023e610d3a565b3480156103e057600080fd5b5061023e610f17565b3480156103f557600080fd5b506103fe610fd3565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043a578181015183820152602001610422565b505050509050019250505060405180910390f35b34801561045a57600080fd5b506101f96110f5565b34801561046f57600080fd5b506101c8611100565b34801561048457600080fd5b506101f961110f565b34801561049957600080fd5b5061023e600480360360208110156104b057600080fd5b5035611115565b3480156104c357600080fd5b506101f961156f565b3480156104d857600080fd5b506101f9611575565b3480156104ed57600080fd5b506101c86115dd565b60035461010090046001600160a01b031681565b600554604080516370a0823160e01b815230600482015290516000926001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561055557600080fd5b505afa158015610569573d6000803e3d6000fd5b505050506040513d602081101561057f57600080fd5b505190505b90565b61058f6115ec565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6105eb6115ec565b60035460ff16151581151514156106015761065a565b6003805460ff1916821515179081905560ff161561061e57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60085481565b600061066e30611637565b905090565b60075481565b60006060610685610fd3565b905060005b81518110156107805760008282815181106106a157fe5b602090810291909101810151600081815260048084526040918290205460035483516321f8a72160e01b815292830185905292519395506001600160a01b039081169461010090930416926321f8a72192602480840193919291829003018186803b15801561070f57600080fd5b505afa158015610723573d6000803e3d6000fd5b505050506040513d602081101561073957600080fd5b50516001600160a01b031614158061076657506000818152600460205260409020546001600160a01b0316155b156107775760009350505050610584565b5060010161068a565b50600191505090565b60035460ff16156107cb5760405162461bcd60e51b815260040180806020018281038252603c815260200180612258603c913960400191505060405180910390fd5b6107d3611727565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561080b57600080fd5b505afa15801561081f573d6000803e3d6000fd5b5050505061082b611741565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561088057600080fd5b505afa158015610894573d6000803e3d6000fd5b505050506040513d60208110156108aa57600080fd5b50518111156108f5576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b6108fd61174e565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561094257600080fd5b505afa158015610956573d6000803e3d6000fd5b505050506040513d602081101561096c57600080fd5b5051156109bb576040805162461bcd60e51b815260206004820152601860248201527710dd5c9c995b98de481c985d19481a5cc81a5b9d985b1a5960421b604482015290519081900360640190fd5b60006109c5611575565b11610a015760405162461bcd60e51b81526004018080602001828103825260358152602001806122ba6035913960400191505060405180910390fd5b600080610a0f600854610d2d565b915091506000808215610ad1578460085410610a2b5784610a3e565b600854610a3e908563ffffffff61176916565b9150610aca610a4b610c73565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a8f57600080fd5b505af4158015610aa3573d6000803e3d6000fd5b505050506040513d6020811015610ab957600080fd5b50518491900363ffffffff6117cb16565b9050610b92565b6008548590610ae6908663ffffffff6117f516565b10610af15784610b04565b600854610b04908563ffffffff6117f516565b9150610b8f610b11610c73565b73__$b638afe8340e430a394ced2a8f566f670f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610b5557600080fd5b505af4158015610b69573d6000803e3d6000fd5b505050506040513d6020811015610b7f57600080fd5b505184910163ffffffff61185616565b90505b600083610bae57610ba9838363ffffffff61176916565b610bb1565b60005b600554909150600090610bcf906001600160a01b0316303386611880565b905080610c1e576040805162461bcd60e51b8152602060048201526018602482015277151c985b9cd9995c88191a59081b9bdd081cdd58d8d9595960421b604482015290519081900360640190fd5b610c2784611925565b6040805184815260208101849052808201869052905133917f4c60206a5c1de41f3376d1d60f0949d96cb682033c90b1c2d9d9a62d4c4120c0919081900360600190a250505050505050565b600061066e30611b2b565b6001546001600160a01b031681565b6000806000610c9a610663565b90506000811215610cc557610cb984600083900363ffffffff611be916565b60019250925050610cdd565b610cd5848263ffffffff611be916565b600092509250505b915091565b60035460ff1681565b600080610cf661050a565b90506000610d026110f5565b9050808210610d1657600092505050610584565b610d26818363ffffffff61176916565b9250505090565b6000806000610c9a610c73565b6060610d44610fd3565b905060005b8151811015610f13576000828281518110610d6057fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610e2b578181015183820152602001610e13565b50505050905090810190601f168015610e585780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610e7657600080fd5b505afa158015610e8a573d6000803e3d6000fd5b505050506040513d6020811015610ea057600080fd5b505160008381526004602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610d49565b5050565b6001546001600160a01b03163314610f605760405162461bcd60e51b81526004018080602001828103825260358152602001806121d36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610fde611bfe565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506814de5b9d1a1cd554d160ba1b8160008151811061101f57fe5b6020026020010181815250506007548160018151811061103b57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061106557fe5b6020026020010181815250506844656274436163686560b81b8160038151811061108b57fe5b6020026020010181815250506b53797374656d53746174757360a01b816004815181106110b457fe5b6020026020010181815250506d57726170706572466163746f727960901b816005815181106110df57fe5b602002602001018181525050610d268282611c4f565b600061066e30611d0b565b6000546001600160a01b031681565b60025481565b60035460ff16156111575760405162461bcd60e51b815260040180806020018281038252603c815260200180612258603c913960400191505060405180910390fd5b61115f611727565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561119757600080fd5b505afa1580156111ab573d6000803e3d6000fd5b505060055460408051636eb1769f60e11b815233600482015230602482015290516001600160a01b03909216935063dd62ed3e9250604480820192602092909190829003018186803b15801561120057600080fd5b505afa158015611214573d6000803e3d6000fd5b505050506040513d602081101561122a57600080fd5b5051811115611280576040805162461bcd60e51b815260206004820152601960248201527f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000604482015290519081900360640190fd5b600554604080516370a0823160e01b815233600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156112cb57600080fd5b505afa1580156112df573d6000803e3d6000fd5b505050506040513d60208110156112f557600080fd5b5051811115611340576040805162461bcd60e51b815260206004820152601260248201527142616c616e636520697320746f6f206c6f7760701b604482015290519081900360640190fd5b61134861174e565b6001600160a01b0316632528f0fe6006546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561138d57600080fd5b505afa1580156113a1573d6000803e3d6000fd5b505050506040513d60208110156113b757600080fd5b505115611406576040805162461bcd60e51b815260206004820152601860248201527710dd5c9c995b98de481c985d19481a5cc81a5b9d985b1a5960421b604482015290519081900360640190fd5b6000611410610ceb565b9050600081116114515760405162461bcd60e51b81526004018080602001828103825260268152602001806122946026913960400191505060405180910390fd5b60008282106114605782611462565b815b905060008061147083610c8d565b915091506000816114905761148b848463ffffffff61176916565b6114a0565b6114a0848463ffffffff6117f516565b6005549091506000906114be906001600160a01b0316333088611880565b90508061150d576040805162461bcd60e51b8152602060048201526018602482015277151c985b9cd9995c88191a59081b9bdd081cdd58d8d9595960421b604482015290519081900360640190fd5b61151682611dc7565b337f5a3358a3d27a5373c0df2604662088d37894d56b7cfd27f315770440f4e0d91983856115445786611547565b60005b604080519283526020830191909152818101899052519081900360600190a250505050505050565b60065481565b600061157f61174e565b6001600160a01b031663654a60ac600654600854631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561055557600080fd5b6005546001600160a01b031681565b6000546001600160a01b031633146116355760405162461bcd60e51b815260040180806020018281038252602f815260200180612208602f913960400191505060405180910390fd5b565b6000611641611f18565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724d696e744665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156116f557600080fd5b505afa158015611709573d6000803e3d6000fd5b505050506040513d602081101561171f57600080fd5b505192915050565b600061066e6b53797374656d53746174757360a01b611f31565b600061066e600754611f31565b600061066e6c45786368616e6765526174657360981b611f31565b6000828211156117c0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b508082035b92915050565b6000670de0b6b3a76400006117e6848463ffffffff61200e16565b816117ed57fe5b049392505050565b60008282018381101561184f576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600061184f8261187485670de0b6b3a764000063ffffffff61200e16565b9063ffffffff61206716565b604080516001600160a01b038086166024830152841660448201526064808201849052825180830390910181526084909101909152602081810180516001600160e01b03166323b872dd60e01b178152825160ff60009081529392909184908390828b5af16118ee57600080fd5b60005160ff811461190c576001811461190c57801561191557600080fd5b6001935061191a565b600093505b505050949350505050565b600061192f61050a565b600854909150600090611948838563ffffffff6117f516565b11611954576000611977565b6008546119779061196b848663ffffffff6117f516565b9063ffffffff61176916565b9050600061198361174e565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156119df57600080fd5b505afa1580156119f3573d6000803e3d6000fd5b505050506040513d6020811015611a0957600080fd5b50519050611a15611741565b6001600160a01b0316639dc29fac33866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611a7457600080fd5b505af1158015611a88573d6000803e3d6000fd5b505050506000811115611b1c57611a9d6120d1565b6001600160a01b031663867904b4611ab36120e8565b836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b0357600080fd5b505af1158015611b17573d6000803e3d6000fd5b505050505b611b2583612104565b50505050565b6000611b35611f18565b6001600160a01b031663c4f610ed6d53797374656d53657474696e677360901b71777261707065724275726e4665655261746560701b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156116f557600080fd5b600061184f8383670de0b6b3a764000061217f565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611c4057fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611c7f578160200160208202803883390190505b50905060005b8351811015611cc157838181518110611c9a57fe5b6020026020010151828281518110611cae57fe5b6020908102919091010152600101611c85565b5060005b8251811015611d0457828181518110611cda57fe5b6020026020010151828286510181518110611cf157fe5b6020908102919091010152600101611cc5565b5092915050565b6000611d15611f18565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f777261707065724d6178546f6b656e7360801b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156116f557600080fd5b6000611dd161050a565b90506000611dea836008546117f590919063ffffffff16565b8211611df7576000611e1b565b600854611e1b90611e0e908563ffffffff6117f516565b839063ffffffff61176916565b90506000611e2761174e565b6001600160a01b031663654a60ac60065484631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611e8357600080fd5b505afa158015611e97573d6000803e3d6000fd5b505050506040513d6020811015611ead57600080fd5b50519050611eb9611741565b6001600160a01b031663867904b433866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611a7457600080fd5b600061066e6e466c657869626c6553746f7261676560881b5b600081815260046020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611d045760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611fd3578181015183820152602001611fbb565b50505050905090810190601f1680156120005780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60008261201d575060006117c5565b8282028284828161202a57fe5b041461184f5760405162461bcd60e51b81526004018080602001828103825260218152602001806122376021913960400191505060405180910390fd5b60008082116120bd576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816120c857fe5b04949350505050565b600061066e6814de5b9d1a1cd554d160ba1b611f31565b600061066e6d57726170706572466163746f727960901b611f31565b61210c6121bb565b6001600160a01b0316639e3b92ca60065460085484036040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561215f57600080fd5b505af1158015612173573d6000803e3d6000fd5b50505060089190915550565b600080600a8304612196868663ffffffff61200e16565b8161219d57fe5b0490506005600a8206106121af57600a015b600a9004949350505050565b600061066e6844656274436163686560b81b611f3156fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564436f6e747261637420686173206e6f20737061726520636170616369747920746f206d696e74436f6e74726163742063616e6e6f74206275726e20666f7220746f6b656e2c20746f6b656e2062616c616e6365206973207a65726fa265627a7a72315820a4a10d85c707bcbaf53a80a679c2465266162fe35b377e6b8360036004afc38e64736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820389b20616fbd648646f2eabc9039e3a34d21fd0baea43bc61609f135762f668f64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "token",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "wrapperAddress",
							"type": "address"
						}
					],
					"name": "WrapperCreated",
					"type": "event"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "token",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "synthContractName",
							"type": "bytes32"
						}
					],
					"name": "createWrapper",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "distributeFees",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feesEscrowed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "possibleWrapper",
							"type": "address"
						}
					],
					"name": "isWrapper",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x582cac91f50cfefc154d67097081d0dd0d4877333df51c3cfe19485f80ef7e74",
				"urls": [
					"bzz-raw://315555f29d5cf1602830af23bf1c97d8259d7ad3103590d1094b9c942affe69e",
					"dweb:/ipfs/QmXmVJg9JYtL3VSHFpC6WTh4CLcVm9WDDTmCoSMVxPzAHc"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"WrapperFactory.sol": "WrapperFactory"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"WrapperFactory.sol": {
						"keccak256": "0x582cac91f50cfefc154d67097081d0dd0d4877333df51c3cfe19485f80ef7e74",
						"urls": [
							"bzz-raw://315555f29d5cf1602830af23bf1c97d8259d7ad3103590d1094b9c942affe69e",
							"dweb:/ipfs/QmXmVJg9JYtL3VSHFpC6WTh4CLcVm9WDDTmCoSMVxPzAHc"
						]
					}
				},
				"version": 1
			}
		},
		"OwnerRelayOnEthereum": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162001678380380620016788339810160408190526200003491620000f4565b600080546001600160a01b0319166001600160a01b038381169190911790915582908116620000805760405162461bcd60e51b81526004016200007790620001b0565b60405180910390fd5b600280546001600160a01b0319166001600160a01b0383161790556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c90620000d09060009084906200018a565b60405180910390a15050506200020b565b8051620000ee81620001f1565b92915050565b600080604083850312156200010857600080fd5b6000620001168585620000e1565b92505060206200012985828601620000e1565b9150509250929050565b6200013e81620001dd565b82525050565b6200013e81620001cb565b60006200015e601983620001c2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200019a828562000133565b620001a9602083018462000144565b9392505050565b60208082528101620000ee816200014f565b90815260200190565b60006001600160a01b038216620000ee565b6000620000ee826000620000ee82620001cb565b620001fc81620001cb565b81146200020857600080fd5b50565b61145d806200021b6000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637418536011610066578063741853601461011357806379ba50971461011b578063899ffef4146101235780638da5cb5b14610138578063e210f042146101405761009e565b806304f3bcec146100a35780631627540c146100c15780632af64bd3146100d65780634aeda11f146100eb57806353a47bb7146100fe575b600080fd5b6100ab610153565b6040516100b891906112a9565b60405180910390f35b6100d46100cf366004610ca3565b610162565b005b6100de6101c0565b6040516100b89190611244565b6100d46100f9366004610d51565b6102d6565b61010661041e565b6040516100b89190611179565b6100d461042d565b6100d4610582565b61012b61061e565b6040516100b89190611233565b6101066106bd565b6100d461014e366004610ce7565b6106cc565b6000546001600160a01b031681565b61016a6107e7565b600380546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101b5908390611179565b60405180910390a150565b600060606101cc61061e565b905060005b81518110156102cc5760008282815181106101e857fe5b60209081029190910181015160008181526001909252604080832054925490516321f8a72160e01b81529193506001600160a01b039283169216906321f8a72190610237908590600401611252565b60206040518083038186803b15801561024f57600080fd5b505afa158015610263573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102879190810190610cc9565b6001600160a01b03161415806102b257506000818152600160205260409020546001600160a01b0316155b156102c357600093505050506102d3565b506001016101d1565b5060019150505b90565b6102de6107e7565b8382146103065760405162461bcd60e51b81526004016102fd906112e8565b60405180910390fd5b604051600090606090637a153de960e11b9061032c908990899089908990602401611202565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610368610813565b6001600160a01b0316633dbb202b61037e610833565b8361038887610859565b6040518463ffffffff1660e01b81526004016103a6939291906111d3565b600060405180830381600087803b1580156103c057600080fd5b505af11580156103d4573d6000803e3d6000fd5b505050507faa86356fa99dddd7d5773ad300a6f8e0213a5a2f3f5dbdd4b696c6746d78ec048787878760405161040d9493929190611202565b60405180910390a150505050505050565b6003546001600160a01b031681565b606061043761061e565b905060005b815181101561057e57600082828151811061045357fe5b6020026020010151905060008060009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610494919061116e565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104c0929190611289565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105109190810190610cc9565b6000838152600160205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061056c9084908490611260565b60405180910390a1505060010161043c565b5050565b6003546001600160a01b031633146105ac5760405162461bcd60e51b81526004016102fd906112c8565b6002546003546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105ef926001600160a01b0391821692911690611187565b60405180910390a160038054600280546001600160a01b03199081166001600160a01b03841617909155169055565b60608061062961087f565b6040805160028082526060808301845293945090916020830190803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061066b57fe5b602002602001018181525050776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b816001815181106106a057fe5b6020026020010181815250506106b682826108d0565b9250505090565b6002546001600160a01b031681565b6106d46107e7565b60405160009060609063c3c79e5d60e01b906106f8908890889088906024016111a9565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610734610813565b6001600160a01b0316633dbb202b61074a610833565b8361075487610859565b6040518463ffffffff1660e01b8152600401610772939291906111d3565b600060405180830381600087803b15801561078c57600080fd5b505af11580156107a0573d6000803e3d6000fd5b505050507f0ad3bed4c45a8b7f0de84c5caaea6851b93c0453c25ad26d37077fcf4feb5c448686866040516107d7939291906111a9565b60405180910390a1505050505050565b6002546001600160a01b031633146108115760405162461bcd60e51b81526004016102fd906112d8565b565b600061082e6c32bc3a1d26b2b9b9b2b733b2b960991b61098c565b905090565b600061082e776f766d3a4f776e657252656c61794f6e4f7074696d69736d60401b61098c565b600063ffffffff82166108755761087060046109e9565b610877565b815b90505b919050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106108c157fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610900578160200160208202803883390190505b50905060005b83518110156109425783818151811061091b57fe5b602002602001015182828151811061092f57fe5b6020908102919091010152600101610906565b5060005b82518110156109855782818151811061095b57fe5b602002602001015182828651018151811061097257fe5b6020908102919091010152600101610946565b5092915050565b60008181526001602090815260408083205490516001600160a01b0390911691821515916109bc9186910161114e565b604051602081830303815290604052906109855760405162461bcd60e51b81526004016102fd91906112b7565b60006109f3610a89565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b610a1c85610aa6565b6040518363ffffffff1660e01b8152600401610a3992919061126e565b60206040518083038186803b158015610a5157600080fd5b505afa158015610a65573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108779190810190610dd7565b600061082e6e466c657869626c6553746f7261676560881b61098c565b600080826004811115610ab557fe5b1415610ae257507f63726f7373446f6d61696e4465706f7369744761734c696d697400000000000061087a565b6001826004811115610af057fe5b1415610b1d57507f63726f7373446f6d61696e457363726f774761734c696d69740000000000000061087a565b6002826004811115610b2b57fe5b1415610b5857507f63726f7373446f6d61696e5265776172644761734c696d69740000000000000061087a565b6003826004811115610b6657fe5b1415610b9357507f63726f7373446f6d61696e5769746864726177616c4761734c696d697400000061087a565b6004826004811115610ba157fe5b1415610bce57507f63726f7373446f6d61696e52656c61794761734c696d6974000000000000000061087a565b60405162461bcd60e51b81526004016102fd906112f8565b8035610bf1816113f1565b92915050565b8051610bf1816113f1565b60008083601f840112610c1457600080fd5b50813567ffffffffffffffff811115610c2c57600080fd5b602083019150836020820283011115610c4457600080fd5b9250929050565b60008083601f840112610c5d57600080fd5b50813567ffffffffffffffff811115610c7557600080fd5b602083019150836001820283011115610c4457600080fd5b8051610bf181611408565b8035610bf181611411565b600060208284031215610cb557600080fd5b6000610cc18484610be6565b949350505050565b600060208284031215610cdb57600080fd5b6000610cc18484610bf7565b60008060008060608587031215610cfd57600080fd5b6000610d098787610be6565b945050602085013567ffffffffffffffff811115610d2657600080fd5b610d3287828801610c4b565b93509350506040610d4587828801610c98565b91505092959194509250565b600080600080600060608688031215610d6957600080fd5b853567ffffffffffffffff811115610d8057600080fd5b610d8c88828901610c02565b9550955050602086013567ffffffffffffffff811115610dab57600080fd5b610db788828901610c02565b93509350506040610dca88828901610c98565b9150509295509295909350565b600060208284031215610de957600080fd5b6000610cc18484610c8d565b6000610e018383610e22565b505060200190565b6000610e018383610f4f565b6000610cc1848484610f69565b610e2b8161137b565b82525050565b6000610e3d8385611312565b9350610e48826102d3565b8060005b85811015610e7e57610e5e828461131b565b610e688882610df5565b9750610e7383611308565b925050600101610e4c565b509495945050505050565b6000610e948261130e565b610e9e8185611312565b9350610ea983611308565b8060005b83811015610e7e578151610ec18882610e09565b9750610ecc83611308565b925050600101610ead565b6000610ee38385611312565b935083602084028501610ef5846102d3565b8060005b87811015610f39578484038952610f10828461132a565b610f1b868284610e15565b9550610f2684611308565b60209b909b019a93505050600101610ef9565b5091979650505050505050565b610e2b81611386565b610e2b816102d3565b610e2b610f64826102d3565b6102d3565b6000610f758385611312565b9350610f828385846113ab565b610f8b836113e7565b9093019392505050565b6000610fa08261130e565b610faa8185611312565b9350610fba8185602086016113b7565b610f8b816113e7565b610e2b816113a0565b6000610fd9603583611312565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061103060118361087a565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061105d602f83611312565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006110ae60198361087a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006110e7601883611312565b7f417267756d656e74206c656e677468206d69736d617463680000000000000000815260200192915050565b6000611120601683611312565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b610e2b81611397565b600061115982611023565b91506111658284610f58565b50602001919050565b6000611159826110a1565b60208101610bf18284610e22565b604081016111958285610e22565b6111a26020830184610e22565b9392505050565b604081016111b78286610e22565b81810360208301526111ca818486610f69565b95945050505050565b606081016111e18286610e22565b81810360208301526111f38185610f95565b9050610cc16040830184611145565b60408082528101611214818688610e31565b90508181036020830152611229818486610ed7565b9695505050505050565b602080825281016111a28184610e89565b60208101610bf18284610f46565b60208101610bf18284610f4f565b604081016111958285610f4f565b6040810161127c8285610f4f565b6111a26020830184610f4f565b604081016112978285610f4f565b8181036020830152610cc18184610f95565b60208101610bf18284610fc3565b602080825281016111a28184610f95565b6020808252810161087781610fcc565b6020808252810161087781611050565b60208082528101610877816110da565b6020808252810161087781611113565b60200190565b5190565b90815260200190565b60006111a26020840184610be6565b6000808335601e193685900301811261134257600080fd5b83810160208101935035915067ffffffffffffffff82111561136357600080fd5b3682900384131561137357600080fd5b509250929050565b60006108778261138b565b151590565b6001600160a01b031690565b63ffffffff1690565b60006108778261137b565b82818337506000910152565b60005b838110156113d25781810151838201526020016113ba565b838111156113e1576000848401525b50505050565b601f01601f191690565b6113fa8161137b565b811461140557600080fd5b50565b6113fa816102d3565b6113fa8161139756fea365627a7a72315820f120088082344418b6734cfb9dfb744636fc53f16fe25edf83b27da1354f99856c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address[]",
							"name": "targets",
							"type": "address[]"
						},
						{
							"indexed": false,
							"internalType": "bytes[]",
							"name": "payloads",
							"type": "bytes[]"
						}
					],
					"name": "RelayBatchInitiated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "target",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes",
							"name": "payload",
							"type": "bytes"
						}
					],
					"name": "RelayInitiated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						},
						{
							"internalType": "bytes",
							"name": "payload",
							"type": "bytes"
						},
						{
							"internalType": "uint32",
							"name": "crossDomainGasLimit",
							"type": "uint32"
						}
					],
					"name": "initiateRelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "targets",
							"type": "address[]"
						},
						{
							"internalType": "bytes[]",
							"name": "payloads",
							"type": "bytes[]"
						},
						{
							"internalType": "uint32",
							"name": "crossDomainGasLimit",
							"type": "uint32"
						}
					],
					"name": "initiateRelayBatch",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xa1449f609b4427b695977ed157cfe46414a16d902590507338c7d5fb00c40206",
				"urls": [
					"bzz-raw://d5743955f14c8d6aa11062dae9cbdb55518cd8f3a591cd1468ce76937079660f",
					"dweb:/ipfs/QmaRTxN92Z1FXMT1vzobt5aKaVgT2w384tpJE8ndWCMpsz"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"OwnerRelayOnEthereum.sol": "OwnerRelayOnEthereum"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"OwnerRelayOnEthereum.sol": {
						"keccak256": "0xa1449f609b4427b695977ed157cfe46414a16d902590507338c7d5fb00c40206",
						"urls": [
							"bzz-raw://d5743955f14c8d6aa11062dae9cbdb55518cd8f3a591cd1468ce76937079660f",
							"dweb:/ipfs/QmaRTxN92Z1FXMT1vzobt5aKaVgT2w384tpJE8ndWCMpsz"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettingsLib": {
			"bytecode": "61227c610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106103a35760003560e01c806392dabaf2116101f3578063cff3fbb211610119578063f02d9a5b116100b7578063fbfd964611610086578063fbfd964614610b21578063fcaee852146103c2578063fd194a35146103c2578063fe250a5514610b68576103a3565b8063f02d9a5b14610aca578063f1076b2514610b09578063f344da6714610b11578063fb1b4c7e14610b19576103a3565b8063d9158b03116100f3578063d9158b0314610a44578063da91c7b81461087a578063e6abf7cc14610a83578063e78e6bb914610ac2576103a3565b8063cff3fbb21461075c578063d4aebcef146103c2578063d62ae3991461094d576103a3565b8063add0989d11610191578063c264b8f311610160578063c264b8f314610754578063c35b995c146109ac578063c404a0de146109ef578063c58c9ae414610a3c576103a3565b8063add0989d1461095d578063af8bc66014610965578063b2ea705414610754578063b3ebdca41461096d576103a3565b80639f91787d116101cd5780639f91787d14610945578063a4ce5b7114610955578063a6c46110146103c2578063aad237391461094d576103a3565b806392dabaf21461090657806394286a1e1461094557806398be8e3f1461094d576103a3565b80636a5b3043116102d85780637c1d99d6116102765780638134ddb7116102455780638134ddb7146108c1578063834f26de146103c257806383c2ab4d146103c25780638ab5a4a214610754576103a3565b80637c1d99d6146108315780637ce2cc7f146108725780637e1ba6a41461087a5780637eb294141461075c576103a3565b80636db97ffa116102b25780636db97ffa146103c257806372c6c341146107da57806375d0c0dc146107e25780637c14e56b146107ea576103a3565b80636a5b30431461075c5780636c5a9809146105ef5780636d4851f11461079b576103a3565b8063446ca4fd116103455780635d3045ab1161031f5780635d3045ab146106895780635f7ad871146106ce57806363daca0914610715578063657c6dc714610754576103a3565b8063446ca4fd146105ef57806353c0bf1c14610634578063580a975c14610681576103a3565b806311d78c0c1161038157806311d78c0c1461044257806319305b3c1461048d5780631a5bb1f7146104cc57806333ddab68146105b0576103a3565b8063085f95cd146103a85780630e7bf1c5146103c257806310ada72014610403575b600080fd5b6103b0610ba7565b60408051918252519081900360200190f35b8180156103ce57600080fd5b50610401600480360360608110156103e557600080fd5b506001600160a01b038135169060208101359060400135610bb3565b005b81801561040f57600080fd5b506103b06004803603606081101561042657600080fd5b506001600160a01b038135169060208101359060400135610c36565b81801561044e57600080fd5b50610401600480360360a081101561046557600080fd5b506001600160a01b038135169060208101359060408101359060608101359060800135610d9c565b81801561049957600080fd5b50610401600480360360608110156104b057600080fd5b506001600160a01b038135169060208101359060400135610f53565b8180156104d857600080fd5b50610401600480360360808110156104ef57600080fd5b6001600160a01b038235169160208101359181019060608101604082013564010000000081111561051f57600080fd5b82018360208201111561053157600080fd5b8035906020019184602083028401116401000000008311171561055357600080fd5b91939092909160208101903564010000000081111561057157600080fd5b82018360208201111561058357600080fd5b803590602001918460208302840111640100000000831117156105a557600080fd5b509092509050610f99565b8180156105bc57600080fd5b50610401600480360360608110156105d357600080fd5b506001600160a01b038135169060208101359060400135611144565b8180156105fb57600080fd5b506104016004803603608081101561061257600080fd5b506001600160a01b0381351690602081013590604081013590606001356111c6565b81801561064057600080fd5b50610401600480360360a081101561065757600080fd5b506001600160a01b038135811691602081013591604082013516906060810135906080013561126e565b6103b0611430565b81801561069557600080fd5b50610401600480360360808110156106ac57600080fd5b506001600160a01b038135169060208101359060408101359060600135611437565b8180156106da57600080fd5b50610401600480360360808110156106f157600080fd5b506001600160a01b03813581169160208101359160408201359160600135166114bf565b81801561072157600080fd5b506104016004803603606081101561073857600080fd5b506001600160a01b0381351690602081013590604001356115a7565b6103b0611657565b81801561076857600080fd5b506104016004803603606081101561077f57600080fd5b506001600160a01b038135169060208101359060400135611663565b8180156107a757600080fd5b50610401600480360360608110156107be57600080fd5b506001600160a01b0381351690602081013590604001356116aa565b6103b06116f1565b6103b0611706565b8180156107f657600080fd5b506104016004803603608081101561080d57600080fd5b506001600160a01b038135169060208101359060408101359060600135151561171b565b81801561083d57600080fd5b506104016004803603606081101561085457600080fd5b506001600160a01b03813516906020810135906040013515156117a6565b6103b061180d565b81801561088657600080fd5b506104016004803603608081101561089d57600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611814565b8180156108cd57600080fd5b50610401600480360360808110156108e457600080fd5b506001600160a01b0381351690602081013590604081013590606001356118b1565b81801561091257600080fd5b506104016004803603606081101561092957600080fd5b506001600160a01b03813516906020810135906040013561190e565b6103b061196b565b6103b0611970565b6103b0611977565b6103b0611983565b6103b0611989565b81801561097957600080fd5b506104016004803603606081101561099057600080fd5b506001600160a01b03813516906020810135906040013561198e565b8180156109b857600080fd5b50610401600480360360608110156109cf57600080fd5b506001600160a01b03813581169160208101359160409091013516611a11565b8180156109fb57600080fd5b50610401600480360360a0811015610a1257600080fd5b506001600160a01b0381358116916020810135916040820135169060608101359060800135611ad5565b6103b0611bdb565b818015610a5057600080fd5b5061040160048036036060811015610a6757600080fd5b506001600160a01b038135169060208101359060400135611be2565b818015610a8f57600080fd5b5061040160048036036060811015610aa657600080fd5b506001600160a01b038135169060208101359060400135611c3a565b6103b0611ce9565b818015610ad657600080fd5b5061040160048036036060811015610aed57600080fd5b506001600160a01b038135169060208101359060400135611cf4565b6103b0611d5b565b6103b0611d62565b6103b0611d69565b818015610b2d57600080fd5b5061040160048036036080811015610b4457600080fd5b506001600160a01b0381358116916020810135916040820135169060600135611d75565b818015610b7457600080fd5b5061040160048036036060811015610b8b57600080fd5b506001600160a01b038135169060208101359060400135611e2a565b670c7d713b49da000081565b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018490526044810183905290516001600160a01b03851691631d5b277f91606480830192600092919082900301818387803b158015610c1957600080fd5b505af1158015610c2d573d6000803e3d6000fd5b50505050505050565b60006032821115610c83576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b610d146064610d0873__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ccf57600080fd5b505af4158015610ce3573d6000803e3d6000fd5b505050506040513d6020811015610cf957600080fd5b5051859063ffffffff611e8716565b9063ffffffff611ee916565b9050836001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b85846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610d7d57600080fd5b505af1158015610d91573d6000803e3d6000fd5b505050509392505050565b610e34610e1f8373__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610de757600080fd5b505af4158015610dfb573d6000803e3d6000fd5b505050506040513d6020811015610e1157600080fd5b50519063ffffffff611f5316565b670de0b6b3a76400009063ffffffff611fad16565b831115610e725760405162461bcd60e51b81526004018080602001828103825260388152602001806120386038913960400191505060405180910390fd5b6000610e8c82671bc16d674ec8000063ffffffff611fcb16565b905080841015610ecd5760405162461bcd60e51b81526004018080602001828103825260288152602001806121946028913960400191505060405180910390fd5b60408051631d5b277f60e01b81526d53797374656d53657474696e677360901b6004820152602481018790526044810186905290516001600160a01b03881691631d5b277f91606480830192600092919082900301818387803b158015610f3357600080fd5b505af1158015610f47573d6000803e3d6000fd5b50505050505050505050565b6001600160c01b03811115610bb35760405162461bcd60e51b81526004018080602001828103825260288152602001806120916028913960400191505060405180910390fd5b828114610fed576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015610c2d5767016345785d8a000083838381811061100d57fe5b905060200201351115611067576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b866001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b8888888681811061109557fe5b905060200201356040516020018083815260200182815260200192505050604051602081830303815290604052805190602001208686868181106110d557fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505060019092019150610ff09050565b603c8110156111845760405162461bcd60e51b81526004018080602001828103825260268152602001806121146026913960400191505060405180910390fd5b62015180811115610bb35760405162461bcd60e51b81526004018080602001828103825260278152602001806121bc6027913960400191505060405180910390fd5b6040805160208082018690528183018590528251808303840181526060830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b6064830152608482015260a4810183905290516001600160a01b03861691631d5b277f9160c480830192600092919082900301818387803b15801561125057600080fd5b505af1158015611264573d6000803e3d6000fd5b5050505050505050565b670de0b6b3a76400008213156112cb576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff198212156113135760405162461bcd60e51b81526004018080602001828103825260218152602001806120706021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724275726e46656552617465000000000000604482015290519081900360640190fd5b6040805160208082018790526bffffffffffffffffffffffff19606087901b168284015282516034818403018152605483018085528151919092012063d71a9b0160e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810184905290516001600160a01b0387169163d71a9b019160b880830192600092919082900301818387803b15801561141157600080fd5b505af1158015611425573d6000803e3d6000fd5b505050505050505050565b62093a8081565b80156111c657603c81101561147d5760405162461bcd60e51b815260040180806020018281038252603a8152602001806120da603a913960400191505060405180910390fd5b620151808111156111c65760405162461bcd60e51b815260040180806020018281038252603b81526020018061220d603b913960400191505060405180910390fd5b6001600160a01b03811661151a576040805162461bcd60e51b815260206004820152601e60248201527f41746f6d6963206571756976616c656e74206973203020616464726573730000604482015290519081900360640190fd5b60408051602080820186905281830185905282518083038401815260608301808552815191909201206309b9412f60e31b9091526d53797374656d53657474696e677360901b606483015260848201526001600160a01b0383811660a4830152915191861691634dca09789160c48082019260009290919082900301818387803b15801561125057600080fd5b620151808110156115ff576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610bb3576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b670de0b6b3a764000081565b670c7d713b49da0000811115610bb35760405162461bcd60e51b8152600401808060200182810382526021815260200180611ff66021913960400191505060405180910390fd5b670de0b6b3a7640000811115610bb35760405162461bcd60e51b815260040180806020018281038252603381526020018061213a6033913960400191505060405180910390fd5b6d53797374656d53657474696e677360901b81565b6d53797374656d53657474696e677360901b90565b6040805160208082018690528183018590528251808303840181526060830180855281519190920120630fca29bf60e21b9091526d53797374656d53657474696e677360901b6064830152608482015282151560a482015290516001600160a01b03861691633f28a6fc9160c480830192600092919082900301818387803b15801561125057600080fd5b60408051630fca29bf60e21b81526d53797374656d53657474696e677360901b600482015260248101849052821515604482015290516001600160a01b03851691633f28a6fc91606480830192600092919082900301818387803b158015610c1957600080fd5b622dc6c081565b6040805160208082018690526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526d53797374656d53657474696e677360901b605883015260788201526098810183905290516001600160a01b03861691631d5b277f9160b880830192600092919082900301818387803b15801561125057600080fd5b67016345785d8a00008111156111c6576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b603c81565b6201518081565b671bc16d674ec8000081565b61012c81565b603281565b6203f4808111156119d05760405162461bcd60e51b815260040180806020018281038252602781526020018061216d6027913960400191505060405180910390fd5b61012c811015610bb35760405162461bcd60e51b815260040180806020018281038252602a8152602001806121e3602a913960400191505060405180910390fd5b6001600160a01b038116611a6c576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b604080516309b9412f60e31b81526d53797374656d53657474696e677360901b6004820152602481018490526001600160a01b038381166044830152915191851691634dca09789160648082019260009290919082900301818387803b158015610c1957600080fd5b670de0b6b3a7640000821315611b32576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4255524e5f4645455f52415445604482015290519081900360640190fd5b670de0b6b3a763ffff19821215611b7a5760405162461bcd60e51b81526004018080602001828103825260218152602001806120176021913960400191505060405180910390fd5b60008212156113745780826000031315611374576040805162461bcd60e51b815260206004820152601a60248201527f2d72617465203e20777261707065724d696e7446656552617465000000000000604482015290519081900360640190fd5b62b71b0081565b62093a80811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b80611c8c576040805162461bcd60e51b815260206004820152601b60248201527f4d61782064796e616d6963206665652063616e6e6f7420626520300000000000604482015290519081900360640190fd5b67016345785d8a0000811115610bb3576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6001600160c01b0381565b622dc6c08110158015611d0a575062b71b008111155b610bb3576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b6203f48081565b624f1a0081565b67016345785d8a000081565b73__$e545cc3346307399a10b9406a3a70b1ee5$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611db957600080fd5b505af4158015611dcd573d6000803e3d6000fd5b505050506040513d6020811015611de357600080fd5b5051610e1002811115611814576040805162461bcd60e51b815260206004820152600a60248201526926b0bc1018903437bab960b11b604482015290519081900360640190fd5b670de0b6b3a7640000811115610bb3576040805162461bcd60e51b815260206004820181905260248201527f72617465203e204d41585f575241505045525f4d494e545f4645455f52415445604482015290519081900360640190fd5b600082611e9657506000611ee3565b82820282848281611ea357fe5b0414611ee05760405162461bcd60e51b81526004018080602001828103825260218152602001806120b96021913960400191505060405180910390fd5b90505b92915050565b6000808211611f3f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611f4a57fe5b04949350505050565b600082820183811015611ee0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000611ee082610d0885670de0b6b3a764000063ffffffff611e8716565b6000670de0b6b3a7640000611fe6848463ffffffff611e8716565b81611fed57fe5b04939250505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c545972617465203c202d4d41585f575241505045525f4255524e5f4645455f524154456c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c74792972617465203c202d4d41585f575241505045525f4d494e545f4645455f5241544541746f6d6963206d617820766f6c756d6520657863656564206d6178696d756d2075696e74313932536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7741746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720756e646572206d696e696d756d2031206d696e41746f6d696320747761702077696e646f7720756e646572206d696e696d756d2031206d696e4e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f4d757374206265206c657373207468616e204d41585f4c49515549444154494f4e5f44454c41596c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f41746f6d696320747761702077696e646f7720657863656564206d6178696d756d2031206461794d7573742062652067726561746572207468616e204d494e5f4c49515549444154494f4e5f44454c415941746f6d696320766f6c6174696c69747920636f6e73696465726174696f6e2077696e646f7720657863656564206d6178696d756d203120646179a265627a7a72315820cd8363b75bb13ef0742464a072a3de5915154d92220f428192cdca5e26a0706264736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ATOMIC_TWAP_WINDOW",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ATOMIC_VOLUME_PER_BLOCK",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXCHANGE_FEE_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ISSUANCE_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_PENALTY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINIMUM_STAKE_TIME",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_TARGET_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_WRAPPER_BURN_FEE_RATE",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_WRAPPER_MINT_FEE_RATE",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_ATOMIC_TWAP_WINDOW",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_ATOMIC_VOLATILITY_CONSIDERATION_WINDOW",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "RATIO_FROM_TARGET_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SETTINGS_CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "contractName",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xc4e328478f9c625bb34c4f019040afd62b9dfb8f03882727e39888d3173f09a9",
				"urls": [
					"bzz-raw://9b67af2b53422c1e714c9b0d692091b106859c2fac8086e0138f0097404cc9b8",
					"dweb:/ipfs/Qme6KcWY48toJuoEKLHh8SJuKNcJPYHp5jfxXaYsELUTXc"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemSettingsLib.sol": "SystemSettingsLib"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemSettingsLib.sol": {
						"keccak256": "0xc4e328478f9c625bb34c4f019040afd62b9dfb8f03882727e39888d3173f09a9",
						"urls": [
							"bzz-raw://9b67af2b53422c1e714c9b0d692091b106859c2fac8086e0138f0097404cc9b8",
							"dweb:/ipfs/Qme6KcWY48toJuoEKLHh8SJuKNcJPYHp5jfxXaYsELUTXc"
						]
					}
				},
				"version": 1
			}
		},
		"SynthetixDebtShare": {
			"bytecode": "6080604052600a805460ff60881b191690553480156200001e57600080fd5b506040516200247238038062002472833981810160405260408110156200004457600080fd5b50805160209091015180826001600160a01b038116620000ab576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b03929092169190911790556040805180820190915260158082527f53796e746865746978204465627420536861726573000000000000000000000060209092019182526200016a91600891620001be565b506040805180820190915260038082526253445360e81b60209092019182526200019791600991620001be565b5050600a8054610100600160881b031960ff19909116601217166101001790555062000263565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200020157805160ff191683800117855562000231565b8280016001018555821562000231579182015b828111156200023157825182559160200191906001019062000214565b506200023f92915062000243565b5090565b6200026091905b808211156200023f57600081556001016200024a565b90565b6121ff80620002736000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806379ba509711610125578063a3e0a7d7116100ad578063cbf1304d1161007c578063cbf1304d146106cf578063d186820614610721578063dd62ed3e14610747578063e6d24bbd14610775578063f9cb1da31461079b5761021c565b8063a3e0a7d714610660578063a9059cbb146102c2578063abb6de951461067d578063c2f04b0a146106a35761021c565b80638ced14df116100f45780638ced14df1461053e5780638da5cb5b1461056a5780638f8495181461057257806395d89b4114610634578063988e65951461063c5761021c565b806379ba5097146104aa57806386f25e4d146104b2578063899ffef4146104ba5780638a25acf4146105125761021c565b806325428394116101a8578063392e53cd11610177578063392e53cd1461046457806353a47bb71461046c578063614d08f81461047457806370a082311461047c57806374185360146104a25761021c565b806325428394146103f25780632af64bd314610418578063313ce567146104205780633913d24b1461043e5761021c565b80631627540c116101ef5780631627540c1461032a578063174495dd1461035057806318160ddd146103765780631a378f0d1461039057806323b872dd146103bc5761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c25780631495552814610302575b600080fd5b6102296107c1565b604080516001600160a01b039092168252519081900360200190f35b61024d6107d0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b03813516906020013561085e565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610897565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b03166108fd565b6103286004803603602081101561036657600080fd5b50356001600160a01b0316610959565b61037e6109b7565b60408051918252519081900360200190f35b610328600480360360408110156103a657600080fd5b506001600160a01b0381351690602001356109db565b6102ee600480360360608110156103d257600080fd5b506001600160a01b03813581169160208101359091169060400135610b61565b6103286004803603602081101561040857600080fd5b50356001600160a01b0316610c61565b6102ee610cbf565b610428610dc9565b6040805160ff9092168252519081900360200190f35b6103286004803603602081101561045457600080fd5b50356001600160a01b0316610dd2565b6102ee610e38565b610229610e48565b61037e610e57565b61037e6004803603602081101561049257600080fd5b50356001600160a01b0316610e70565b610328610ede565b6103286110a6565b610328611162565b6104c261117f565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104fe5781810151838201526020016104e6565b505050509050019250505060405180910390f35b61037e6004803603604081101561052857600080fd5b506001600160a01b0381351690602001356111c7565b61037e6004803603604081101561055457600080fd5b506001600160a01b0381351690602001356112e6565b61022961132c565b6103286004803603604081101561058857600080fd5b8101906020810181356401000000008111156105a357600080fd5b8201836020820111156105b557600080fd5b803590602001918460208302840111640100000000831117156105d757600080fd5b9193909290916020810190356401000000008111156105f557600080fd5b82018360208201111561060757600080fd5b8035906020019184602083028401116401000000008311171561062957600080fd5b50909250905061133b565b61024d611643565b61064461169e565b604080516001600160801b039092168252519081900360200190f35b61037e6004803603602081101561067657600080fd5b50356116b2565b6103286004803603602081101561069357600080fd5b50356001600160801b03166116c4565b610328600480360360408110156106b957600080fd5b506001600160a01b0381351690602001356117fb565b6106fb600480360360408110156106e557600080fd5b506001600160a01b03813516906020013561197d565b604080516001600160801b03938416815291909216602082015281519081900390910190f35b6102ee6004803603602081101561073757600080fd5b50356001600160a01b03166119bd565b61037e6004803603604081101561075d57600080fd5b506001600160a01b03813581169160200135166119d2565b61037e6004803603602081101561078b57600080fd5b50356001600160a01b0316611a04565b6102ee600480360360208110156107b157600080fd5b50356001600160a01b0316611a23565b6002546001600160a01b031681565b6008805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b505050505081565b600060405162461bcd60e51b815260040180806020018281038252602181526020018061215c6021913960400191505060405180910390fd5b61089f611a38565b6001600160a01b038116600081815260046020908152604091829020805460ff19166001908117909155825190815291517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b610905611a38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610961611a38565b6001600160a01b0381166000818152600560209081526040808320805460ff191690558051928352517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a5461010090046001600160801b03166000908152600760205260409020545b90565b6109ed6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b031614610a3c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b038216610a97576040805162461bcd60e51b815260206004820152601d60248201527f45524332303a206275726e2066726f6d207a65726f2061646472657373000000604482015290519081900360640190fd5b610aa18282611b67565b600a5461010090046001600160801b0316600090815260076020526040902054610acb9082611d45565b600a5461010090046001600160801b03166000908152600760209081526040808320939093558251848152925191926001600160a01b0386169260008051602061217d833981519152929181900390910190a36040805182815290516001600160a01b038416917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a25050565b3360009081526004602052604081205460ff16610baf5760405162461bcd60e51b81526004018080602001828103825260318152602001806120a86031913960400191505060405180910390fd5b6001600160a01b038316610c0a576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a2073656e6420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610c148483611b67565b610c1e8383611da2565b826001600160a01b0316846001600160a01b031660008051602061217d833981519152846040518082815260200191505060405180910390a35060019392505050565b610c69611a38565b6001600160a01b0381166000818152600460209081526040808320805460ff191690558051928352517f6e713465f03f44982be319e75ac01e2170374630e7bde28a104881e236fb07e39281900390910190a250565b60006060610ccb61117f565b905060005b8151811015610dc0576000828281518110610ce757fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610d4f57600080fd5b505afa158015610d63573d6000803e3d6000fd5b505050506040513d6020811015610d7957600080fd5b50516001600160a01b0316141580610da657506000818152600360205260409020546001600160a01b0316155b15610db757600093505050506109d8565b50600101610cd0565b50600191505090565b600a5460ff1681565b610dda611a38565b6001600160a01b038116600081815260056020908152604091829020805460ff19166001908117909155825190815291517f6c26d4e15c21227ab0fca84cab71715b23c6c4137b24cbcaedc517b673a1781f9281900390910190a250565b600a54600160881b900460ff1681565b6001546001600160a01b031681565b7153796e74686574697844656274536861726560701b81565b6001600160a01b03811660009081526006602052604081205480610e98576000915050610ed9565b6001600160a01b038316600090815260066020526040902080546000198301908110610ec057fe5b6000918252602090912001546001600160801b03169150505b919050565b6060610ee861117f565b905060005b81518110156110a2576000828281518110610f0457fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610fba578181015183820152602001610fa2565b50505050905090810190601f168015610fe75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561100557600080fd5b505afa158015611019573d6000803e3d6000fd5b505050506040513d602081101561102f57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610eed565b5050565b6001546001600160a01b031633146110ef5760405162461bcd60e51b8152600401808060200182810382526035815260200180611fe36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b61116a611a38565b600a805460ff60881b1916600160881b179055565b604080516001808252818301909252606091602080830190803883390190505090506524b9b9bab2b960d11b816000815181106111b857fe5b60200260200101818152505090565b6001600160a01b03821660009081526006602052604081205481601e82116111f05760006111f5565b601e82035b905060001982015b818112611299576001600160a01b038616600090815260066020526040902080548691908390811061122b57fe5b600091825260209091200154600160801b90046001600160801b031611611290576001600160a01b038616600090815260066020526040902080548290811061127057fe5b6000918252602090912001546001600160801b031693506112e092505050565b600019016111fd565b600081126112d85760405162461bcd60e51b815260040180806020018281038252602f815260200180612018602f913960400191505060405180910390fd5b600093505050505b92915050565b6000806112f384846111c7565b9050806113045760009150506112e0565b60008381526007602052604090205461132490829063ffffffff611e9416565b949350505050565b6000546001600160a01b031681565b611343611a38565b600a54600160881b900460ff161561138c5760405162461bcd60e51b81526004018080602001828103825260358152602001806120fa6035913960400191505060405180910390fd5b600a5461010090046001600160801b0316600090815260076020526040812054905b8481101561161c5760006113dc8787848181106113c757fe5b905060200201356001600160a01b0316610e70565b90508484838181106113ea57fe5b905060200201358110156114ff5760008186868581811061140757fe5b9050602002013503905061143688888581811061142057fe5b905060200201356001600160a01b031682611da2565b611446848263ffffffff611ec516565b935087878481811061145457fe5b905060200201356001600160a01b03166001600160a01b03167f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885826040518082815260200191505060405180910390a28787848181106114b057fe5b905060200201356001600160a01b03166001600160a01b031660006001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a350611613565b84848381811061150b57fe5b9050602002013581111561161357600085858481811061152757fe5b905060200201358203905061155788888581811061154157fe5b905060200201356001600160a01b031682611b67565b611567848263ffffffff611d4516565b935087878481811061157557fe5b905060200201356001600160a01b03166001600160a01b03167fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5826040518082815260200191505060405180910390a260008888858181106115d357fe5b905060200201356001600160a01b03166001600160a01b031660008051602061217d833981519152836040518082815260200191505060405180910390a3505b506001016113ae565b50600a5461010090046001600160801b031660009081526007602052604090205550505050565b6009805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b600a5461010090046001600160801b031681565b60076020526000908152604090205481565b3360009081526005602052604090205460ff168061170457506116ef6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b0316145b61173f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061219d602e913960400191505060405180910390fd5b600a546001600160801b036101009091048116908216116117a7576040805162461bcd60e51b815260206004820152601e60248201527f706572696f64206964206d75737420616c7761797320696e6372656173650000604482015290519081900360640190fd5b600a8054610100908190046001600160801b03908116600090815260076020526040808220549590921680825291902093909355815470ffffffffffffffffffffffffffffffff0019169202919091179055565b61180d6524b9b9bab2b960d11b611a83565b6001600160a01b0316336001600160a01b03161461185c5760405162461bcd60e51b815260040180806020018281038252602d81526020018061212f602d913960400191505060405180910390fd5b6001600160a01b0382166118b7576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6118c18282611da2565b600a5461010090046001600160801b03166000908152600760205260409020546118eb9082611ec5565b600a5461010090046001600160801b0316600090815260076020908152604080832093909355825184815292516001600160a01b0386169360008051602061217d83398151915292908290030190a36040805182815290516001600160a01b038416917f0f6798a560793a54c3bcfe86a93cde1e73087d944c0ea20544137d4121396885919081900360200190a25050565b6006602052816000526040600020818154811061199657fe5b6000918252602090912001546001600160801b038082169350600160801b90910416905082565b60046020526000908152604090205460ff1681565b6001600160a01b03811660009081526004602052604081205460ff16156119fc57506000196112e0565b5060006112e0565b600a546000906112e090839061010090046001600160801b03166112e6565b60056020526000908152604090205460ff1681565b6000546001600160a01b03163314611a815760405162461bcd60e51b815260040180806020018281038252602f815260200180612079602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611b605760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611b25578181015183820152602001611b0d565b50505050905090810190601f168015611b525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6001600160a01b03821660009081526006602052604090205480611bbc5760405162461bcd60e51b81526004018080602001828103825260328152602001806120476032913960400191505060405180910390fd5b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611bea57fe5b6000918252602090912001546001600160801b03169063ffffffff611d4516565b600a546001600160a01b038616600090815260066020526040902080549293506101009091046001600160801b0316916000198501908110611c4957fe5b600091825260209091200154600160801b90046001600160801b031614611cea576001600160a01b038416600090815260066020908152604080832081518083019092526001600160801b038086168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611d3f565b6001600160a01b038416600090815260066020526040902080548291906000198501908110611d1557fe5b600091825260209091200180546001600160801b0319166001600160801b03929092169190911790555b50505050565b600082821115611d9c576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b03821660009081526006602052604090205480611e40576001600160a01b038316600090815260066020908152604080832081518083019092526001600160801b038087168352600a546101009004811683850190815282546001810184559286529390942091519101805492518416600160801b029184166001600160801b031990931692909217909216919091179055611e8f565b6001600160a01b03831660009081526006602052604081208054611c0b9185916000198601908110611e6e57fe5b6000918252602090912001546001600160801b03169063ffffffff611ec516565b505050565b6000611ebe82611eb285670de0b6b3a764000063ffffffff611f1f16565b9063ffffffff611f7816565b9392505050565b600082820183811015611ebe576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082611f2e575060006112e0565b82820282848281611f3b57fe5b0414611ebe5760405162461bcd60e51b81526004018080602001828103825260218152602001806120d96021913960400191505060405180910390fd5b6000808211611fce576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611fd957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053796e7468657469784465627453686172653a206e6f7420666f756e6420696e20726563656e7420686973746f727953796e7468657469784465627453686172653a206163636f756e7420686173206e6f20736861726520746f206465647563744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e53796e7468657469784465627453686172653a206f6e6c792062726f6b6572732063616e207472616e7366657246726f6d536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753796e746865746978446562743a206f6e6c792063616c6c61626c65207768696c65207374696c6c20696e697469616c697a696e6753796e7468657469784465627453686172653a206f6e6c79206973737565722063616e206d696e742f6275726e646562742073686172657320617265206e6f74207472616e736665727261626c65ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef53796e7468657469784465627453686172653a206e6f7420617574686f72697a656420746f20736e617073686f74a265627a7a72315820e11b43536dd21a59bb3dcb49ad27bfd66750e25ebf7094c5f21da77098b7418064736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Burn",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authorizedBroker",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "authorized",
							"type": "bool"
						}
					],
					"name": "ChangeAuthorizedBroker",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authorizedToSnapshot",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "authorized",
							"type": "bool"
						}
					],
					"name": "ChangeAuthorizedToSnapshot",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Mint",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						}
					],
					"name": "addAuthorizedBroker",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						}
					],
					"name": "addAuthorizedToSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "authorizedBrokers",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "authorizedToSnapshot",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "balanceOfOnPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "balances",
					"outputs": [
						{
							"internalType": "uint128",
							"name": "amount",
							"type": "uint128"
						},
						{
							"internalType": "uint128",
							"name": "periodId",
							"type": "uint128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnShare",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentPeriodId",
					"outputs": [
						{
							"internalType": "uint128",
							"name": "",
							"type": "uint128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "finishSetup",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "amounts",
							"type": "uint256[]"
						}
					],
					"name": "importAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isInitialized",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "mintShare",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						}
					],
					"name": "removeAuthorizedBroker",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "target",
							"type": "address"
						}
					],
					"name": "removeAuthorizedToSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "sharePercent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "sharePercentOnPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint128",
							"name": "id",
							"type": "uint128"
						}
					],
					"name": "takeSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "totalSupplyOnPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x403192bc309d6eee98ddbfaeed166b50c2665df94167c6970e785a65b71dd0e3",
				"urls": [
					"bzz-raw://d2970733a0d6aa60f3586add135bc3b3027a85a7b7b78aa13302b759da9e2a01",
					"dweb:/ipfs/QmXDdJw9UmFP23ERqEzgYGAJtBtmnkbVVu2Guj67dRkK81"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SynthetixDebtShare.sol": "SynthetixDebtShare"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SynthetixDebtShare.sol": {
						"keccak256": "0x403192bc309d6eee98ddbfaeed166b50c2665df94167c6970e785a65b71dd0e3",
						"urls": [
							"bzz-raw://d2970733a0d6aa60f3586add135bc3b3027a85a7b7b78aa13302b759da9e2a01",
							"dweb:/ipfs/QmXDdJw9UmFP23ERqEzgYGAJtBtmnkbVVu2Guj67dRkK81"
						]
					}
				},
				"version": 1
			}
		},
		"SignedSafeDecimalMath": {
			"bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a7231582002d10680a162a038b37ac2fc2674f016de20e4afe149e671085264fae2a1a3f164736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x0ddaacba077350bf0186ddf53ac5128dfc1de2b4a7e845ab15be49e78f96b5c9",
				"urls": [
					"bzz-raw://b3d390a2e050bb973002380fa2a51a122551b609862d0f29147fa18decc825ce",
					"dweb:/ipfs/QmXn396HhaabfdtctpgxKs5VHpPE6mJmRVJyXAS8tPtMEX"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SignedSafeDecimalMath.sol": "SignedSafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SignedSafeDecimalMath.sol": {
						"keccak256": "0x0ddaacba077350bf0186ddf53ac5128dfc1de2b4a7e845ab15be49e78f96b5c9",
						"urls": [
							"bzz-raw://b3d390a2e050bb973002380fa2a51a122551b609862d0f29147fa18decc825ce",
							"dweb:/ipfs/QmXn396HhaabfdtctpgxKs5VHpPE6mJmRVJyXAS8tPtMEX"
						]
					}
				},
				"version": 1
			}
		},
		"OneNetAggregatorIssuedSynths": {
			"bytecode": "608060405234801561001057600080fd5b506040516107c73803806107c78339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055506106b5806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b5035610533565b6101696004803603602081101561022e57600080fd5b5035610576565b6101696004803603602081101561024b57600080fd5b503561058c565b6101696105a2565b6101bc6105a8565b6002546001600160a01b031681565b6102796105d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7249737375656453796e7468730000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b815260040180806020018281038252603581526020018061061d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b505160035490915042901561052057506003545b6001989197509550859450879350915050565b61053b6105d1565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b6000610581826103d5565b509195945050505050565b6000610597826103d5565b509095945050505050565b60035481565b60008060008060006105c06105bb610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b0316331461061a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610652602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820a8352dd68973310a46b067473c21594fbc025d3483917d5536fa040291d56b6e64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SetOverrideTimestamp",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getAnswer",
					"outputs": [
						{
							"internalType": "int256",
							"name": "answer",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"name": "getRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "overrideTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "setOverrideTimestamp",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x0ede3bc15d24f2a3af48de0cec7077cd6572345a3fd313e22319e676eeb57526",
				"urls": [
					"bzz-raw://321ca48e8408efd0de1a3fe7c2f23e82ac6253e1e358aef10504cf2739af1e1a",
					"dweb:/ipfs/QmPDBHp4iKUvw76znEsFj4yLiJE4rVymfQrQetqkbgaRiK"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"OneNetAggregatorIssuedSynths.sol": "OneNetAggregatorIssuedSynths"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"OneNetAggregatorIssuedSynths.sol": {
						"keccak256": "0x0ede3bc15d24f2a3af48de0cec7077cd6572345a3fd313e22319e676eeb57526",
						"urls": [
							"bzz-raw://321ca48e8408efd0de1a3fe7c2f23e82ac6253e1e358aef10504cf2739af1e1a",
							"dweb:/ipfs/QmPDBHp4iKUvw76znEsFj4yLiJE4rVymfQrQetqkbgaRiK"
						]
					}
				},
				"version": 1
			}
		},
		"OneNetAggregatorDebtRatio": {
			"bytecode": "608060405234801561001057600080fd5b50604051610a7d380380610a7d8339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b03929092169190911790555061096b806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b610169610305565b61013961030a565b6100f76103c6565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103d5565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b503561068a565b6101696004803603602081101561022e57600080fd5b50356106cd565b6101696004803603602081101561024b57600080fd5b50356106e3565b6101696106f9565b6101bc6106ff565b6002546001600160a01b031681565b610279610728565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600090565b6001546001600160a01b031681565b7f4f6e654e657441676772656761746f7244656274526174696f0000000000000081565b600190565b6001546001600160a01b031633146103535760405162461bcd60e51b81526004018080602001828103825260358152602001806108b26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546040805163dacb2d0160e01b81526524b9b9bab2b960d11b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b60648201529051600092839283928392839283926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561046057600080fd5b505afa158015610474573d6000803e3d6000fd5b505050506040513d602081101561048a57600080fd5b505160408051637b1001b760e01b8152631cd554d160e21b60048201526001602482015290516001600160a01b0390921691637b1001b791604480820192602092909190829003018186803b1580156104e257600080fd5b505afa1580156104f6573d6000803e3d6000fd5b505050506040513d602081101561050c57600080fd5b50516002546040805163dacb2d0160e01b81527153796e74686574697844656274536861726560701b6004820152602481018290526013604482015272616767726567617465206465627420696e666f60681b606482015290519293506000926001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561059e57600080fd5b505afa1580156105b2573d6000803e3d6000fd5b505050506040513d60208110156105c857600080fd5b5051604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600480820192602092909190829003018186803b15801561060c57600080fd5b505afa158015610620573d6000803e3d6000fd5b505050506040513d602081101561063657600080fd5b50519050600081156106605761065b8261064f85610773565b9063ffffffff61078f16565b610663565b60005b60035490915042901561067557506003545b60019a91995097508796508995509350505050565b610692610728565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b60006106d8826103d5565b509195945050505050565b60006106ee826103d5565b509095945050505050565b60035481565b6000806000806000610717610712610305565b6103d5565b945094509450945094509091929394565b6000546001600160a01b031633146107715760405162461bcd60e51b815260040180806020018281038252602f8152602001806108e7602f913960400191505060405180910390fd5b565b600061078982633b9aca0063ffffffff6107ab16565b92915050565b60006107a48383670de0b6b3a7640000610804565b9392505050565b6000826107ba57506000610789565b828202828482816107c757fe5b04146107a45760405162461bcd60e51b81526004018080602001828103825260218152602001806109166021913960400191505060405180910390fd5b60008061082a8461081e87600a870263ffffffff6107ab16565b9063ffffffff61084716565b90506005600a82061061083b57600a015b600a9004949350505050565b600080821161089d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816108a857fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a7231582009e49f7debea502e08c3eb3be2d65a2024aceab8ea78b8785278a3ca603582cd64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SetOverrideTimestamp",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getAnswer",
					"outputs": [
						{
							"internalType": "int256",
							"name": "answer",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"name": "getRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "overrideTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "setOverrideTimestamp",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xb64547811fca7c66e90856ac0f175ca0e3dcc2033ec15985fbb854ff275e796c",
				"urls": [
					"bzz-raw://27c3111da5cb739550e024dd051aeb5ad4bcb57dcff396a29041ffa312228703",
					"dweb:/ipfs/QmP6J5yQFEq9N7JZ9659n2BbEPFmGZhZp2kLN512Azar9v"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"OneNetAggregatorDebtRatio.sol": "OneNetAggregatorDebtRatio"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"OneNetAggregatorDebtRatio.sol": {
						"keccak256": "0xb64547811fca7c66e90856ac0f175ca0e3dcc2033ec15985fbb854ff275e796c",
						"urls": [
							"bzz-raw://27c3111da5cb739550e024dd051aeb5ad4bcb57dcff396a29041ffa312228703",
							"dweb:/ipfs/QmP6J5yQFEq9N7JZ9659n2BbEPFmGZhZp2kLN512Azar9v"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeCircuitBreaker": {
			"bytecode": "608060405234801561001057600080fd5b506040516116d23803806116d28339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050506115ac806101266000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c8063614d08f8116100a25780637dd1a57a116100715780637dd1a57a14610253578063899ffef4146102705780638da5cb5b146102c8578063a47af19e146102d0578063cb1ec317146103065761010b565b8063614d08f814610218578063741853601461022057806378cb51cb1461022857806379ba50971461024b5761010b565b8063372a395a116100de578063372a395a146101e65780633fa70f45146102005780634ffcd9df1461020857806353a47bb7146102105761010b565b806304f3bcec146101105780631627540c1461013457806324286df01461015c5780632af64bd3146101ca575b600080fd5b610118610323565b604080516001600160a01b039092168252519081900360200190f35b61015a6004803603602081101561014a57600080fd5b50356001600160a01b0316610332565b005b61015a6004803603602081101561017257600080fd5b810190602081018135600160201b81111561018c57600080fd5b82018360208201111561019e57600080fd5b803590602001918460208302840111600160201b831117156101bf57600080fd5b50909250905061038e565b6101d2610623565b604080519115158252519081900360200190f35b6101ee61072e565b60408051918252519081900360200190f35b6101ee61073d565b610118610742565b61011861075d565b6101ee61076c565b61015a610789565b6101d26004803603604081101561023e57600080fd5b5080359060200135610951565b61015a610966565b6101ee6004803603602081101561026957600080fd5b5035610a22565b610278610a34565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102b457818101518382015260200161029c565b505050509050019250505060405180910390f35b610118610aec565b6102ed600480360360208110156102e657600080fd5b5035610afb565b6040805192835290151560208301528051918290030190f35b6102ed6004803603602081101561031c57600080fd5b5035610d75565b6002546001600160a01b031681565b61033a610e1a565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610396610e1a565b606060006103a2610742565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561041457600080fd5b505afa158015610428573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561045157600080fd5b8101908080516040519392919084600160201b82111561047057600080fd5b90830190602082018581111561048557600080fd5b82518660208202830111600160201b821117156104a157600080fd5b82525081516020918201928201910280838360005b838110156104ce5781810151838201526020016104b6565b50505050919091016040525060200151929450919250508115905061053a576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b8381101561061c577f04ee51667f8fd5f98b8803e7cd0a206fb508b0c37545e7f8055f0de051d8ad4385858381811061057257fe5b905060200201356004600088888681811061058957fe5b905060200201358152602001908152602001600020548584815181106105ab57fe5b602002602001015160405180848152602001838152602001828152602001935050505060405180910390a18281815181106105e257fe5b6020026020010151600460008787858181106105fa57fe5b602090810292909201358352508101919091526040016000205560010161053d565b5050505050565b6000606061062f610a34565b905060005b815181101561072457600082828151811061064b57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156106b357600080fd5b505afa1580156106c7573d6000803e3d6000fd5b505050506040513d60208110156106dd57600080fd5b50516001600160a01b031614158061070a57506000818152600360205260409020546001600160a01b0316155b1561071b576000935050505061072b565b50600101610634565b5060019150505b90565b6000610738610e65565b905090565b604181565b60006107386c45786368616e6765526174657360981b610f1c565b6001546001600160a01b031681565b7522bc31b430b733b2a1b4b931bab4ba213932b0b5b2b960511b81565b6060610793610a34565b905060005b815181101561094d5760008282815181106107af57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561086557818101518382015260200161084d565b50505050905090810190601f1680156108925780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156108b057600080fd5b505afa1580156108c4573d6000803e3d6000fd5b505050506040513d60208110156108da57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610798565b5050565b600061095d8383611000565b90505b92915050565b6001546001600160a01b031633146109af5760405162461bcd60e51b81526004018080602001828103825260358152602001806114f36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60009081526004602052604090205490565b606080610a3f61105f565b60408051600380825260808201909252919250606091906020820183803883390190505090506b53797374656d53746174757360a01b81600081518110610a8257fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110610aac57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610acf57fe5b602002602001018181525050610ae582826110b0565b9250505090565b6000546001600160a01b031681565b600080610b06611165565b6001600160a01b031663c0eee4436040518163ffffffff1660e01b815260040160206040518083038186803b158015610b3e57600080fd5b505afa158015610b52573d6000803e3d6000fd5b505050506040513d6020811015610b6857600080fd5b505115610b7457610d60565b600080610b7f610742565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610bc157600080fd5b505afa158015610bd5573d6000803e3d6000fd5b505050506040513d6040811015610beb57600080fd5b50805160209091015190925090508080610c0a5750610c0a858361117f565b15610d4b576000610c196113d4565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610c5c57600080fd5b505afa158015610c70573d6000803e3d6000fd5b505050506040513d6020811015610c8657600080fd5b50516001600160a01b03161415610cd4576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b610cdc611165565b6001600160a01b031663abc0bb6e8660416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610d2a57600080fd5b505af1158015610d3e573d6000803e3d6000fd5b5050505060019250610d5d565b60008581526004602052604090208290555b50505b60009283526004602052604090922054929050565b600080600080610d83610742565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610dc557600080fd5b505afa158015610dd9573d6000803e3d6000fd5b505050506040513d6040811015610def57600080fd5b5080516020909101519092509050818180610e0f5750610e0f868461117f565b935093505050915091565b6000546001600160a01b03163314610e635760405162461bcd60e51b815260040180806020018281038252602f815260200180611528602f913960400191505060405180910390fd5b565b6000610e6f6113e8565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015610eeb57600080fd5b505afa158015610eff573d6000803e3d6000fd5b505050506040513d6020811015610f1557600080fd5b5051905090565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610ff95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610fbe578181015183820152602001610fa6565b50505050905090810190601f168015610feb5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082158061100d575081155b1561101a57506001610960565b60008383111561103b57611034838563ffffffff61140516565b905061104e565b61104b848463ffffffff61140516565b90505b611056610e65565b11159392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106110a157fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156110e0578160200160208202803883390190505b50905060005b8351811015611122578381815181106110fb57fe5b602002602001015182828151811061110f57fe5b60209081029190910101526001016110e6565b5060005b8251811015610ff95782818151811061113b57fe5b602002602001015182828651018151811061115257fe5b6020908102919091010152600101611126565b60006107386b53797374656d53746174757360a01b610f1c565b60008161118e57506001610960565b60008381526004602052604090205480156111b5576111ad8184611000565b915050610960565b60606111bf610742565b6001600160a01b031663ed76245086600460006040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060006040518083038186803b15801561121457600080fd5b505afa158015611228573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561125157600080fd5b8101908080516040519392919084600160201b82111561127057600080fd5b90830190602082018581111561128557600080fd5b82518660208202830111600160201b821117156112a157600080fd5b82525081516020918201928201910280838360005b838110156112ce5781810151838201526020016112b6565b5050505090500160405260200180516040519392919084600160201b8211156112f657600080fd5b90830190602082018581111561130b57600080fd5b82518660208202830111600160201b8211171561132757600080fd5b82525081516020918201928201910280838360005b8381101561135457818101518382015260200161133c565b505050509050016040525050505090506000600190505b81518110156113c857600082828151811061138257fe5b60200260200101511180156113af57506113af8282815181106113a157fe5b602002602001015186611000565b156113c05760019350505050610960565b60010161136b565b50600095945050505050565b60006107386524b9b9bab2b960d11b610f1c565b60006107386e466c657869626c6553746f7261676560881b610f1c565b600061095d8261142385670de0b6b3a764000063ffffffff61142f16565b9063ffffffff61148816565b60008261143e57506000610960565b8282028284828161144b57fe5b041461095d5760405162461bcd60e51b81526004018080602001828103825260218152602001806115576021913960400191505060405180910390fd5b60008082116114de576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816114e957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158209782593f6a4fdb08c095cac3dcd7bebad5cb55611d73615e71041a392b0ad0d664736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "previousRate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRate",
							"type": "uint256"
						}
					],
					"name": "LastRateOverriden",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeRates",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "base",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "comparison",
							"type": "uint256"
						}
					],
					"name": "isDeviationAboveThreshold",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateWithBreakCircuit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "lastValidRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "circuitBroken",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateWithInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resetLastExchangeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x9a69567c37adbbe24df3515316cebbfb4899916d08af38c7738e4cd32c73827d",
				"urls": [
					"bzz-raw://9edb699f3216673201bcf24a5dc4289b3fb5e8614c5c5f2b9f270495005bd7f9",
					"dweb:/ipfs/QmZZvcu5Takmk2PZhQ7w83MTyHAcrbrHF1R2vouZXVJXSL"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeCircuitBreaker.sol": "ExchangeCircuitBreaker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeCircuitBreaker.sol": {
						"keccak256": "0x9a69567c37adbbe24df3515316cebbfb4899916d08af38c7738e4cd32c73827d",
						"urls": [
							"bzz-raw://9edb699f3216673201bcf24a5dc4289b3fb5e8614c5c5f2b9f270495005bd7f9",
							"dweb:/ipfs/QmZZvcu5Takmk2PZhQ7w83MTyHAcrbrHF1R2vouZXVJXSL"
						]
					}
				},
				"version": 1
			}
		},
		"EmptyFuturesMarketManager": {
			"bytecode": "608060405234801561001057600080fd5b506103f1806100206000396000f3fe608060405234801561001057600080fd5b50600436106100e95760003560e01c8063c03852fb1161008c578063f607d90011610066578063f607d90014610307578063fb77549c1461025c578063fc7b9c1814610326578063fe11edc914610347576100e9565b8063c03852fb1461023d578063ca0798851461025c578063e63bfadb146102ce576100e9565b80634dc25348116100c85780634dc25348146101c8578063614d08f8146101d057806395fafa4a146101d8578063a237e94d14610203576100e9565b80628d3aca146100ee57806326e04f9d146101ae578063375a7cba146101c8575b600080fd5b61015e6004803603602081101561010457600080fd5b81019060208101813564010000000081111561011f57600080fd5b82018360208201111561013157600080fd5b8035906020019184602083028401116401000000008311171561015357600080fd5b509092509050610366565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561019a578181015183820152602001610182565b505050509050019250505060405180910390f35b6101b661036e565b60408051918252519081900360200190f35b61015e610373565b6101b6610378565b61015e600480360360608110156101ee57600080fd5b5080359060208101359060400135151561039c565b6102296004803603602081101561021957600080fd5b50356001600160a01b03166103a5565b604080519115158252519081900360200190f35b6101b66004803603602081101561025357600080fd5b503515156103a5565b6102cc6004803603602081101561027257600080fd5b81019060208101813564010000000081111561028d57600080fd5b82018360208201111561029f57600080fd5b803590602001918460208302840111640100000000831117156102c157600080fd5b5090925090506103ab565b005b6102eb600480360360208110156102e457600080fd5b50356103a5565b604080516001600160a01b039092168252519081900360200190f35b61015e6004803603602081101561031d57600080fd5b503515156103af565b61032e6103b5565b6040805192835290151560208301528051918290030190f35b61015e6004803603604081101561035d57600080fd5b50803590602001355b606092915050565b600090565b606090565b7f456d707479467574757265734d61726b65744d616e616765720000000000000081565b60609392505050565b50600090565b5050565b50606090565b600080909156fea265627a7a723158205d30171eaccaddd378650539b227355ad13e075093b3396254c4a78cb46e745a64736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "addresses",
							"type": "address[]"
						}
					],
					"name": "addEndorsedAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allEndorsedAddresses",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "allMarkets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bool",
							"name": "proxiedMarkets",
							"type": "bool"
						}
					],
					"name": "allMarkets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isEndorsed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "marketKey",
							"type": "bytes32"
						}
					],
					"name": "marketForKey",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "proxiedMarkets",
							"type": "bool"
						}
					],
					"name": "markets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "markets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "marketKeys",
							"type": "bytes32[]"
						}
					],
					"name": "marketsForKeys",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "numMarkets",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bool",
							"name": "proxiedMarkets",
							"type": "bool"
						}
					],
					"name": "numMarkets",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "addresses",
							"type": "address[]"
						}
					],
					"name": "removeEndorsedAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x0e1391394e3eead86ca2ee2e3ddb46150935bc9c1251cb49f1d9509b825b390f",
				"urls": [
					"bzz-raw://60da747e296a533b1f937776072c570a5990c6f7be35b1807c4a321a80c7f8dc",
					"dweb:/ipfs/QmcwTW8Z2Mpa2RhomTfwsBLTGKMRG4kWDvxvjZUsVk2UGh"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EmptyFuturesMarketManager.sol": "EmptyFuturesMarketManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EmptyFuturesMarketManager.sol": {
						"keccak256": "0x0e1391394e3eead86ca2ee2e3ddb46150935bc9c1251cb49f1d9509b825b390f",
						"urls": [
							"bzz-raw://60da747e296a533b1f937776072c570a5990c6f7be35b1807c4a321a80c7f8dc",
							"dweb:/ipfs/QmcwTW8Z2Mpa2RhomTfwsBLTGKMRG4kWDvxvjZUsVk2UGh"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidator": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162002bb138038062002bb18339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61298e80620002236000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806374e889c911610104578063952225f3116100a2578063b410a03411610071578063b410a03414610350578063c855a8e114610358578063d45c0d7e14610360578063f557f73c14610373576101cf565b8063952225f31461030f578063974e9e7f14610322578063a0cf745114610335578063ad2bc2d51461033d576101cf565b8063828afc4b116100de578063828afc4b146102d7578063899ffef4146102ea5780638d1bd1be146102ff5780638da5cb5b14610307576101cf565b806374e889c9146102bf57806379ba5097146102c75780638074b372146102cf576101cf565b806339a9df1b116101715780635e887fe91161014b5780635e887fe914610284578063614d08f8146102a75780636a058966146102af57806374185360146102b7576101cf565b806339a9df1b1461024957806353a47bb71461025c5780635616c95714610271576101cf565b80631775765f116101ad5780631775765f1461021c57806323f5589a146102245780632af64bd31461022c57806331e4e03014610241576101cf565b806304f3bcec146101d45780631627540c146101f25780631710940c14610207575b600080fd5b6101dc610386565b6040516101e99190612749565b60405180910390f35b610205610200366004611f1e565b610395565b005b61020f6103f3565b6040516101e991906126a2565b61020f610403565b61020f61040d565b610234610417565b6040516101e99190612694565b61020f61052e565b610234610257366004611f1e565b610538565b610264610561565b6040516101e99190612625565b61026461027f366004611f1e565b610570565b610297610292366004611f62565b61058e565b6040516101e99493929190612858565b61020f610744565b61020f610755565b61020561076d565b61020f6108c3565b6102056108dd565b61020f610982565b61020f6102e5366004611f1e565b61098c565b6102f26109a7565b6040516101e99190612683565b61020f610a86565b610264610b1b565b61023461031d366004611f62565b610b2a565b610205610330366004611f1e565b610ce1565b61020f610d3d565b61020561034b366004611f1e565b610d47565b61020f610f1c565b61020f610f26565b61020561036e366004611f1e565b610f30565b61020f610381366004611fd8565b6112aa565b6002546001600160a01b031681565b61039d6113ab565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103e8908390612625565b60405180910390a150565b60006103fd6113d7565b90505b90565b60006103fd611488565b60006103fd6114e3565b600060606104236109a7565b905060005b815181101561052557600082828151811061043f57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906104909085906004016126a2565b60206040518083038186803b1580156104a857600080fd5b505afa1580156104bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104e09190810190611f44565b6001600160a01b031614158061050b57506000818152600360205260409020546001600160a01b0316155b1561051c5760009350505050610400565b50600101610428565b50600191505090565b60006103fd611543565b6000610542611ec5565b61054b8361159d565b905061055a816000015161171a565b9392505050565b6001546001600160a01b031681565b600061057a611ec5565b6105838361159d565b602001519392505050565b600080600080306001600160a01b031663952225f387876040518363ffffffff1660e01b81526004016105c292919061264e565b60206040518083038186803b1580156105da57600080fd5b505afa1580156105ee573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106129190810190611f9c565b6106ad57600080600061062361172c565b6001600160a01b031663d37c4d8b8a6040518263ffffffff1660e01b815260040161064e9190612669565b60206040518083038186803b15801561066657600080fd5b505afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069e9190810190611fba565b9296509094509250905061073b565b6106b561172c565b6001600160a01b0316635e887fe987876040518363ffffffff1660e01b81526004016106e292919061264e565b60806040518083038186803b1580156106fa57600080fd5b505afa15801561070e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107329190810190612025565b93509350935093505b92959194509250565b692634b8bab4b230ba37b960b11b81565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b60606107776109a7565b905060005b81518110156108bf57600082828151811061079357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016107d5919061261a565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610801929190612729565b60206040518083038186803b15801561081957600080fd5b505afa15801561082d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108519190810190611f44565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906108ad90849084906126b0565b60405180910390a1505060010161077c565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146109105760405162461bcd60e51b815260040161090790612778565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610953926001600160a01b0391821692911690612633565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006103fd611740565b6000610996611ec5565b61099f8361159d565b519392505050565b6060806109b2611795565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106109f657fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b81600181518110610a1c57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610a3f57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600381518110610a6957fe5b602002602001018181525050610a7f82826117e6565b9250505090565b60006103fd610a93611488565b73__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ad757600080fd5b505af4158015610aeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b0f9190810190611fba565b9063ffffffff6118a216565b6000546001600160a01b031681565b600080610b356118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b8152600401610b609190612625565b60206040518083038186803b158015610b7857600080fd5b505afa158015610b8c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb09190810190611fba565b9050610bba6118ce565b8111610bca576000915050610cdb565b82610c1a57610bd7611ec5565b610be08561159d565b9050610bef816000015161171a565b8015610bff5750610bff85611926565b15610c0f57600192505050610cdb565b600092505050610cdb565b600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c6057600080fd5b505af4158015610c74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c989190810190611fba565b9050610cc2610cb5610ca86114e3565b839063ffffffff6119d516565b829063ffffffff6119fa16565b821115610cd457600092505050610cdb565b5060019150505b92915050565b610ce961172c565b6001600160a01b0316336001600160a01b031614610d195760405162461bcd60e51b815260040161090790612798565b610d21611ec5565b610d2a8261159d565b8051909150156108bf576108bf82611a24565b60006103fd611afb565b620a69cb60eb1b610d56611b56565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610d8191906126a2565b60206040518083038186803b158015610d9957600080fd5b505afa158015610dad573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd19190810190611f9c565b15610dee5760405162461bcd60e51b815260040161090790612808565b610df6611b71565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610e2e57600080fd5b505afa158015610e42573d6000803e3d6000fd5b50505050610e4e611ec5565b610e578361159d565b8051909150610e785760405162461bcd60e51b815260040161090790612848565b6000610e826118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b8152600401610ead9190612625565b60206040518083038186803b158015610ec557600080fd5b505afa158015610ed9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610efd9190810190611fba565b9050610f076118ce565b8111610f1657610f1684611a24565b50505050565b60006103fd6118ce565b60006103fd611b8b565b620a69cb60eb1b610f3f611b56565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b8152600401610f6a91906126a2565b60206040518083038186803b158015610f8257600080fd5b505afa158015610f96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fba9190810190611f9c565b15610fd75760405162461bcd60e51b815260040161090790612808565b610fdf611b71565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561101757600080fd5b505afa15801561102b573d6000803e3d6000fd5b50506002546040516321f8a72160e01b8152600093506001600160a01b0390911691506321f8a72190611071906b131959d858de53585c9ad95d60a21b906004016126a2565b60206040518083038186803b15801561108957600080fd5b505afa15801561109d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110c19190810190611f44565b6001600160a01b0316146110e75760405162461bcd60e51b815260040161090790612818565b60006110f1611488565b1161110e5760405162461bcd60e51b8152600401610907906127d8565b6000611118611afb565b116111355760405162461bcd60e51b8152600401610907906127e8565b61113d611ec5565b6111468361159d565b8051909150156111685760405162461bcd60e51b815260040161090790612838565b60006111726118b7565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040161119d9190612625565b60206040518083038186803b1580156111b557600080fd5b505afa1580156111c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111ed9190810190611fba565b90506111f7611488565b8110156112165760405162461bcd60e51b8152600401610907906127b8565b61121f84611926565b61123b5760405162461bcd60e51b815260040161090790612768565b6000611255611248611afb565b429063ffffffff6119d516565b9050611262858233611bf3565b846001600160a01b03167fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c138579968260405161129b91906126a2565b60405180910390a25050505050565b6000806112b56118ce565b9050600073__$abda1d5d2dee01544eb6c8a96c021081fd$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156112fd57600080fd5b505af4158015611311573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113359190810190611fba565b9050600061135961134c878563ffffffff611d2016565b889063ffffffff611d4a16565b9050600061138d61138085611374868a63ffffffff6119d516565b9063ffffffff611d2016565b849063ffffffff611d4a16565b905061139f828263ffffffff6119fa16565b98975050505050505050565b6000546001600160a01b031633146113d55760405162461bcd60e51b8152600401610907906127f8565b565b60006113e1611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7573656c664c69717569646174696f6e50656e616c747960501b6040518363ffffffff1660e01b81526004016114389291906126be565b60206040518083038186803b15801561145057600080fd5b505afa158015611464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103fd9190810190611fba565b6000611492611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b81526004016114389291906126be565b60006114ed611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b74736e784c69717569646174696f6e50656e616c747960581b6040518363ffffffff1660e01b81526004016114389291906126be565b600061154d611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e1b1a5c5d5a59185d1954995dd85c99608a1b6040518363ffffffff1660e01b81526004016114389291906126be565b6115a5611ec5565b6115ad611d72565b6001600160a01b03166323257c2b692634b8bab4b230ba37b960b11b6115e9724c69717569646174696f6e446561646c696e6560681b86611d8f565b6040518363ffffffff1660e01b81526004016116069291906126be565b60206040518083038186803b15801561161e57600080fd5b505afa158015611632573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116569190810190611fba565b8152611660611d72565b6001600160a01b0316639ee5955a692634b8bab4b230ba37b960b11b61169a702634b8bab4b230ba34b7b721b0b63632b960791b86611d8f565b6040518363ffffffff1660e01b81526004016116b79291906126be565b60206040518083038186803b1580156116cf57600080fd5b505afa1580156116e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117079190810190611f44565b6001600160a01b03166020820152919050565b60008082118015610cdb575050421190565b60006103fd6524b9b9bab2b960d11b611dc2565b600061174a611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b69199b1859d4995dd85c9960b21b6040518363ffffffff1660e01b81526004016114389291906126be565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106117d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611816578160200160208202803883390190505b50905060005b83518110156118585783818151811061183157fe5b602002602001015182828151811061184557fe5b602090810291909101015260010161181c565b5060005b825181101561189b5782818151811061187157fe5b602002602001015182828651018151811061188857fe5b602090810291909101015260010161185c565b5092915050565b600061055a8383670de0b6b3a7640000611e1f565b60006103fd680a6f2dce8d0cae8d2f60bb1b611dc2565b60006118d8611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b81526004016114389291906126be565b60008061193161172c565b6001600160a01b031663a5fdc5de846040518263ffffffff1660e01b815260040161195c9190612625565b60206040518083038186803b15801561197457600080fd5b505afa158015611988573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119ac9190810190611fba565b90506119cd6119b9611740565b6119c1611543565b9063ffffffff6119d516565b111592915050565b60008282018381101561055a5760405162461bcd60e51b815260040161090790612788565b600061055a82611a1885670de0b6b3a764000063ffffffff611e5616565b9063ffffffff611e9016565b611a2c611d72565b6001600160a01b03166318f662ed692634b8bab4b230ba37b960b11b611a68724c69717569646174696f6e446561646c696e6560681b85611d8f565b6040518363ffffffff1660e01b8152600401611a859291906126be565b600060405180830381600087803b158015611a9f57600080fd5b505af1158015611ab3573d6000803e3d6000fd5b50505050806001600160a01b03167f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8742604051611af091906126a2565b60405180910390a250565b6000611b05611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b81526004016114389291906126be565b60006103fd6c45786368616e6765526174657360981b611dc2565b60006103fd6b53797374656d53746174757360a01b611dc2565b6000611b95611d72565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b81526004016114389291906126be565b611bfb611d72565b6001600160a01b0316631d5b277f692634b8bab4b230ba37b960b11b611c37724c69717569646174696f6e446561646c696e6560681b87611d8f565b856040518463ffffffff1660e01b8152600401611c5693929190612701565b600060405180830381600087803b158015611c7057600080fd5b505af1158015611c84573d6000803e3d6000fd5b50505050611c90611d72565b6001600160a01b0316634dca0978692634b8bab4b230ba37b960b11b611cca702634b8bab4b230ba34b7b721b0b63632b960791b87611d8f565b846040518463ffffffff1660e01b8152600401611ce9939291906126d9565b600060405180830381600087803b158015611d0357600080fd5b505af1158015611d17573d6000803e3d6000fd5b50505050505050565b6000670de0b6b3a7640000611d3b848463ffffffff611e5616565b81611d4257fe5b049392505050565b600082821115611d6c5760405162461bcd60e51b8152600401610907906127a8565b50900390565b60006103fd6e466c657869626c6553746f7261676560881b611dc2565b60008282604051602001611da49291906125d4565b60405160208183030381529060405280519060200120905092915050565b60008181526003602090815260408083205490516001600160a01b039091169182151591611df2918691016125fa565b6040516020818303038152906040529061189b5760405162461bcd60e51b81526004016109079190612757565b600080611e3984611a1887600a870263ffffffff611e5616565b90506005600a820610611e4a57600a015b600a9004949350505050565b600082611e6557506000610cdb565b82820282848281611e7257fe5b041461055a5760405162461bcd60e51b815260040161090790612828565b6000808211611eb15760405162461bcd60e51b8152600401610907906127c8565b6000828481611ebc57fe5b04949350505050565b604080518082019091526000808252602082015290565b8035610cdb81612922565b8051610cdb81612922565b8035610cdb81612939565b8051610cdb81612939565b8035610cdb81612942565b8051610cdb81612942565b600060208284031215611f3057600080fd5b6000611f3c8484611edc565b949350505050565b600060208284031215611f5657600080fd5b6000611f3c8484611ee7565b60008060408385031215611f7557600080fd5b6000611f818585611edc565b9250506020611f9285828601611ef2565b9150509250929050565b600060208284031215611fae57600080fd5b6000611f3c8484611efd565b600060208284031215611fcc57600080fd5b6000611f3c8484611f13565b600080600060608486031215611fed57600080fd5b6000611ff98686611f08565b935050602061200a86828701611f08565b925050604061201b86828701611f08565b9150509250925092565b6000806000806080858703121561203b57600080fd5b60006120478787611f13565b945050602061205887828801611f13565b935050604061206987828801611f13565b925050606061207a87828801611f13565b91505092959194509250565b6000612092838361211c565b505060200190565b6120a3816128ae565b82525050565b6120a36120b5826128ae565b612901565b60006120c58261289c565b6120cf81856128a0565b93506120da83612896565b8060005b838110156121085781516120f28882612086565b97506120fd83612896565b9250506001016120de565b509495945050505050565b6120a3816128b9565b6120a381610400565b6120a361213182610400565b610400565b6120a3816128ca565b600061214a8261289c565b61215481856128a0565b93506121648185602086016128d5565b61216d81612912565b9093019392505050565b6000612184601a836128a0565b7f6e6f7420656e6f75676820534e5820666f722072657761726473000000000000815260200192915050565b60006121bd6035836128a0565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612214601b836128a0565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061224d603c836128a0565b7f4c697175696461746f723a204f6e6c79207468652049737375657220636f6e7481527f726163742063616e20706572666f726d207468697320616374696f6e00000000602082015260400192915050565b60006122ac601e836128a0565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006122e56035836128a0565b7f4163636f756e742069737375616e636520726174696f206973206c657373207481527468616e206c69717569646174696f6e20726174696f60581b602082015260400192915050565b600061233c601a836128a0565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006123756011836128a9565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006123a26019836128a0565b7f4c69717569646174696f6e20726174696f206e6f742073657400000000000000815260200192915050565b60006123db6019836128a0565b7f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000815260200192915050565b6000612414602f836128a0565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631cd554d160e21b9052565b6000612471601b836128a0565b7f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000815260200192915050565b60006124aa6017836128a0565b7f4d757374206c6971756964617465207573696e67205633000000000000000000815260200192915050565b60006124e36021836128a0565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006125266027836128a0565b7f4163636f756e7420616c726561647920666c616767656420666f72206c69717581526634b230ba34b7b760c91b602082015260400192915050565b600061256f601e836128a0565b7f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000815260200192915050565b60006125a86019836128a9565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006125e08285612125565b6020820191506125f082846120a9565b5060140192915050565b600061260582612368565b91506126118284612125565b50602001919050565b60006126058261259b565b60208101610cdb828461209a565b60408101612641828561209a565b61055a602083018461209a565b6040810161265c828561209a565b61055a6020830184612113565b60408101612677828461209a565b610cdb60208301612458565b6020808252810161055a81846120ba565b60208101610cdb8284612113565b60208101610cdb828461211c565b60408101612641828561211c565b604081016126cc828561211c565b61055a602083018461211c565b606081016126e7828661211c565b6126f4602083018561211c565b611f3c604083018461209a565b6060810161270f828661211c565b61271c602083018561211c565b611f3c604083018461211c565b60408101612737828561211c565b8181036020830152611f3c818461213f565b60208101610cdb8284612136565b6020808252810161055a818461213f565b60208082528101610cdb81612177565b60208082528101610cdb816121b0565b60208082528101610cdb81612207565b60208082528101610cdb81612240565b60208082528101610cdb8161229f565b60208082528101610cdb816122d8565b60208082528101610cdb8161232f565b60208082528101610cdb81612395565b60208082528101610cdb816123ce565b60208082528101610cdb81612407565b60208082528101610cdb81612464565b60208082528101610cdb8161249d565b60208082528101610cdb816124d6565b60208082528101610cdb81612519565b60208082528101610cdb81612562565b60808101612866828761211c565b612873602083018661211c565b612880604083018561211c565b61288d606083018461211c565b95945050505050565b60200190565b5190565b90815260200190565b919050565b6000610cdb826128be565b151590565b6001600160a01b031690565b6000610cdb826128ae565b60005b838110156128f05781810151838201526020016128d8565b83811115610f165750506000910152565b6000610cdb826000610cdb8261291c565b601f01601f191690565b60601b90565b61292b816128ae565b811461293657600080fd5b50565b61292b816128b9565b61292b8161040056fea365627a7a7231582024777914534a520d590d4cd50a223287b75058bcf967b23f4de5f238c7a6c0c56c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "deadline",
							"type": "uint256"
						}
					],
					"name": "AccountFlaggedForLiquidation",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountRemovedFromLiquidation",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_CALLER",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_DEADLINE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToFixCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAndRemoveAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "flagAccountForLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "flagReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationCallerForAccount",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationDeadlineForAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isLiquidationDeadlinePassed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isSelfLiquidation",
							"type": "bool"
						}
					],
					"name": "isLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidateReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "isSelfLiquidation",
							"type": "bool"
						}
					],
					"name": "liquidationAmounts",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtToRemove",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "escrowToLiquidate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationEscrowDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "removeAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "selfLiquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x04ca15c8a874862ae8997031bbb2330db2fb7ecd489b46b86645f545151ae581",
				"urls": [
					"bzz-raw://65587bed5957f76ccb199abf8d04a17eae2ea8329b8336891f62af862339b3d8",
					"dweb:/ipfs/QmWmnnZ3MDsefyXS2vKQvZm9KeEsh5CQXbZTNrYNKcS39f"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Liquidator.sol": "Liquidator"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Liquidator.sol": {
						"keccak256": "0x04ca15c8a874862ae8997031bbb2330db2fb7ecd489b46b86645f545151ae581",
						"urls": [
							"bzz-raw://65587bed5957f76ccb199abf8d04a17eae2ea8329b8336891f62af862339b3d8",
							"dweb:/ipfs/QmWmnnZ3MDsefyXS2vKQvZm9KeEsh5CQXbZTNrYNKcS39f"
						]
					}
				},
				"version": 1
			}
		},
		"LiquidatorRewards": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200187938038062001879833981016040819052620000349162000100565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b0392909216919091179055505060016004555062000217565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b61165280620002276000396000f3fe608060405234801561001057600080fd5b50600436106100ff5760003560e01c806353a47bb711610097578063899ffef411610066578063899ffef4146101da5780638da5cb5b146101ef578063c00007b0146101f7578063f29ee1251461020a576100ff565b806353a47bb7146101ad578063614d08f8146101c257806374185360146101ca57806379ba5097146101d2576100ff565b80631627540c116100d35780631627540c1461016a578063270fb3381461017f5780632af64bd3146101925780633c6b16ab1461019a576100ff565b80628cc26214610104578063049939f31461012d57806304f3bcec1461014d578063061960aa14610162575b600080fd5b610117610112366004610fc4565b61022b565b6040516101249190611460565b60405180910390f35b61014061013b366004610fc4565b610334565b6040516101249190611452565b610155610349565b60405161012491906114aa565b610117610358565b61017d610178366004610fc4565b61035e565b005b61017d61018d366004610fc4565b6103bc565b61014061049a565b61017d6101a8366004611026565b6105b2565b6101b56106a5565b60405161012491906113d5565b6101176106b4565b61017d6106cc565b61017d610822565b6101e26108be565b6040516101249190611441565b6101b56109a4565b61017d610205366004610fc4565b6109b3565b61021d610218366004610fc4565b610b78565b604051610124929190611549565b6000610235610f76565b506001600160a01b0382166000908152600660209081526040918290208251808401909352546001600160801b03808216808552600160801b9092041691830182905260055461032d92610321916102929163ffffffff610b9e16565b61029a610bcb565b6001600160a01b03166370a08231886040518263ffffffff1660e01b81526004016102c591906113d5565b60206040518083038186803b1580156102dd57600080fd5b505afa1580156102f1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103159190810190611044565b9063ffffffff610bf016565b9063ffffffff610c1a16565b9392505050565b60076020526000908152604090205460ff1681565b6002546001600160a01b031681565b60055481565b610366610c3f565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906103b19083906113d5565b60405180910390a150565b6001600160a01b03811660009081526007602052604090205460ff1661042b576005546001600160a01b038216600090815260066020908152604080832080546001600160801b03958616600160801b029516949094179093556007905220805460ff19166001179055610497565b604051806040016040528061043f8361022b565b6001600160801b03908116825260055481166020928301526001600160a01b038416600090815260068352604090208351815494909301518216600160801b029282166001600160801b031990941693909317161790555b50565b600060606104a66108be565b905060005b81518110156105a85760008282815181106104c257fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610513908590600401611460565b60206040518083038186803b15801561052b57600080fd5b505afa15801561053f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105639190810190610fea565b6001600160a01b031614158061058e57506000818152600360205260409020546001600160a01b0316155b1561059f57600093505050506105af565b506001016104ab565b5060019150505b90565b60006105bc610c6b565b6001600160a01b0316336001600160a01b0316149050806105f85760405162461bcd60e51b81526004016105ef906114c9565b60405180910390fd5b6000610602610bcb565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561063a57600080fd5b505afa15801561064e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106729190810190611044565b905080156106a05761069c61068d848363ffffffff610c8216565b6005549063ffffffff610c1a16565b6005555b505050565b6001546001600160a01b031681565b704c697175696461746f725265776172647360781b81565b60606106d66108be565b905060005b815181101561081e5760008282815181106106f257fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161073491906113ca565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161076092919061148a565b60206040518083038186803b15801561077857600080fd5b505afa15801561078c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107b09190810190610fea565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061080c908490849061146e565b60405180910390a150506001016106db565b5050565b6001546001600160a01b0316331461084c5760405162461bcd60e51b81526004016105ef906114d9565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261088f926001600160a01b03918216929116906113e3565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806108c9610cac565b60408051600480825260a0820190925291925060609190602082016080803883390190505090507153796e74686574697844656274536861726560701b8160008151811061091357fe5b6020026020010181815250506524b9b9bab2b960d11b8160018151811061093657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160028151811061096157fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061098757fe5b60200260200101818152505061099d8282610cfd565b9250505090565b6000546001600160a01b031681565b60048054600101908190556109c7826103bc565b6001600160a01b0382166000908152600660205260409020546001600160801b03168015610b56576001600160a01b038316600090815260066020526040902080546001600160801b0319169055610a1d610c6b565b6001600160a01b031663095ea7b3610a33610db9565b836040518363ffffffff1660e01b8152600401610a519291906113fe565b602060405180830381600087803b158015610a6b57600080fd5b505af1158015610a7f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa39190810190611008565b50610aac610db9565b6001600160a01b031663a0416ed38483610ac4610dd5565b6040518463ffffffff1660e01b8152600401610ae293929190611419565b600060405180830381600087803b158015610afc57600080fd5b505af1158015610b10573d6000803e3d6000fd5b50505050826001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610b4d9190611460565b60405180910390a25b50600454811461081e5760405162461bcd60e51b81526004016105ef90611539565b6006602052600090815260409020546001600160801b0380821691600160801b90041682565b600082821115610bc05760405162461bcd60e51b81526004016105ef906114f9565b508082035b92915050565b6000610beb7153796e74686574697844656274536861726560701b610e8d565b905090565b6000670de0b6b3a7640000610c0b848463ffffffff610eea16565b81610c1257fe5b049392505050565b60008282018381101561032d5760405162461bcd60e51b81526004016105ef906114e9565b6000546001600160a01b03163314610c695760405162461bcd60e51b81526004016105ef90611519565b565b6000610beb680a6f2dce8d0cae8d2f60bb1b610e8d565b600061032d82610ca085670de0b6b3a764000063ffffffff610eea16565b9063ffffffff610f2416565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610cee57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015610d2d578160200160208202803883390190505b50905060005b8351811015610d6f57838181518110610d4857fe5b6020026020010151828281518110610d5c57fe5b6020908102919091010152600101610d33565b5060005b8251811015610db257828181518110610d8857fe5b6020026020010151828286510181518110610d9f57fe5b6020908102919091010152600101610d73565b5092915050565b6000610beb6d2932bbb0b93222b9b1b937bbab1960911b610e8d565b6000610ddf610f59565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e457363726f774475726174696f6e000000000000006040518363ffffffff1660e01b8152600401610e3d92919061147c565b60206040518083038186803b158015610e5557600080fd5b505afa158015610e69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190611044565b60008181526003602090815260408083205490516001600160a01b039091169182151591610ebd918691016113aa565b60405160208183030381529060405290610db25760405162461bcd60e51b81526004016105ef91906114b8565b600082610ef957506000610bc5565b82820282848281610f0657fe5b041461032d5760405162461bcd60e51b81526004016105ef90611529565b6000808211610f455760405162461bcd60e51b81526004016105ef90611509565b6000828481610f5057fe5b04949350505050565b6000610beb6e466c657869626c6553746f7261676560881b610e8d565b604080518082019091526000808252602082015290565b8035610bc5816115e9565b8051610bc5816115e9565b8051610bc5816115fd565b8035610bc581611606565b8051610bc581611606565b600060208284031215610fd657600080fd5b6000610fe28484610f8d565b949350505050565b600060208284031215610ffc57600080fd5b6000610fe28484610f98565b60006020828403121561101a57600080fd5b6000610fe28484610fa3565b60006020828403121561103857600080fd5b6000610fe28484610fae565b60006020828403121561105657600080fd5b6000610fe28484610fb9565b600061106e83836110e7565b505060200190565b61107f8161157c565b82525050565b60006110908261156a565b61109a818561156e565b93506110a583611564565b8060005b838110156110d35781516110bd8882611062565b97506110c883611564565b9250506001016110a9565b509495945050505050565b61107f81611587565b61107f816105af565b61107f6110fc826105af565b6105af565b61107f816115a4565b60006111158261156a565b61111f818561156e565b935061112f8185602086016115af565b611138816115df565b9093019392505050565b600061114f600e8361156e565b6d53796e746865746978206f6e6c7960901b815260200192915050565b600061117960358361156e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111d0601b8361156e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611209601e8361156e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000611242601a8361156e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061127b601183611577565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006112a8602f8361156e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006112f960218361156e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061133c601983611577565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611375601f8361156e565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b61107f8161158c565b60006113b58261126e565b91506113c182846110f0565b50602001919050565b60006113b58261132f565b60208101610bc58284611076565b604081016113f18285611076565b61032d6020830184611076565b6040810161140c8285611076565b61032d60208301846110e7565b606081016114278286611076565b61143460208301856110e7565b610fe260408301846110e7565b6020808252810161032d8184611085565b60208101610bc582846110de565b60208101610bc582846110e7565b604081016113f182856110e7565b6040810161140c82856110e7565b6040810161149882856110e7565b8181036020830152610fe2818461110a565b60208101610bc58284611101565b6020808252810161032d818461110a565b60208082528101610bc581611142565b60208082528101610bc58161116c565b60208082528101610bc5816111c3565b60208082528101610bc5816111fc565b60208082528101610bc581611235565b60208082528101610bc58161129b565b60208082528101610bc5816112ec565b60208082528101610bc581611368565b6040810161155782856113a1565b61032d60208301846113a1565b60200190565b5190565b90815260200190565b919050565b6000610bc582611598565b151590565b6001600160801b031690565b6001600160a01b031690565b6000610bc58261157c565b60005b838110156115ca5781810151838201526020016115b2565b838111156115d9576000848401525b50505050565b601f01601f191690565b6115f28161157c565b811461049757600080fd5b6115f281611587565b6115f2816105af56fea365627a7a72315820b154d3ba76f0c46718f1a26607bca820731db04f29487c73eba947186030843b6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accumulatedRewardsPerShare",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "entries",
					"outputs": [
						{
							"internalType": "uint128",
							"name": "claimable",
							"type": "uint128"
						},
						{
							"internalType": "uint128",
							"name": "entryAccumulatedRewards",
							"type": "uint128"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "initiated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "updateEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x621221d61543cd3356f62b60c84c1a0ba0763ab6caada6705df5db116bcab9e0",
				"urls": [
					"bzz-raw://f440aba73c6f10efa0d7a57890ccc51a2ebc7db360513d8acd11060e3b80cf67",
					"dweb:/ipfs/QmSZ9FgbQZayzNXn5fSZunmXzWkeHcc4NsNXfbTAvRc6ej"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"LiquidatorRewards.sol": "LiquidatorRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"LiquidatorRewards.sol": {
						"keccak256": "0x621221d61543cd3356f62b60c84c1a0ba0763ab6caada6705df5db116bcab9e0",
						"urls": [
							"bzz-raw://f440aba73c6f10efa0d7a57890ccc51a2ebc7db360513d8acd11060e3b80cf67",
							"dweb:/ipfs/QmSZ9FgbQZayzNXn5fSZunmXzWkeHcc4NsNXfbTAvRc6ej"
						]
					}
				},
				"version": 1
			}
		},
		"OneNetAggregatorsDEFI": {
			"bytecode": "608060405234801561001057600080fd5b506040516106743803806106748339818101604052602081101561003357600080fd5b5051803380610089576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b039290921691909117905550610562806101126000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80638da5cb5b1161008c578063b5ab58dc11610066578063b5ab58dc14610218578063b633620c14610235578063ec5c889d14610252578063feaf968c1461025a576100ea565b80638da5cb5b1461018b5780639a6fc8f514610193578063b00a84c9146101fb576100ea565b806353a47bb7116100c857806353a47bb714610159578063614d08f814610161578063668a0f021461017b57806379ba509714610183576100ea565b806304f3bcec146100ef5780631627540c14610113578063313ce5671461013b575b600080fd5b6100f7610262565b604080516001600160a01b039092168252519081900360200190f35b6101396004803603602081101561012957600080fd5b50356001600160a01b0316610271565b005b6101436102cd565b6040805160ff9092168252519081900360200190f35b6100f76102d2565b6101696102e1565b60408051918252519081900360200190f35b6101696102fd565b610139610302565b6100f76103be565b6101bc600480360360208110156101a957600080fd5b503569ffffffffffffffffffff166103cd565b6040805169ffffffffffffffffffff96871681526020810195909552848101939093526060840191909152909216608082015290519081900360a00190f35b6101396004803603602081101561021157600080fd5b50356103e0565b6101696004803603602081101561022e57600080fd5b5035610423565b6101696004803603602081101561024b57600080fd5b5035610439565b61016961044f565b6101bc610455565b6002546001600160a01b031681565b61027961047e565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600890565b6001546001600160a01b031681565b744f6e654e657441676772656761746f72734445464960581b81565b600190565b6001546001600160a01b0316331461034b5760405162461bcd60e51b81526004018080602001828103825260358152602001806104ca6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b50600190644a63af1b0090429081908490565b6103e861047e565b60038190556040805182815290517f0c353e7b16d02337ff57a02fe5b0a5506fa6f85187948be32d182e393b99a8f29181900360200190a150565b600061042e826103cd565b509195945050505050565b6000610444826103cd565b509095945050505050565b60035481565b600080600080600061046d6104686102fd565b6103cd565b945094509450945094509091929394565b6000546001600160a01b031633146104c75760405162461bcd60e51b815260040180806020018281038252602f8152602001806104ff602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820d79bf8d4c3e563bd2a93d5f497880761f8c0de381a5b1d35884e3189a76436ec64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SetOverrideTimestamp",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getAnswer",
					"outputs": [
						{
							"internalType": "int256",
							"name": "answer",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"name": "getRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_roundId",
							"type": "uint256"
						}
					],
					"name": "getTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "latestRoundData",
					"outputs": [
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						},
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint80",
							"name": "",
							"type": "uint80"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "overrideTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "setOverrideTimestamp",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x5b5d345731005a6932760cc76f2a390544cae09c21f7141f4ebeca21f9248692",
				"urls": [
					"bzz-raw://22fa50edf05ee7c60343a4425df992e2dd334c8591b1baf9e9974346109ee7e9",
					"dweb:/ipfs/QmWQYxMiBfMP5Y3473fds9JkLYWp5M2DtB672qKcoaAVUj"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"OneNetAggregatorsDEFI.sol": "OneNetAggregatorsDEFI"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"OneNetAggregatorsDEFI.sol": {
						"keccak256": "0x5b5d345731005a6932760cc76f2a390544cae09c21f7141f4ebeca21f9248692",
						"urls": [
							"bzz-raw://22fa50edf05ee7c60343a4425df992e2dd334c8591b1baf9e9974346109ee7e9",
							"dweb:/ipfs/QmWQYxMiBfMP5Y3473fds9JkLYWp5M2DtB672qKcoaAVUj"
						]
					}
				},
				"version": 1
			}
		},
		"CircuitBreaker": {
			"bytecode": "608060405234801561001057600080fd5b506040516113cc3803806113cc8339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050506112a6806101266000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806374185360116100975780638da5cb5b116100665780638da5cb5b1461027a578063ba03e93f14610282578063cfefbc7f146102a8578063ec5f638e1461036a57610100565b806374185360146101ef57806378cb51cb146101f757806379ba50971461021a578063899ffef41461022257610100565b8063372a395a116100d3578063372a395a14610199578063413caeb5146101b357806353a47bb7146101df578063614d08f8146101e757610100565b806304f3bcec146101055780631627540c1461012957806318b844ad146101515780632af64bd314610191575b600080fd5b61010d610390565b604080516001600160a01b039092168252519081900360200190f35b61014f6004803603602081101561013f57600080fd5b50356001600160a01b031661039f565b005b61017d6004803603604081101561016757600080fd5b506001600160a01b0381351690602001356103fb565b604080519115158252519081900360200190f35b61017d610439565b6101a1610544565b60408051918252519081900360200190f35b61017d600480360360408110156101c957600080fd5b506001600160a01b038135169060200135610553565b61010d610782565b6101a1610791565b61014f6107a6565b61017d6004803603604081101561020d57600080fd5b508035906020013561096e565b61014f61097a565b61022a610a36565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561026657818101518382015260200161024e565b505050509050019250505060405180910390f35b61010d610aee565b6101a16004803603602081101561029857600080fd5b50356001600160a01b0316610afd565b61014f600480360360408110156102be57600080fd5b8101906020810181356401000000008111156102d957600080fd5b8201836020820111156102eb57600080fd5b8035906020019184602083028401116401000000008311171561030d57600080fd5b91939092909160208101903564010000000081111561032b57600080fd5b82018360208201111561033d57600080fd5b8035906020019184602083028401116401000000008311171561035f57600080fd5b509092509050610b18565b61017d6004803603602081101561038057600080fd5b50356001600160a01b0316610cf6565b6002546001600160a01b031681565b6103a7610d14565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001600160a01b03821660009081526005602052604081205460ff168061042757506104278383610d5f565b80610430575081155b90505b92915050565b60006060610445610a36565b905060005b815181101561053a57600082828151811061046157fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156104c957600080fd5b505afa1580156104dd573d6000803e3d6000fd5b505050506040513d60208110156104f357600080fd5b50516001600160a01b031614158061052057506000818152600360205260409020546001600160a01b0316155b156105315760009350505050610541565b5060010161044a565b5060019150505b90565b600061054e610d9a565b905090565b60006105676524b9b9bab2b960d11b610e51565b6001600160a01b0316336001600160a01b031614806105af575061059a6c45786368616e6765526174657360981b610e51565b6001600160a01b0316336001600160a01b0316145b6105ea5760405162461bcd60e51b815260040180806020018281038252602e815260200180611244602e913960400191505060405180910390fd5b6001600160a01b03831661063b576040805162461bcd60e51b815260206004820152601360248201527204f7261636c652061646472657373206973203606c1b604482015290519081900360640190fd5b81158061064d575061064d8383610d5f565b801561067257506001600160a01b03831660009081526005602052604090205460ff16155b80156106e75750610681610f35565b6001600160a01b031663c0eee4436040518163ffffffff1660e01b815260040160206040518083038186803b1580156106b957600080fd5b505afa1580156106cd573d6000803e3d6000fd5b505050506040513d60208110156106e357600080fd5b5051155b15610754576001600160a01b0383166000818152600560209081526040808320805460ff19166001179055600482529182902054825190815290810185905281517f67bad4b353dfb692ff5355991cbbb32b44e8b68fe393f9116791efc111beefe7929181900390910190a25b506001600160a01b039190911660009081526004602090815260408083209390935560059052205460ff1690565b6001546001600160a01b031681565b6d21b4b931bab4ba213932b0b5b2b960911b81565b60606107b0610a36565b905060005b815181101561096a5760008282815181106107cc57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561088257818101518382015260200161086a565b50505050905090810190601f1680156108af5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d60208110156108f757600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016107b5565b5050565b60006104308383610f4f565b6001546001600160a01b031633146109c35760405162461bcd60e51b81526004018080602001828103825260358152602001806111bf6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610a41610fae565b60408051600380825260808201909252919250606091906020820183803883390190505090506b53797374656d53746174757360a01b81600081518110610a8457fe5b6020026020010181815250506524b9b9bab2b960d11b81600181518110610aa757fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610ad157fe5b602002602001018181525050610ae78282610fff565b9250505090565b6000546001600160a01b031681565b6001600160a01b031660009081526004602052604090205490565b610b20610d14565b60005b83811015610cef576000858583818110610b3957fe5b905060200201356001600160a01b03166001600160a01b03161415610b9b576040805162461bcd60e51b815260206004820152601360248201527204f7261636c652061646472657373206973203606c1b604482015290519081900360640190fd5b848482818110610ba757fe5b905060200201356001600160a01b03166001600160a01b03167f915f74751eb02d50f865435828021de99701d7eca4ccd06a308d5dc01ab70ace60046000888886818110610bf157fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002054858585818110610c2e57fe5b604080519485526020918202939093013590840152508051918290030190a2828282818110610c5957fe5b9050602002013560046000878785818110610c7057fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002081905550600060056000878785818110610cb657fe5b602090810292909201356001600160a01b0316835250810191909152604001600020805460ff1916911515919091179055600101610b23565b5050505050565b6001600160a01b031660009081526005602052604090205460ff1690565b6000546001600160a01b03163314610d5d5760405162461bcd60e51b815260040180806020018281038252602f8152602001806111f4602f913960400191505060405180910390fd5b565b6001600160a01b0382166000908152600460205260408120548015610d9057610d888184610f4f565b915050610433565b5060009392505050565b6000610da46110b4565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015610e2057600080fd5b505afa158015610e34573d6000803e3d6000fd5b505050506040513d6020811015610e4a57600080fd5b5051905090565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081610f2e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ef3578181015183820152602001610edb565b50505050905090810190601f168015610f205780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600061054e6b53797374656d53746174757360a01b610e51565b6000821580610f5c575081155b15610f6957506001610433565b600083831115610f8a57610f83838563ffffffff6110d116565b9050610f9d565b610f9a848463ffffffff6110d116565b90505b610fa5610d9a565b11159392505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110610ff057fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561102f578160200160208202803883390190505b50905060005b83518110156110715783818151811061104a57fe5b602002602001015182828151811061105e57fe5b6020908102919091010152600101611035565b5060005b8251811015610f2e5782818151811061108a57fe5b60200260200101518282865101815181106110a157fe5b6020908102919091010152600101611075565b600061054e6e466c657869626c6553746f7261676560881b610e51565b6000610430826110ef85670de0b6b3a764000063ffffffff6110fb16565b9063ffffffff61115416565b60008261110a57506000610433565b8282028284828161111757fe5b04146104305760405162461bcd60e51b81526004018080602001828103825260218152602001806112236021913960400191505060405180910390fd5b60008082116111aa576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816111b557fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c7920696e7465726e616c20636f6e7472616374732063616e2063616c6c20746869732066756e6374696f6ea265627a7a723158201a3a0aff9c339f00b0b926ad3067bd81d9155a470f7dbb7ef6250e8991bebf3e64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "previousValue",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newValue",
							"type": "uint256"
						}
					],
					"name": "CircuitBroken",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "previousValue",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newValue",
							"type": "uint256"
						}
					],
					"name": "LastValueOverridden",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						}
					],
					"name": "circuitBroken",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "base",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "comparison",
							"type": "uint256"
						}
					],
					"name": "isDeviationAboveThreshold",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "isInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						}
					],
					"name": "lastValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "oracleAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "probeCircuitBreaker",
					"outputs": [
						{
							"internalType": "bool",
							"name": "circuitBroken",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "oracleAddresses",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "values",
							"type": "uint256[]"
						}
					],
					"name": "resetLastValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x73c5c888b94317948d43dc70a2424ea4963649c19272588fc02135692b7cde30",
				"urls": [
					"bzz-raw://77720fedfbff9f4814e68c1e07ee9c41a2cb7c6003eaa678ba8242128b0e0597",
					"dweb:/ipfs/QmVfknypJg4fEt3kwt6mnpAYLBFEZqaWDDzXhEEKDxbbxP"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CircuitBreaker.sol": "CircuitBreaker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"CircuitBreaker.sol": {
						"keccak256": "0x73c5c888b94317948d43dc70a2424ea4963649c19272588fc02135692b7cde30",
						"urls": [
							"bzz-raw://77720fedfbff9f4814e68c1e07ee9c41a2cb7c6003eaa678ba8242128b0e0597",
							"dweb:/ipfs/QmVfknypJg4fEt3kwt6mnpAYLBFEZqaWDDzXhEEKDxbbxP"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrowV2Storage": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162001db138038062001db183398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b611adf80620002d26000396000f3fe608060405234801561001057600080fd5b506004361061014d5760003560e01c806353401559116100c3578063ae5825491161007c578063ae58254914610294578063aefc4ccb146102a7578063c8949d11146102af578063cec7bdb1146102c4578063d5e6a906146102d7578063e6b2cf6c146102ea5761014d565b8063534015591461024c57806353a47bb71461025f578063614d08f81461027457806371e780f31461027c57806379ba5097146102845780638da5cb5b1461028c5761014d565b80633d1d26bd116101155780633d1d26bd146101d85780633e21e59a146101eb57806343ba57df146101fe57806345626bd61461021157806352580bb71461023157806352f445ca146102395761014d565b80631627540c14610152578063204b676a14610167578063227d517a1461019057806327f071d2146101a3578063326a3cfb146101c5575b600080fd5b6101656101603660046112fa565b6102f2565b005b61017a6101753660046112fa565b610350565b60405161018791906118c9565b60405180910390f35b61017a61019e3660046112fa565b6103af565b6101b66101b136600461138a565b610489565b604051610187939291906119e3565b61017a6101d33660046112fa565b610608565b6101656101e63660046113f5565b610681565b6101656101f9366004611320565b610716565b61017a61020c36600461135a565b6107c4565b61022461021f366004611320565b610903565b60405161018791906119d5565b61017a610a4f565b6101656102473660046112fa565b610a55565b61016561025a366004611320565b610aa8565b610267610bca565b6040516101879190611885565b61017a610bd9565b61017a610bf5565b610165610c27565b610267610cc3565b61017a6102a2366004611320565b610cd2565b610267610dd5565b6102b7610de4565b60405161018791906118d7565b6101656102d2366004611320565b610df3565b6101656102e53660046113d7565b610ea7565b61017a61100f565b6102fa611015565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610345908390611885565b60405180910390a150565b600b546000906001600160a01b03166103845760405162461bcd60e51b815260040161037b906119b5565b60405180910390fd5b6001600160a01b0382166000908152600460205260409020546103a683611041565b0190505b919050565b600b546000906001600160a01b03166103da5760405162461bcd60e51b815260040161037b906119b5565b6001600160a01b0382166000908152600760205260409020548061048057600b5460405163113ea8bd60e11b81526001600160a01b039091169063227d517a90610428908690600401611885565b60206040518083038186803b15801561044057600080fd5b505afa158015610454573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104789190810190611431565b9150506103aa565b6104788161108f565b600b54600090819081906001600160a01b03166104b85760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146104e25760405162461bcd60e51b815260040161037b90611965565b600084116105025760405162461bcd60e51b815260040161037b90611985565b61050b866110a8565b600061051687610350565b9050600081116105385760405162461bcd60e51b815260040161037b90611975565b8086106105575760405162461bcd60e51b815260040161037b90611955565b600080610562611242565b8891505b838210156105d9576105788a83610cd2565b92506105848a84610903565b6020810151909150156105ce5760208101516105a790889063ffffffff61116f16565b96506105c28a84836000015167ffffffffffffffff1661119b565b8787106105ce576105d9565b600190910190610566565b8382146105e657816105eb565b600182035b905190955067ffffffffffffffff16935050505093509350939050565b600b546000906001600160a01b03166106335760405162461bcd60e51b815260040161037b906119b5565b6001600160a01b0382166000908152600660205260409020548061048057600b5460405163326a3cfb60e01b81526001600160a01b039091169063326a3cfb90610428908690600401611885565b600b546001600160a01b03166106a95760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146106d35760405162461bcd60e51b815260040161037b90611965565b60006106ed826106e1610bf5565b9063ffffffff6111e516565b905060008112156107105760405162461bcd60e51b815260040161037b906118e5565b60085550565b600b546001600160a01b031661073e5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146107685760405162461bcd60e51b815260040161037b90611965565b6000610777826106e1856103af565b9050600081121561079a5760405162461bcd60e51b815260040161037b906119a5565b6107a38161122b565b6001600160a01b039093166000908152600760205260409020929092555050565b600b546000906001600160a01b03166107ef5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b031633146108195760405162461bcd60e51b815260040161037b90611965565b610826602083018361144f565b67ffffffffffffffff1661084c5760405162461bcd60e51b815260040161037b90611905565b6009546040805180820190915280610867602086018661144f565b63ffffffff90811682526001600160e01b036020878101358216938101939093526001600160a01b0388166000818152600385526040808220888352865280822087518154988801519095166401000000000294861663ffffffff199098169790971790941692909217909455928352600482528220805460018181018355918452919092200182905560098054909101905590505b92915050565b61090b611242565b600b546001600160a01b03166109335760405162461bcd60e51b815260040161037b906119b5565b61093b611242565b50506001600160a01b038216600090815260036020908152604080832084845282529182902082518084018452905463ffffffff80821683526001600160e01b036401000000009092048216838501908152855180870190965283519091168552511691830191909152600a54831080156109bf5750815167ffffffffffffffff16155b15610a4857600b546040516322b135eb60e11b81526001600160a01b03909116906345626bd6906109f690879087906004016118ae565b604080518083038186803b158015610a0d57600080fd5b505afa158015610a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a459190810190611413565b91505b5092915050565b600a5481565b610a5d611015565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610345908390611885565b600b546001600160a01b0316610ad05760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b03163314610afa5760405162461bcd60e51b815260040161037b90611965565b6001600160a01b03821660009081526003602090815260408083208484529091529020805463ffffffff1680610bb957600b546040516322b135eb60e11b81526001600160a01b03909116906345626bd690610b5c90879087906004016118ae565b604080518083038186803b158015610b7357600080fd5b505afa158015610b87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bab9190810190611413565b5167ffffffffffffffff1690505b610bc484848361119b565b50505050565b6001546001600160a01b031681565b74526577617264457363726f77563253746f7261676560581b81565b600b546000906001600160a01b0316610c205760405162461bcd60e51b815260040161037b906119b5565b5060085490565b6001546001600160a01b03163314610c515760405162461bcd60e51b815260040161037b906118f5565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610c94926001600160a01b0391821692911690611893565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600b546000906001600160a01b0316610cfd5760405162461bcd60e51b815260040161037b906119b5565b6000610d0884611041565b905080831015610d9c57600b5460405163ae58254960e01b81526001600160a01b039091169063ae58254990610d4490879087906004016118ae565b60206040518083038186803b158015610d5c57600080fd5b505afa158015610d70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d949190810190611431565b9150506108fd565b6001600160a01b03841660009081526004602052604090208054828503908110610dc257fe5b90600052602060002001549150506108fd565b6002546001600160a01b031681565b600b546001600160a01b031681565b600b546001600160a01b0316610e1b5760405162461bcd60e51b815260040161037b906119b5565b6002546001600160a01b03163314610e455760405162461bcd60e51b815260040161037b90611965565b6000610e54826106e185610608565b90506000811215610e775760405162461bcd60e51b815260040161037b90611935565b610e808161122b565b6001600160a01b038416600090815260066020526040902055610ea282610681565b505050565b610eaf611015565b600b546001600160a01b031615610ed85760405162461bcd60e51b815260040161037b906119c5565b6001600160a01b038116610efe5760405162461bcd60e51b815260040161037b90611995565b600b80546001600160a01b0319166001600160a01b038316908117909155604080516339acb3db60e21b8152905163e6b2cf6c91600480820192602092909190829003018186803b158015610f5257600080fd5b505afa158015610f66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f8a9190810190611431565b6009819055600a55600b54604080516371e780f360e01b815290516001600160a01b03909216916371e780f391600480820192602092909190829003018186803b158015610fd757600080fd5b505afa158015610feb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107109190810190611431565b60095481565b6000546001600160a01b0316331461103f5760405162461bcd60e51b815260040161037b90611945565b565b6001600160a01b0381166000908152600560205260408120548061048057600b54604051631025b3b560e11b81526001600160a01b039091169063204b676a90610428908690600401611885565b600060001982146110a057816108fd565b600092915050565b6001600160a01b03811660009081526005602052604090205461116c57600b54604051631025b3b560e11b81526000916001600160a01b03169063204b676a906110f6908590600401611885565b60206040518083038186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111469190810190611431565b90506111518161122b565b6001600160a01b038316600090815260056020526040902055505b50565b6000828201838110156111945760405162461bcd60e51b815260040161037b90611915565b9392505050565b6001600160a01b03831660009081526003602090815260408083208584529091529020816111c957426111cb565b815b815463ffffffff191663ffffffff91821617169055505050565b60008282018183128015906111fa5750838112155b8061120f575060008312801561120f57508381125b6111945760405162461bcd60e51b815260040161037b90611925565b6000811561123957816108fd565b50600019919050565b604080518082019091526000808252602082015290565b80356108fd81611a6d565b80356108fd81611a81565b80356108fd81611a8a565b60006040828403121561128c57600080fd5b50919050565b6000604082840312156112a457600080fd5b6112ae6040611a0b565b905060006112bc84846112ef565b82525060206112cd848483016112d9565b60208301525092915050565b80516108fd81611a8a565b80356108fd81611a93565b80516108fd81611a93565b60006020828403121561130c57600080fd5b60006113188484611259565b949350505050565b6000806040838503121561133357600080fd5b600061133f8585611259565b92505060206113508582860161126f565b9150509250929050565b6000806060838503121561136d57600080fd5b60006113798585611259565b92505060206113508582860161127a565b60008060006060848603121561139f57600080fd5b60006113ab8686611259565b93505060206113bc8682870161126f565b92505060406113cd8682870161126f565b9150509250925092565b6000602082840312156113e957600080fd5b60006113188484611264565b60006020828403121561140757600080fd5b6000611318848461126f565b60006040828403121561142557600080fd5b60006113188484611292565b60006020828403121561144357600080fd5b600061131884846112d9565b60006020828403121561146157600080fd5b600061131884846112e4565b61147681611a3b565b82525050565b61147681611a46565b61147681611a49565b600061149b603483611a32565b7f757064617465546f74616c457363726f77656442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b60006114f1603583611a32565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611548601883611a32565b7f76657374696e67207461726765742074696d65207a65726f0000000000000000815260200192915050565b6000611581601b83611a32565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006115ba602183611a32565b7f5369676e6564536166654d6174683a206164646974696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006115fd603483611a32565b7f757064617465457363726f774163636f756e7442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b6000611653602f83611a32565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006116a4601383611a32565b720e6e8c2e4e892dcc8caf040e8dede40d0d2ced606b1b815260200192915050565b60006116d3603483611a32565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b6000611729601583611a32565b746e6f20656e747269657320746f206974657261746560581b815260200192915050565b600061175a601483611a32565b73746172676574416d6f756e74206973207a65726f60601b815260200192915050565b600061178a601683611a32565b7563616e6e6f74206265207a65726f206164647265737360501b815260200192915050565b60006117bc603483611a32565b7f7570646174655665737465644163636f756e7442616c616e63653a2062616c618152736e6365206d75737420626520706f73697469766560601b602082015260400192915050565b6000611812601083611a32565b6f19985b1b189858dac81b9bdd081cd95d60821b815260200192915050565b600061183e600b83611a32565b6a185b1c9958591e481cd95d60aa1b815260200192915050565b80516040830190611869848261187c565b506020820151610bc4602085018261147c565b61147681611a60565b602081016108fd828461146d565b604081016118a1828561146d565b611194602083018461146d565b604081016118bc828561146d565b611194602083018461147c565b602081016108fd828461147c565b602081016108fd8284611485565b602080825281016108fd8161148e565b602080825281016108fd816114e4565b602080825281016108fd8161153b565b602080825281016108fd81611574565b602080825281016108fd816115ad565b602080825281016108fd816115f0565b602080825281016108fd81611646565b602080825281016108fd81611697565b602080825281016108fd816116c6565b602080825281016108fd8161171c565b602080825281016108fd8161174d565b602080825281016108fd8161177d565b602080825281016108fd816117af565b602080825281016108fd81611805565b602080825281016108fd81611831565b604081016108fd8284611858565b606081016119f1828661147c565b6119fe602083018561147c565b611318604083018461147c565b60405181810167ffffffffffffffff81118282101715611a2a57600080fd5b604052919050565b90815260200190565b60006108fd82611a54565b90565b60006108fd82611a3b565b6001600160a01b031690565b67ffffffffffffffff1690565b611a7681611a3b565b811461116c57600080fd5b611a7681611a49565b611a7681611a46565b611a7681611a6056fea365627a7a72315820d2ccae27926187b1ce8ca11e20998e761403e003af1be8596418f2ccb61ed0336c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "accountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry",
							"name": "entry",
							"type": "tuple"
						}
					],
					"name": "addVestingEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fallbackRewardEscrow",
					"outputs": [
						{
							"internalType": "contract IRewardEscrowV2Frozen",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "firstNonFallbackId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextEntryId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IRewardEscrowV2Frozen",
							"name": "_fallbackRewardEscrow",
							"type": "address"
						}
					],
					"name": "setFallbackRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryId",
							"type": "uint256"
						}
					],
					"name": "setZeroAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "startIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "targetAmount",
							"type": "uint256"
						}
					],
					"name": "setZeroAmountUntilTarget",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "endIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastEntryTime",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "int256",
							"name": "delta",
							"type": "int256"
						}
					],
					"name": "updateEscrowAccountBalance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "int256",
							"name": "delta",
							"type": "int256"
						}
					],
					"name": "updateTotalEscrowedBalance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "int256",
							"name": "delta",
							"type": "int256"
						}
					],
					"name": "updateVestedAccountBalance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryId",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry",
							"name": "entry",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x65f2455507f58e94591f9ef492e5f06468afaeb2d9f07933648155b7b68257fb",
				"urls": [
					"bzz-raw://6aedfd8d8d427423ae230225e704d0eb33005ce303f252a3433295e03ab346e3",
					"dweb:/ipfs/QmPjzVYZoFpJPvtdgjHbWjdqyLaUWCGWkfbQUX1qcbPogQ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrowV2Storage.sol": "RewardEscrowV2Storage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrowV2Storage.sol": {
						"keccak256": "0x65f2455507f58e94591f9ef492e5f06468afaeb2d9f07933648155b7b68257fb",
						"urls": [
							"bzz-raw://6aedfd8d8d427423ae230225e704d0eb33005ce303f252a3433295e03ab346e3",
							"dweb:/ipfs/QmPjzVYZoFpJPvtdgjHbWjdqyLaUWCGWkfbQUX1qcbPogQ"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeSettlementLib": {
			"bytecode": "611b9f610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100615760003560e01c80630a0ecd1b14610066578063291be93d146100925780632f2de902146100b257806377cd29a5146100d45780638317e96b14610103575b600080fd5b6100796100743660046113c1565b610123565b6040516100899493929190611a8c565b60405180910390f35b6100a56100a03660046112ca565b610155565b60405161008991906118b9565b8180156100be57600080fd5b506100d26100cd366004611418565b6101e9565b005b8180156100e057600080fd5b506100f46100ef366004611349565b6103d9565b60405161008993929190611a7e565b6101166101113660046113c1565b610712565b60405161008991906118ab565b60008080606061014361013b368a90038a018a6114b9565b888888610764565b929b919a509850909650945050505050565b60006101de856001600160a01b031663f1406dc886866040518363ffffffff1660e01b81526004016101889291906117ca565b60206040518083038186803b1580156101a057600080fd5b505afa1580156101b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101d891908101906114d7565b83610a99565b90505b949350505050565b60006101fb6040890160208a016112ac565b6001600160a01b0316637a018a1e876040518263ffffffff1660e01b815260040161022691906118b9565b60206040518083038186803b15801561023e57600080fd5b505afa158015610252573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061027691908101906114d7565b9050600061028a60408a0160208b016112ac565b6001600160a01b0316637a018a1e866040518263ffffffff1660e01b81526004016102b591906118b9565b60206040518083038186803b1580156102cd57600080fd5b505afa1580156102e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061030591908101906114d7565b905061031460208a018a6112ac565b6001600160a01b0316633ca9d85c898989898989428a8a6040518a63ffffffff1660e01b815260040161034f99989796959493929190611814565b600060405180830381600087803b15801561036957600080fd5b505af115801561037d573d6000803e3d6000fd5b50505050876001600160a01b03167f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398888888888888886040516103c69796959493929190611913565b60405180910390a2505050505050505050565b600080806103f56103ed60208a018a6112ac565b888887610155565b1561041b5760405162461bcd60e51b815260040161041290611a60565b60405180910390fd5b60008080606061043b610433368e90038e018e6114b9565b8c8c8b610764565b93509350935093508284111561047c5761045b848463ffffffff610aed16565b965061047761046f368e90038e018e6114b9565b8c8c8a610b15565b6104b0565b838311156104b057610494838563ffffffff610aed16565b95506104b06104a8368e90038e018e6114b9565b8c8c89610c60565b8880156104c7575060008711806104c75750600086115b1561057657604080516001808252818301909252606091602080830190803883390190505090508a816000815181106104fc57fe5b602090810291909101015261051760808e0160608f016112ac565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b8152600401610542919061189a565b600060405180830381600087803b15801561055c57600080fd5b505af1158015610570573d6000803e3d6000fd5b50505050505b60005b8151811015610691578b6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e9408383815181106105b957fe5b6020026020010151600001518484815181106105d157fe5b6020026020010151602001518585815181106105e957fe5b60200260200101516040015186868151811061060157fe5b60200260200101516060015187878151811061061957fe5b60200260200101516080015188888151811061063157fe5b602002602001015160a0015189898151811061064957fe5b602002602001015160c001518a8a8151811061066157fe5b602002602001015160e0015160405161068198979695949392919061197b565b60405180910390a2600101610579565b5090935083906106a460208d018d6112ac565b6001600160a01b031663d0d3d62a8c8c6040518363ffffffff1660e01b81526004016106d19291906117ca565b600060405180830381600087803b1580156106eb57600080fd5b505af11580156106ff573d6000803e3d6000fd5b5050505050505050955095509592505050565b600061072c61072460208701876112ac565b858585610155565b15610739575060016101e1565b600061075561074d368890038801886114b9565b868686610764565b50505015159695505050505050565b6000806000606087600001516001600160a01b031663b44e975388886040518363ffffffff1660e01b815260040161079d9291906117ca565b60206040518083038186803b1580156107b557600080fd5b505afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ed91908101906114d7565b915060608260405190808252806020026020018201604052801561082b57816020015b610818611097565b8152602001906001900390816108105790505b50905060005b83811015610a8b57610841611097565b8a5161084f908b8b85610d73565b90506000806108638d60200151848c610e52565b915091506000808e602001516001600160a01b0316636ce66c8086600001518760200151886040015188886040518663ffffffff1660e01b81526004016108ae9594939291906118c7565b60606040518083038186803b1580156108c657600080fd5b505afa1580156108da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108fe91908101906114f5565b50509050610910818660800151610f7c565b91505060008e604001516001600160a01b03166378cb51cb8660600151846040518363ffffffff1660e01b815260040161094b929190611a70565b60206040518083038186803b15801561096357600080fd5b505afa158015610977573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061099b91908101906111de565b905060008082610a165783876060015111156109df5760608701516109c6908563ffffffff610aed16565b91506109d88d8363ffffffff61100e16565b9c50610a16565b8660600151841115610a16576060870151610a0190859063ffffffff610aed16565b9050610a138c8263ffffffff61100e16565b9b505b6040518061010001604052808860000151815260200188602001518152602001886040015181526020018381526020018281526020018781526020018681526020018860a00151815250898981518110610a6c57fe5b6020026020010181905250505050505050508080600101915050610831565b509050945094509450949050565b6000821580610ab75750610ab3838363ffffffff61100e16565b4210155b15610ac457506000610ae7565b610ae442610ad8858563ffffffff61100e16565b9063ffffffff610aed16565b90505b92915050565b600082821115610b0f5760405162461bcd60e51b815260040161041290611a40565b50900390565b83608001516001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610b4591906118b9565b60206040518083038186803b158015610b5d57600080fd5b505afa158015610b71573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b95919081019061132b565b6001600160a01b0316639dc29fac84836040518363ffffffff1660e01b8152600401610bc29291906117ca565b600060405180830381600087803b158015610bdc57600080fd5b505af1158015610bf0573d6000803e3d6000fd5b505050508360a001516001600160a01b031663ace88afd8484846040518463ffffffff1660e01b8152600401610c28939291906117ec565b600060405180830381600087803b158015610c4257600080fd5b505af1158015610c56573d6000803e3d6000fd5b5050505050505050565b83608001516001600160a01b03166332608039836040518263ffffffff1660e01b8152600401610c9091906118b9565b60206040518083038186803b158015610ca857600080fd5b505afa158015610cbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce0919081019061132b565b6001600160a01b031663867904b484836040518363ffffffff1660e01b8152600401610d0d9291906117ca565b600060405180830381600087803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b505050508360a001516001600160a01b0316636f01a9868484846040518463ffffffff1660e01b8152600401610c28939291906117ec565b610d7b611097565b6000806000806000806000808c6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b8152600401610db7939291906117ec565b6101006040518083038186803b158015610dd057600080fd5b505afa158015610de4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e0891908101906111fc565b60408051610100810182529889526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201529d9c50505050505050505050505050565b815160c083015160a084015160405163084f235160e11b815260009384936001600160a01b0389169363109e46a293610e929392919089906004016119f2565b60206040518083038186803b158015610eaa57600080fd5b505afa158015610ebe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ee291908101906114d7565b60408086015160e087015160a0880151925163084f235160e11b81529395506001600160a01b0389169363109e46a293610f2293929189906004016119f2565b60206040518083038186803b158015610f3a57600080fd5b505afa158015610f4e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f7291908101906114d7565b9050935093915050565b6000610ae46110018373__$b35dcef3cd2d171b7cf73a40e8ebe9aba0$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610fc957600080fd5b505af4158015610fdd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ad891908101906114d7565b849063ffffffff61103316565b600082820183811015610ae45760405162461bcd60e51b815260040161041290611a30565b6000670de0b6b3a764000061104e848463ffffffff61105d16565b8161105557fe5b049392505050565b60008261106c57506000610ae7565b8282028284828161107957fe5b0414610ae45760405162461bcd60e51b815260040161041290611a50565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b8035610ae781611b2a565b8035610ae781611b41565b8051610ae781611b41565b8035610ae781611b4a565b8051610ae781611b4a565b8035610ae781611b53565b8051610ae781611b53565b600060c0828403121561114157600080fd5b50919050565b600060c0828403121561115957600080fd5b61116360c0611ac6565b905060006111718484611119565b825250602061118284848301611119565b602083015250604061119684828501611119565b60408301525060606111aa84828501611119565b60608301525060806111be84828501611119565b60808301525060a06111d284828501611119565b60a08301525092915050565b6000602082840312156111f057600080fd5b60006101e184846110f8565b600080600080600080600080610100898b03121561121957600080fd5b60006112258b8b61110e565b98505060206112368b828c0161110e565b97505060406112478b828c0161110e565b96505060606112588b828c0161110e565b95505060806112698b828c0161110e565b94505060a061127a8b828c0161110e565b93505060c061128b8b828c0161110e565b92505060e061129c8b828c0161110e565b9150509295985092959890939650565b6000602082840312156112be57600080fd5b60006101e18484611119565b600080600080608085870312156112e057600080fd5b60006112ec8787611119565b94505060206112fd878288016110e2565b935050604061130e87828801611103565b925050606061131f87828801611103565b91505092959194509250565b60006020828403121561133d57600080fd5b60006101e18484611124565b6000806000806000610140868803121561136257600080fd5b600061136e888861112f565b95505060c061137f888289016110e2565b94505060e061139088828901611103565b9350506101006113a2888289016110ed565b9250506101206113b488828901611103565b9150509295509295909350565b60008060008061012085870312156113d857600080fd5b60006113e4878761112f565b94505060c06113f5878288016110e2565b93505060e061140687828801611103565b92505061010061131f87828801611103565b6000806000806000806000610180888a03121561143457600080fd5b60006114408a8a61112f565b97505060c06114518a828b016110e2565b96505060e06114628a828b01611103565b9550506101006114748a828b01611103565b9450506101206114868a828b01611103565b9350506101406114988a828b01611103565b9250506101606114aa8a828b01611103565b91505092959891949750929550565b600060c082840312156114cb57600080fd5b60006101e18484611147565b6000602082840312156114e957600080fd5b60006101e1848461110e565b60008060006060848603121561150a57600080fd5b6000611516868661110e565b93505060206115278682870161110e565b92505060406115388682870161110e565b9150509250925092565b600061154e838361162a565b505060200190565b6000611562838361172d565b50506101000190565b61157481611b00565b82525050565b600061158582611af3565b61158f8185611af7565b935061159a83611aed565b8060005b838110156115c85781516115b28882611542565b97506115bd83611aed565b92505060010161159e565b509495945050505050565b60006115de82611af3565b6115e88185611af7565b93506115f383611aed565b8060005b838110156115c857815161160b8882611556565b975061161683611aed565b9250506001016115f7565b61157481611b0b565b61157481611b10565b6000611640601b83611af7565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611679601e83611af7565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006116b2602183611af7565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006116f5602383611af7565b7f43616e6e6f7420736574746c6520647572696e672077616974696e67207065728152621a5bd960ea1b602082015260400192915050565b805161010083019061173f848261162a565b506020820151611752602085018261162a565b506040820151611765604085018261162a565b506060820151611778606085018261162a565b50608082015161178b608085018261162a565b5060a082015161179e60a085018261162a565b5060c08201516117b160c085018261162a565b5060e08201516117c460e085018261162a565b50505050565b604081016117d8828561156b565b6117e5602083018461162a565b9392505050565b606081016117fa828661156b565b611807602083018561162a565b6101e1604083018461162a565b6101208101611823828c61156b565b611830602083018b61162a565b61183d604083018a61162a565b61184a606083018961162a565b611857608083018861162a565b61186460a083018761162a565b61187160c083018661162a565b61187e60e083018561162a565b61188c61010083018461162a565b9a9950505050505050505050565b60208082528101610ae4818461157a565b60208101610ae78284611621565b60208101610ae7828461162a565b60a081016118d5828861162a565b6118e2602083018761162a565b6118ef604083018661162a565b6118fc606083018561162a565b611909608083018461162a565b9695505050505050565b60e08101611921828a61162a565b61192e602083018961162a565b61193b604083018861162a565b611948606083018761162a565b611955608083018661162a565b61196260a083018561162a565b61196f60c083018461162a565b98975050505050505050565b610100810161198a828b61162a565b611997602083018a61162a565b6119a4604083018961162a565b6119b1606083018861162a565b6119be608083018761162a565b6119cb60a083018661162a565b6119d860c083018561162a565b6119e560e083018461162a565b9998505050505050505050565b60808101611a00828761162a565b611a0d602083018661162a565b611a1a604083018561162a565b611a27606083018461162a565b95945050505050565b60208082528101610ae781611633565b60208082528101610ae78161166c565b60208082528101610ae7816116a5565b60208082528101610ae7816116e8565b604081016117d8828561162a565b606081016117fa828661162a565b60808101611a9a828761162a565b611aa7602083018661162a565b611ab4604083018561162a565b818103606083015261190981846115d3565b60405181810167ffffffffffffffff81118282101715611ae557600080fd5b604052919050565b60200190565b5190565b90815260200190565b6000610ae782611b1e565b151590565b90565b6000610ae782611b00565b6001600160a01b031690565b611b3381611b00565b8114611b3e57600080fd5b50565b611b3381611b0b565b611b3381611b10565b611b3381611b1356fea365627a7a72315820db75d6087775bb7a402b5d4e43d8e386f720d2dc8765e6bc438ee6486367445e6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"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"
				},
				{
					"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"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "contract IExchangeState",
									"name": "exchangeState",
									"type": "IExchangeState"
								},
								{
									"internalType": "contract IExchangeRates",
									"name": "exchangeRates",
									"type": "IExchangeRates"
								},
								{
									"internalType": "contract ICircuitBreaker",
									"name": "circuitBreaker",
									"type": "ICircuitBreaker"
								},
								{
									"internalType": "contract IExchangerInternalDebtCache",
									"name": "debtCache",
									"type": "IExchangerInternalDebtCache"
								},
								{
									"internalType": "contract IIssuer",
									"name": "issuer",
									"type": "IIssuer"
								},
								{
									"internalType": "contract ISynthetix",
									"name": "synthetix",
									"type": "ISynthetix"
								}
							],
							"internalType": "struct ExchangeSettlementLib.ResolvedAddresses",
							"name": "resolvedAddresses",
							"type": "tuple"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "waitingPeriod",
							"type": "uint256"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract IExchangeState",
							"name": "exchangeState",
							"type": "IExchangeState"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "waitingPeriod",
							"type": "uint256"
						}
					],
					"name": "maxSecsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "contract IExchangeState",
									"name": "exchangeState",
									"type": "IExchangeState"
								},
								{
									"internalType": "contract IExchangeRates",
									"name": "exchangeRates",
									"type": "IExchangeRates"
								},
								{
									"internalType": "contract ICircuitBreaker",
									"name": "circuitBreaker",
									"type": "ICircuitBreaker"
								},
								{
									"internalType": "contract IExchangerInternalDebtCache",
									"name": "debtCache",
									"type": "IExchangerInternalDebtCache"
								},
								{
									"internalType": "contract IIssuer",
									"name": "issuer",
									"type": "IIssuer"
								},
								{
									"internalType": "contract ISynthetix",
									"name": "synthetix",
									"type": "ISynthetix"
								}
							],
							"internalType": "struct ExchangeSettlementLib.ResolvedAddresses",
							"name": "resolvedAddresses",
							"type": "tuple"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "waitingPeriod",
							"type": "uint256"
						}
					],
					"name": "settlementOwing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rebateAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntries",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "src",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "dest",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "reclaim",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "rebate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "srcRoundIdAtPeriodEnd",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "destRoundIdAtPeriodEnd",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "timestamp",
									"type": "uint256"
								}
							],
							"internalType": "struct IExchanger.ExchangeEntrySettlement[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x9b464e20dadef8a37ddf2ddcc41f4d22d5ba6aab434f244b2c687babcdc03d3e",
				"urls": [
					"bzz-raw://0df2bd63f4edd0f7959057a1f19eed0aa9313dba261d9eea8d4abdb330b1ebc5",
					"dweb:/ipfs/QmUyC8rkVhGi4Zv1MifKWcNdNQ2rzKGeJW4hozuNBDQbLq"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeSettlementLib.sol": "ExchangeSettlementLib"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeSettlementLib.sol": {
						"keccak256": "0x9b464e20dadef8a37ddf2ddcc41f4d22d5ba6aab434f244b2c687babcdc03d3e",
						"urls": [
							"bzz-raw://0df2bd63f4edd0f7959057a1f19eed0aa9313dba261d9eea8d4abdb330b1ebc5",
							"dweb:/ipfs/QmUyC8rkVhGi4Zv1MifKWcNdNQ2rzKGeJW4hozuNBDQbLq"
						]
					}
				},
				"version": 1
			}
		},
		"DirectIntegrationManager": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162001b4038038062001b408339810160408190526200003491620000fc565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001b8565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b691849062000192565b60405180910390a150600280546001600160a01b0319166001600160a01b03929092169190911790555062000213915050565b8051620000f681620001f9565b92915050565b600080604083850312156200011057600080fd5b60006200011e8585620000e9565b92505060206200013185828601620000e9565b9150509250929050565b6200014681620001e5565b82525050565b6200014681620001d3565b600062000166601983620001ca565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a282856200013b565b620001b160208301846200014c565b9392505050565b60208082528101620000f68162000157565b90815260200190565b60006001600160a01b038216620000f6565b6000620000f6826000620000f682620001d3565b6200020481620001d3565b81146200021057600080fd5b50565b61191d80620002236000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063697b659b11610066578063697b659b14610113578063741853601461013357806379ba50971461013b578063899ffef4146101435780638da5cb5b146101585761009e565b806304f3bcec146100a35780631627540c146100c15780632af64bd3146100d657806353a47bb7146100eb5780635a68456214610100575b600080fd5b6100ab610160565b6040516100b891906117c0565b60405180910390f35b6100d46100cf366004611280565b61016f565b005b6100de6101cd565b6040516100b8919061175b565b6100f36102e5565b6040516100b8919061171a565b6100d461010e3660046112c4565b6102f4565b61012661012136600461132f565b610343565b6040516100b8919061180f565b6100d46106a3565b6100d46107f9565b61014b61089e565b6040516100b8919061174a565b6100f36108ef565b6002546001600160a01b031681565b6101776108fe565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101c290839061171a565b60405180910390a150565b600060606101d961089e565b905060005b81518110156102db5760008282815181106101f557fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610246908590600401611769565b60206040518083038186803b15801561025e57600080fd5b505afa158015610272573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061029691908101906112a6565b6001600160a01b03161415806102c157506000818152600360205260409020546001600160a01b0316155b156102d257600093505050506102e2565b506001016101de565b5060019150505b90565b6001546001600160a01b031681565b6102fc6108fe565b60005b8281101561033c576103348585858481811061031757fe5b905060200201358480360361032f9190810190611369565b61092a565b6001016102ff565b5050505050565b61034b611046565b610353611046565b506001600160a01b03808416600090815260046020818152604080842087855282529283902083516101a080820186528254825260018301548716828501908152600284015488168388015260038401546060840152948301546080830152600583015460a0830152600683015460c0830152600783015460e083015260088301546101008301526009830154610120830152600a830154610140830152600b830154610160830152600c90920154610180820152845191820190945286815291519293919290830191166104d15761042a610a54565b6001600160a01b0316639ee5955a6c45786368616e6765526174657360981b713232bc283934b1b2a0b3b3b932b3b0ba37b960711b6040518363ffffffff1660e01b815260040161047c929190611785565b60206040518083038186803b15801561049457600080fd5b505afa1580156104a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104cc91908101906112a6565b6104d7565b82602001515b6001600160a01b0316815260200160006001600160a01b031683604001516001600160a01b031614156105125761050d85610a76565b610518565b82604001515b6001600160a01b0316815260200160008360600151116105405761053b85610b56565b610546565b82606001515b815260200160008360800151116105645761055f610c2e565b61056a565b82608001515b815260200160008360a001511161058857610583610cd9565b61058e565b8260a001515b815260200160008360c00151116105ad576105a885610d41565b6105b3565b8260c001515b815260200160008360e00151116105d2576105cd85610d9e565b6105d8565b8260e001515b81526020016000836101000151116105f8576105f385610dfb565b6105ff565b8261010001515b815260200160008361012001511161061e57610619610e4a565b610625565b8261012001515b81526020016000836101400151116106445761063f610eaa565b61064b565b8261014001515b815260200160008361016001511161066a57610665610f12565b610671565b8261016001515b81526020016000836101800151116106905761068b610f7a565b610697565b8261018001515b90529150505b92915050565b60606106ad61089e565b905060005b81518110156107f55760008282815181106106c957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161070b919061170f565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016107379291906117a0565b60206040518083038186803b15801561074f57600080fd5b505afa158015610763573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061078791908101906112a6565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906107e39084908490611777565b60405180910390a150506001016106b2565b5050565b6001546001600160a01b0316331461082c5760405162461bcd60e51b8152600401610823906117df565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261086f926001600160a01b0391821692911690611728565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106108e057fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000546001600160a01b031633146109285760405162461bcd60e51b8152600401610823906117ef565b565b6001600160a01b0383166109505760405162461bcd60e51b8152600401610823906117ff565b6001600160a01b03808416600081815260046020818152604080842088855282529283902086518155908601516001820180549187166001600160a01b031992831617905583870151600283018054919097169116179094556060850151600385015560808501519084015560a0840151600584015560c0840151600684015560e0840151600784015561010084015160088401556101208401516009840155610140840151600a840155610160840151600b840155610180840151600c9093019290925590518391907fac520ced31ca01ad123194e41989084aeb335064dd7b37291e59a85eb9c972ec90610a4790859061180f565b60405180910390a3505050565b6000610a716e466c657869626c6553746f7261676560881b610fe2565b905090565b6000610a80610a54565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7f61746f6d69634571756976616c656e74466f7244657850726963696e6700000085604051602001610ad39291906116c9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610b06929190611785565b60206040518083038186803b158015610b1e57600080fd5b505afa158015610b32573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d91908101906112a6565b6000610b60610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7461746f6d696345786368616e67654665655261746560581b85604051602001610bab9291906116c9565b604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401610bde929190611785565b60206040518083038186803b158015610bf657600080fd5b505afa158015610c0a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061069d9190810190611388565b6000610c38610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f61746f6d69635477617057696e646f7760801b6040518363ffffffff1660e01b8152600401610c89929190611785565b60206040518083038186803b158015610ca157600080fd5b505afa158015610cb5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a719190810190611388565b6000610ce3610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d69634d6178566f6c756d65506572426c6f636b0000000000000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610d4b610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c436f6e73696465726174696f6e57696e646f770000000085604051602001610bab9291906116c9565b6000610da8610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f61746f6d6963566f6c5570646174655468726573686f6c64000000000000000085604051602001610bab9291906116c9565b6000610e05610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b85604051602001610bab9291906116c9565b6000610e54610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7465786368616e67654d617844796e616d696346656560581b6040518363ffffffff1660e01b8152600401610c89929190611785565b6000610eb4610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d6963466565526f756e647300000000000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610f1c610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d69634665655468726573686f6c6400000000006040518363ffffffff1660e01b8152600401610c89929190611785565b6000610f84610a54565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e676544796e616d696346656557656967687444656361790000006040518363ffffffff1660e01b8152600401610c89929190611785565b60008181526003602090815260408083205490516001600160a01b039091169182151591611012918691016116ef565b6040516020818303038152906040529061103f5760405162461bcd60e51b815260040161082391906117ce565b5092915050565b604051806101a001604052806000801916815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081525090565b803561069d816118ba565b805161069d816118ba565b60008083601f8401126110eb57600080fd5b50813567ffffffffffffffff81111561110357600080fd5b60208301915083602082028301111561111b57600080fd5b9250929050565b803561069d816118d1565b60006101a0828403121561114057600080fd5b50919050565b60006101a0828403121561115957600080fd5b6111646101a061181e565b905060006111728484611122565b8252506020611183848483016110c3565b6020830152506040611197848285016110c3565b60408301525060606111ab84828501611122565b60608301525060806111bf84828501611122565b60808301525060a06111d384828501611122565b60a08301525060c06111e784828501611122565b60c08301525060e06111fb84828501611122565b60e08301525061010061121084828501611122565b6101008301525061012061122684828501611122565b6101208301525061014061123c84828501611122565b6101408301525061016061125284828501611122565b6101608301525061018061126884828501611122565b6101808301525092915050565b805161069d816118d1565b60006020828403121561129257600080fd5b600061129e84846110c3565b949350505050565b6000602082840312156112b857600080fd5b600061129e84846110ce565b6000806000806101e085870312156112db57600080fd5b60006112e787876110c3565b945050602085013567ffffffffffffffff81111561130457600080fd5b611310878288016110d9565b935093505060406113238782880161112d565b91505092959194509250565b6000806040838503121561134257600080fd5b600061134e85856110c3565b925050602061135f85828601611122565b9150509250929050565b60006101a0828403121561137c57600080fd5b600061129e8484611146565b60006020828403121561139a57600080fd5b600061129e8484611275565b60006113b2838361142b565b505060200190565b6113c38161185d565b82525050565b60006113d48261184b565b6113de818561184f565b93506113e983611845565b8060005b8381101561141757815161140188826113a6565b975061140c83611845565b9250506001016113ed565b509495945050505050565b6113c381611868565b6113c3816102e2565b6113c3611440826102e2565b6102e2565b6113c381611879565b60006114598261184b565b611463818561184f565b9350611473818560208601611884565b61147c816118b0565b9093019392505050565b600061149360358361184f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006114ea601183611858565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611517602f8361184f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061156860138361184f565b720416464726573732063616e6e6f74206265203606c1b815260200192915050565b6000611597601983611858565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b80516101a08301906115d5848261142b565b5060208201516115e860208501826113ba565b5060408201516115fb60408501826113ba565b50606082015161160e606085018261142b565b506080820151611621608085018261142b565b5060a082015161163460a085018261142b565b5060c082015161164760c085018261142b565b5060e082015161165a60e085018261142b565b5061010082015161166f61010085018261142b565b5061012082015161168461012085018261142b565b5061014082015161169961014085018261142b565b506101608201516116ae61016085018261142b565b506101808201516116c361018085018261142b565b50505050565b60006116d58285611434565b6020820191506116e58284611434565b5060200192915050565b60006116fa826114dd565b91506117068284611434565b50602001919050565b60006116fa8261158a565b6020810161069d82846113ba565b6040810161173682856113ba565b61174360208301846113ba565b9392505050565b6020808252810161174381846113c9565b6020810161069d8284611422565b6020810161069d828461142b565b60408101611736828561142b565b60408101611793828561142b565b611743602083018461142b565b604081016117ae828561142b565b818103602083015261129e818461144e565b6020810161069d8284611445565b60208082528101611743818461144e565b6020808252810161069d81611486565b6020808252810161069d8161150a565b6020808252810161069d8161155b565b6101a0810161069d82846115c3565b60405181810167ffffffffffffffff8111828210171561183d57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061069d8261186d565b151590565b6001600160a01b031690565b600061069d8261185d565b60005b8381101561189f578181015183820152602001611887565b838111156116c35750506000910152565b601f01601f191690565b6118c38161185d565b81146118ce57600080fd5b50565b6118c3816102e256fea365627a7a72315820f9338525b3b515faec47a4e51971e55d24a99bb57270abe3911eeee8abe2bd0d6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "integration",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"indexed": false,
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "overrides",
							"type": "tuple"
						}
					],
					"name": "IntegrationParametersSet",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "integration",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getExchangeParameters",
					"outputs": [
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "overrides",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "integration",
							"type": "address"
						},
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "currencyKey",
									"type": "bytes32"
								},
								{
									"internalType": "address",
									"name": "dexPriceAggregator",
									"type": "address"
								},
								{
									"internalType": "address",
									"name": "atomicEquivalentForDexPricing",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "atomicExchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicTwapWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicMaxVolumePerBlock",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityConsiderationWindow",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "atomicVolatilityUpdateThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeFeeRate",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeMaxDynamicFee",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeRounds",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeThreshold",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "exchangeDynamicFeeWeightDecay",
									"type": "uint256"
								}
							],
							"internalType": "struct IDirectIntegrationManager.ParameterIntegrationSettings",
							"name": "settings",
							"type": "tuple"
						}
					],
					"name": "setExchangeParameters",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xa461f2178b2a89520febb03b493fbcccc1b7299fade9826090a391186ce0b36d",
				"urls": [
					"bzz-raw://18e461d867e21bf6f99392bc909fc64ba9a92a6f8eefe54bd0c2490377548a44",
					"dweb:/ipfs/Qmcf8bexns4gXjYbhweE59rLDpbQ4XVhGCc41avBjyeLQx"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DirectIntegrationManager.sol": "DirectIntegrationManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DirectIntegrationManager.sol": {
						"keccak256": "0xa461f2178b2a89520febb03b493fbcccc1b7299fade9826090a391186ce0b36d",
						"urls": [
							"bzz-raw://18e461d867e21bf6f99392bc909fc64ba9a92a6f8eefe54bd0c2490377548a44",
							"dweb:/ipfs/Qmcf8bexns4gXjYbhweE59rLDpbQ4XVhGCc41avBjyeLQx"
						]
					}
				},
				"version": 1
			}
		},
		"DebtMigratorOnEthereum": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620024f7380380620024f7833981016040819052620000349162000100565b81818080836001600160a01b0381166200006b5760405162461bcd60e51b81526004016200006290620001bc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b891849062000196565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550620002179350505050565b8051620000fa81620001fd565b92915050565b600080604083850312156200011457600080fd5b6000620001228585620000ed565b92505060206200013585828601620000ed565b9150509250929050565b6200014a81620001e9565b82525050565b6200014a81620001d7565b60006200016a601983620001ce565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001a682856200013f565b620001b5602083018462000150565b9392505050565b60208082528101620000fa816200015b565b90815260200190565b60006001600160a01b038216620000fa565b6000620000fa826000620000fa82620001d7565b6200020881620001d7565b81146200021457600080fd5b50565b6122d080620002276000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c8063698a26b211610097578063899ffef411610066578063899ffef41461019c5780638da5cb5b146101b1578063c7421c12146101b9578063e0d39172146101cc576100f5565b8063698a26b21461017c578063741853601461018457806379ba50971461018c57806388c4ca6f14610194576100f5565b80632af64bd3116100d35780632af64bd3146101425780633872dda31461014a57806353a47bb714610152578063614d08f814610167576100f5565b806304f3bcec146100fa578063100be6d4146101185780631627540c1461012d575b600080fd5b6101026101d4565b60405161010f91906120cb565b60405180910390f35b6101206101e3565b60405161010f919061204b565b61014061013b36600461192b565b6101ec565b005b61012061024a565b610140610362565b61015a6103ca565b60405161010f9190611f53565b61016f6103d9565b60405161010f9190612059565b6101406103f6565b610140610459565b6101406105af565b61016f61064b565b6101a461072c565b60405161010f919061203a565b61015a610859565b6101406101c736600461192b565b610868565b61016f6108a4565b6002546001600160a01b031681565b60045460ff1681565b6101f46108d8565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061023f908390611f53565b60405180910390a150565b6000606061025661072c565b905060005b815181101561035857600082828151811061027257fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906102c3908590600401612059565b60206040518083038186803b1580156102db57600080fd5b505afa1580156102ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103139190810190611951565b6001600160a01b031614158061033e57506000818152600360205260409020546001600160a01b0316155b1561034f576000935050505061035f565b5060010161025b565b5060019150505b90565b61036a6108d8565b60045460ff166103955760405162461bcd60e51b815260040161038c9061212a565b60405180910390fd5b6004805460ff191690556040517f43e00f2c8f8651a29db34d34fb689573423f8aaae8f9d32e3e871b4c35c6254690600090a1565b6001546001600160a01b031681565b75446562744d69677261746f724f6e457468657265756d60501b90565b6103fe6108d8565b60045460ff16156104215760405162461bcd60e51b815260040161038c906120ea565b6004805460ff191660011790556040517f7c88488c18e2ff121a34a4a2a44990557a5b76ab1ceb6bd95ebe7d419c7575f490600090a1565b606061046361072c565b905060005b81518110156105ab57600082828151811061047f57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016104c19190611f48565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104ed9291906120ab565b60206040518083038186803b15801561050557600080fd5b505afa158015610519573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061053d9190810190611951565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105999084908490612067565b60405180910390a15050600101610468565b5050565b6001546001600160a01b031633146105d95760405162461bcd60e51b815260040161038c9061210a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261061c926001600160a01b0391821692911690611f61565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000806b2232b13a2a3930b739b332b960a11b6314d95b9d60e21b6253445360e81b60405160200161067f93929190611ef1565b60405160208183030381529060405280519060200120905060006106a1610904565b6001600160a01b03166323257c2b6106b76103d9565b846040518363ffffffff1660e01b81526004016106d5929190612075565b60206040518083038186803b1580156106ed57600080fd5b505afa158015610701573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610725919081019061198d565b9250505090565b606080610737610926565b60408051600580825260c08201909252919250606091906020820160a080388339019050509050796f766d3a446562744d69677261746f724f6e4f7074696d69736d60301b8160008151811061078957fe5b602002602001018181525050692634b8bab4b230ba37b960b11b816001815181106107b057fe5b602002602001018181525050704c697175696461746f725265776172647360781b816002815181106107de57fe5b6020026020010181815250507853796e746865746978427269646765546f4f7074696d69736d60381b8160038151811061081457fe5b6020026020010181815250507153796e74686574697844656274536861726560701b8160048151811061084357fe5b60200260200101818152505061072582826109ea565b6000546001600160a01b031681565b610870610aa6565b336001600160a01b038216146108985760405162461bcd60e51b815260040161038c9061215a565b6108a181610ac8565b50565b6000806b2232b13a2a3930b739b332b960a11b632932b1bb60e11b6253445360e81b60405160200161067f93929190611ef1565b6000546001600160a01b031633146109025760405162461bcd60e51b815260040161038c9061216a565b565b60006109216e466c657869626c6553746f7261676560881b61137e565b905090565b6060806109316113e4565b60408051600480825260a0820190925291925060609190602082016080803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061097657fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b816001815181106109a157fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106109c457fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160038151811061084357fe5b60608151835101604051908082528060200260200182016040528015610a1a578160200160208202803883390190505b50905060005b8351811015610a5c57838181518110610a3557fe5b6020026020010151828281518110610a4957fe5b6020908102919091010152600101610a20565b5060005b8251811015610a9f57828181518110610a7557fe5b6020026020010151828286510181518110610a8c57fe5b6020908102919091010152600101610a60565b5092915050565b60045460ff166109025760405162461bcd60e51b815260040161038c9061214a565b610ad0611435565b6001600160a01b031663952225f38260006040518363ffffffff1660e01b8152600401610afe929190611f83565b60206040518083038186803b158015610b1657600080fd5b505afa158015610b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b4e919081019061196f565b15610b6b5760405162461bcd60e51b815260040161038c9061213a565b610b7361144d565b6001600160a01b031663c00007b0826040518263ffffffff1660e01b8152600401610b9e9190611f53565b600060405180830381600087803b158015610bb857600080fd5b505af1158015610bcc573d6000803e3d6000fd5b505050506000610bda61146c565b90506000816001600160a01b03166370a08231846040518263ffffffff1660e01b8152600401610c0a9190611f53565b60206040518083038186803b158015610c2257600080fd5b505afa158015610c36573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5a919081019061198d565b905060008111610c7c5760405162461bcd60e51b815260040161038c9061217a565b610c8d6314d95b9d60e21b8261148c565b610c956115e5565b6001600160a01b03166380aa6a9184836040518363ffffffff1660e01b8152600401610cc2929190611fcd565b600060405180830381600087803b158015610cdc57600080fd5b505af1158015610cf0573d6000803e3d6000fd5b50505050600080610d0c680a6f2dce8d0cae8d2f60bb1b61137e565b6001600160a01b03166384358843866040518263ffffffff1660e01b8152600401610d379190611f53565b6040805180830381600087803b158015610d5057600080fd5b505af1158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d8891908101906119ab565b90925090506000610d9f828463ffffffff6115f916565b905060008111610dc15760405162461bcd60e51b815260040161038c9061219a565b6002546040516321f8a72160e01b81526000916001600160a01b0316906321f8a72190610e0f90796f766d3a446562744d69677261746f724f6e4f7074696d69736d60301b90600401612059565b60206040518083038186803b158015610e2757600080fd5b505afa158015610e3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e5f9190810190611951565b6001600160a01b03161415610e865760405162461bcd60e51b815260040161038c906121da565b610e8e611627565b6001600160a01b031663095ea7b3610ea461163e565b836040518363ffffffff1660e01b8152600401610ec2929190611fcd565b602060405180830381600087803b158015610edc57600080fd5b505af1158015610ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f14919081019061196f565b50610f1d61163e565b6001600160a01b031663ffaad6a5610f33611665565b836040518363ffffffff1660e01b8152600401610f51929190611fcd565b600060405180830381600087803b158015610f6b57600080fd5b505af1158015610f7f573d6000803e3d6000fd5b50505050610f8b61146c565b6001600160a01b03166370a08231876040518263ffffffff1660e01b8152600401610fb69190611f53565b60206040518083038186803b158015610fce57600080fd5b505afa158015610fe2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611006919081019061198d565b156110235760405162461bcd60e51b815260040161038c9061218a565b61102b611627565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016110569190611f53565b60206040518083038186803b15801561106e57600080fd5b505afa158015611082573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110a6919081019061198d565b156110c35760405162461bcd60e51b815260040161038c906121ba565b6110cb61168d565b6001600160a01b03166370a08231876040518263ffffffff1660e01b81526004016110f69190611f53565b60206040518083038186803b15801561110e57600080fd5b505afa158015611122573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611146919081019061198d565b156111635760405162461bcd60e51b815260040161038c906121aa565b61116b61144d565b6001600160a01b0316628cc262876040518263ffffffff1660e01b81526004016111959190611f53565b60206040518083038186803b1580156111ad57600080fd5b505afa1580156111c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111e5919081019061198d565b156112025760405162461bcd60e51b815260040161038c906120fa565b6040516000906060906380aa6a9160e01b90611224908a908990602401611fcd565b60408051601f198184030181529181526020820180516001600160e01b03166001600160e01b03199094169390931790925290519091506000906060906308f40ad760e21b90611280908c908b908b908b908990602401611fe8565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506112bc6116a9565b6001600160a01b0316633dbb202b6112d2611665565b836112dd60006116c4565b6040518463ffffffff1660e01b81526004016112fb93929190611f9e565b600060405180830381600087803b15801561131557600080fd5b505af1158015611329573d6000803e3d6000fd5b50505050896001600160a01b03167f1723685f7b2b8753c5fbe69698cf139b15c3b43321e256a9c08a60226a2c1e5e89898960405161136a93929190612083565b60405180910390a250505050505050505050565b60008181526003602090815260408083205490516001600160a01b0390911691821515916113ae91869101611f28565b604051602081830303815290604052906113db5760405162461bcd60e51b815260040161038c91906120d9565b5090505b919050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061142657fe5b60200260200101818152505090565b6000610921692634b8bab4b230ba37b960b11b61137e565b6000610921704c697175696461746f725265776172647360781b61137e565b60006109217153796e74686574697844656274536861726560701b61137e565b60006b2232b13a2a3930b739b332b960a11b836253445360e81b6040516020016114b893929190611ef1565b60405160208183030381529060405280519060200120905060006114da610904565b6001600160a01b03166323257c2b6114f06103d9565b846040518363ffffffff1660e01b815260040161150e929190612075565b60206040518083038186803b15801561152657600080fd5b505afa15801561153a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061155e919081019061198d565b9050611568610904565b6001600160a01b0316631d5b277f61157e6103d9565b8461158f858863ffffffff6115f916565b6040518463ffffffff1660e01b81526004016115ad93929190612083565b600060405180830381600087803b1580156115c757600080fd5b505af11580156115db573d6000803e3d6000fd5b5050505050505050565b60006109216524b9b9bab2b960d11b61137e565b60008282018381101561161e5760405162461bcd60e51b815260040161038c9061211a565b90505b92915050565b6000610921680a6f2dce8d0cae8d2f60bb1b61137e565b60006109217853796e746865746978427269646765546f4f7074696d69736d60381b61137e565b6000610921796f766d3a446562744d69677261746f724f6e4f7074696d69736d60301b61137e565b60006109216d2932bbb0b93222b9b1b937bbab1960911b61137e565b60006109216c32bc3a1d26b2b9b9b2b733b2b960991b61137e565b600063ffffffff82166116e0576116db60056116e4565b611621565b5090565b60006116ee610904565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61171785611784565b6040518363ffffffff1660e01b8152600401611734929190612075565b60206040518083038186803b15801561174c57600080fd5b505afa158015611760573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611621919081019061198d565b60008082600581111561179357fe5b14156117c057507f63726f7373446f6d61696e4465706f7369744761734c696d69740000000000006113df565b60018260058111156117ce57fe5b14156117fb57507f63726f7373446f6d61696e457363726f774761734c696d6974000000000000006113df565b600282600581111561180957fe5b141561183657507f63726f7373446f6d61696e5265776172644761734c696d6974000000000000006113df565b600382600581111561184457fe5b141561187157507f63726f7373446f6d61696e5769746864726177616c4761734c696d69740000006113df565b600582600581111561187f57fe5b14156118ac57507f63726f7373446f6d61696e52656c61794761734c696d697400000000000000006113df565b60048260058111156118ba57fe5b14156118e757507f63726f7373446f6d61696e436c6f73654761734c696d697400000000000000006113df565b60405162461bcd60e51b815260040161038c906121ca565b803561162181612267565b805161162181612267565b80516116218161227b565b805161162181612284565b60006020828403121561193d57600080fd5b600061194984846118ff565b949350505050565b60006020828403121561196357600080fd5b6000611949848461190a565b60006020828403121561198157600080fd5b60006119498484611915565b60006020828403121561199f57600080fd5b60006119498484611920565b600080604083850312156119be57600080fd5b60006119ca8585611920565b92505060206119db85828601611920565b9150509250929050565b60006119f18383611a6a565b505060200190565b611a02816121fd565b82525050565b6000611a13826121f0565b611a1d81856121f4565b9350611a28836121ea565b8060005b83811015611a56578151611a4088826119e5565b9750611a4b836121ea565b925050600101611a2c565b509495945050505050565b611a0281612208565b611a028161035f565b611a02611a7f8261035f565b61035f565b6000611a8f826121f0565b611a9981856121f4565b9350611aa981856020860161222d565b611ab28161225d565b9093019392505050565b611a0281612222565b6000611ad26018836121f4565b7f496e6974696174696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b6000611b0b601a836121f4565b7f4561726e65642062616c616e6365206973206e6f74207a65726f000000000000815260200192915050565b6000611b446035836121f4565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611b9b601b836121f4565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611bd46014836121f4565b73125b9a5d1a585d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000611c046026836121f4565b7f43616e6e6f74206d696772617465206966206f70656e20666f72206c697175698152653230ba34b7b760d11b602082015260400192915050565b6000611c4c6011836113df565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611c796016836121f4565b75125b9a5d1a585d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000611cab6019836121f4565b7f4d75737420626520746865206163636f756e74206f776e657200000000000000815260200192915050565b6000611ce4602f836121f4565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611d356012836121f4565b714e6f206465627420746f206d69677261746560701b815260200192915050565b6000611d63601e836121f4565b7f446562742073686172652062616c616e6365206973206e6f74207a65726f0000815260200192915050565b6000611d9c601c836121f4565b7f43616e6e6f74206d696772617465207a65726f2062616c616e63657300000000815260200192915050565b6000611dd56019836113df565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611e0e601b836121f4565b7f457363726f772062616c616e616365206973206e6f74207a65726f0000000000815260200192915050565b6000611e476017836121f4565b7f534e582062616c616e6365206973206e6f74207a65726f000000000000000000815260200192915050565b6000611e806016836121f4565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b6000611eb26021836121f4565b7f44656274204d69677261746f72204f6e204f7074696d69736d206e6f742073658152601d60fa1b602082015260400192915050565b611a0281612219565b6000611efd8286611a73565b602082019150611f0d8285611a73565b602082019150611f1d8284611a73565b506020019392505050565b6000611f3382611c3f565b9150611f3f8284611a73565b50602001919050565b6000611f3382611dc8565b6020810161162182846119f9565b60408101611f6f82856119f9565b611f7c60208301846119f9565b9392505050565b60408101611f9182856119f9565b611f7c6020830184611a61565b60608101611fac82866119f9565b8181036020830152611fbe8185611a84565b90506119496040830184611ee8565b60408101611fdb82856119f9565b611f7c6020830184611a6a565b60a08101611ff682886119f9565b6120036020830187611a6a565b6120106040830186611a6a565b61201d6060830185611a6a565b818103608083015261202f8184611a84565b979650505050505050565b60208082528101611f7c8184611a08565b602081016116218284611a61565b602081016116218284611a6a565b60408101611f6f8285611a6a565b60408101611fdb8285611a6a565b606081016120918286611a6a565b61209e6020830185611a6a565b6119496040830184611a6a565b604081016120b98285611a6a565b81810360208301526119498184611a84565b602081016116218284611abc565b60208082528101611f7c8184611a84565b6020808252810161162181611ac5565b6020808252810161162181611afe565b6020808252810161162181611b37565b6020808252810161162181611b8e565b6020808252810161162181611bc7565b6020808252810161162181611bf7565b6020808252810161162181611c6c565b6020808252810161162181611c9e565b6020808252810161162181611cd7565b6020808252810161162181611d28565b6020808252810161162181611d56565b6020808252810161162181611d8f565b6020808252810161162181611e01565b6020808252810161162181611e3a565b6020808252810161162181611e73565b6020808252810161162181611ea5565b60200190565b5190565b90815260200190565b60006116218261220d565b151590565b6001600160a01b031690565b63ffffffff1690565b6000611621826121fd565b60005b83811015612248578181015183820152602001612230565b83811115612257576000848401525b50505050565b601f01601f191690565b612270816121fd565b81146108a157600080fd5b61227081612208565b6122708161035f56fea365627a7a723158202c83849d48d92ffd6e708c2ddd149a757d74e673fe1c7ae8e02a51769f322be06c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "InitiationResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "InitiationSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalDebtSharesMigrated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalEscrowMigrated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalLiquidBalanceMigrated",
							"type": "uint256"
						}
					],
					"name": "MigrationInitiated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtTransferReceived",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtTransferSent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "initiationActive",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "migrateDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeInitiation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "suspendInitiation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0x1342b154b1e8b7133e92ed3300d3a689eda400bac661c1baf9c67341cf6a0012",
				"urls": [
					"bzz-raw://d295c88e33297fc58a8800ddac7ca85b71cde88a0b41bccb8f06900681a41d36",
					"dweb:/ipfs/QmZUu5qzT2WMSX493BrYZjWvoRX5eYbRaiMd7vMUgdVcfS"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DebtMigratorOnEthereum.sol": "DebtMigratorOnEthereum"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DebtMigratorOnEthereum.sol": {
						"keccak256": "0x1342b154b1e8b7133e92ed3300d3a689eda400bac661c1baf9c67341cf6a0012",
						"urls": [
							"bzz-raw://d295c88e33297fc58a8800ddac7ca85b71cde88a0b41bccb8f06900681a41d36",
							"dweb:/ipfs/QmZUu5qzT2WMSX493BrYZjWvoRX5eYbRaiMd7vMUgdVcfS"
						]
					}
				},
				"version": 1
			}
		},
		"DynamicSynthRedeemer": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620019f7380380620019f7833981016040819052620000349162000192565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000277565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000251565b60405180910390a15080600260006101000a8154816001600160a01b0302191690836001600160a01b031602179055505073__$e2b2b66cb30f6f0b0fc843f1278cce299a$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200012b57600080fd5b505af415801562000140573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620001669190810190620001d1565b60045550620002e09050565b80516200017f81620002bb565b92915050565b80516200017f81620002d5565b60008060408385031215620001a657600080fd5b6000620001b4858562000172565b9250506020620001c78582860162000172565b9150509250929050565b600060208284031215620001e457600080fd5b6000620001f2848462000185565b949350505050565b6200020581620002a7565b82525050565b620002058162000292565b60006200022560198362000289565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002618285620001fa565b6200027060208301846200020b565b9392505050565b602080825281016200017f8162000216565b90815260200190565b60006001600160a01b0382166200017f565b90565b60006200017f8260006200017f8262000292565b620002c68162000292565b8114620002d257600080fd5b50565b620002c681620002a4565b61170780620002f06000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063614d08f8116100a2578063899ffef411610071578063899ffef4146101e35780638da5cb5b146101f857806399845dac14610200578063e6c0e6d514610213578063eda1122c1461021b57610116565b8063614d08f8146101b857806374185360146101c057806379ba5097146101c85780637c69febd146101d057610116565b80632dee8b7e116100e95780632dee8b7e1461016b578063322cd02e146101735780634c74183c146101865780634ecc1f771461019b57806353a47bb7146101a357610116565b806304f3bcec1461011b5780630cd0675c146101395780631627540c146101435780632af64bd314610156575b600080fd5b61012361022e565b604051610130919061152f565b60405180910390f35b61014161023d565b005b610141610151366004610ee2565b6102a9565b61015e610307565b60405161013091906114e5565b61014161041f565b610141610181366004610f86565b61047e565b61018e61053e565b60405161013091906114f3565b61015e610544565b6101ab61054d565b6040516101309190611444565b61018e61055c565b610141610577565b6101416106cd565b6101416101de366004610f68565b610769565b6101eb610841565b60405161013091906114d4565b6101ab6108b1565b61014161020e366004610f26565b6108c0565b61018e610993565b610141610229366004610f68565b610999565b6002546001600160a01b031681565b6102456109df565b60055460ff16156102715760405162461bcd60e51b8152600401610268906115fe565b60405180910390fd5b6005805460ff191660011790556040517f7a2913cddb07686623e9d442b08e598f63153b82d934cb6c5e09e6b0652c221f90600090a1565b6102b16109df565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906102fc908390611444565b60405180910390a150565b60006060610313610841565b905060005b815181101561041557600082828151811061032f57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a721906103809085906004016114f3565b60206040518083038186803b15801561039857600080fd5b505afa1580156103ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103d09190810190610f08565b6001600160a01b03161415806103fb57506000818152600360205260409020546001600160a01b0316155b1561040c576000935050505061041c565b50600101610318565b5060019150505b90565b6104276109df565b60055460ff166104495760405162461bcd60e51b81526004016102689061158e565b6005805460ff191690556040517f66993c4cde3b0d56d441001d7731b583158402f0b0531304dfa4d4772c18e50b90600090a1565b610486610a0b565b600061049183610a2d565b905081816001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016104c09190611452565b60206040518083038186803b1580156104d857600080fd5b505afa1580156104ec573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105109190810190610fde565b101561052e5760405162461bcd60e51b81526004016102689061159e565b610539818484610b53565b505050565b60045490565b60055460ff1681565b6001546001600160a01b031681565b73223cb730b6b4b1a9bcb73a342932b232b2b6b2b960611b81565b6060610581610841565b905060005b81518110156106c957600082828151811061059d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016105df9190611439565b6040516020818303038152906040526040518363ffffffff1660e01b815260040161060b92919061150f565b60206040518083038186803b15801561062357600080fd5b505afa158015610637573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065b9190810190610f08565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906106b79084908490611501565b60405180910390a15050600101610586565b5050565b6001546001600160a01b031633146106f75760405162461bcd60e51b81526004016102689061155e565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261073a926001600160a01b039182169291169061149e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6107716109df565b73__$e2b2b66cb30f6f0b0fc843f1278cce299a$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107b557600080fd5b505af41580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ed9190810190610fde565b81111561080c5760405162461bcd60e51b8152600401610268906115ee565b60048190556040517fc4f588c2b1b0db1ae244d5b46f69e0c5962875377386d78b2c9cd5b654f90637906102fc9083906114f3565b60408051600280825260608083018452926020830190803883390190505090506524b9b9bab2b960d11b8160008151811061087857fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106108a257fe5b60200260200101818152505090565b6000546001600160a01b031681565b6108c8610a0b565b60005b818110156105395760006108f08484848181106108e457fe5b90506020020135610a2d565b905061098a8185858581811061090257fe5b90506020020135836001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016109359190611452565b60206040518083038186803b15801561094d57600080fd5b505afa158015610961573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109859190810190610fde565b610b53565b506001016108cb565b60045481565b6109a1610a0b565b60006109ac82610a2d565b90506106c98183836001600160a01b03166370a08231336040518263ffffffff1660e01b81526004016109359190611452565b6000546001600160a01b03163314610a095760405162461bcd60e51b8152600401610268906115be565b565b60055460ff16610a095760405162461bcd60e51b8152600401610268906115ce565b600080610a38610d2b565b6001600160a01b03166332608039846040518263ffffffff1660e01b8152600401610a6391906114f3565b60206040518083038186803b158015610a7b57600080fd5b505afa158015610a8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ab39190810190610fc0565b90506001600160a01b038116610adb5760405162461bcd60e51b81526004016102689061156e565b806001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1457600080fd5b505afa158015610b28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b4c9190810190610fc0565b9392505050565b60008111610b735760405162461bcd60e51b81526004016102689061154e565b631cd554d160e21b821415610b9a5760405162461bcd60e51b81526004016102689061157e565b600080610ba5610d44565b6001600160a01b0316630c71cd23856040518263ffffffff1660e01b8152600401610bd091906114f3565b604080518083038186803b158015610be757600080fd5b505afa158015610bfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c1f9190810190610ffc565b915091506000610c3a60045484610d5f90919063ffffffff16565b9050600081118015610c4a575081155b610c665760405162461bcd60e51b8152600401610268906115ae565b6000610c78858363ffffffff610d5f16565b9050610c82610d2b565b6001600160a01b0316630d969cf5338888856040518563ffffffff1660e01b8152600401610cb39493929190611460565b600060405180830381600087803b158015610ccd57600080fd5b505af1158015610ce1573d6000803e3d6000fd5b505050507f8734fd5c7511ef698c61bce7dd8eefb212edea08cf7d9d4694e223c6f6121aef87338784604051610d1a94939291906114b9565b60405180910390a150505050505050565b6000610d3f6524b9b9bab2b960d11b610d7d565b905090565b6000610d3f6c45786368616e6765526174657360981b610d7d565b6000610d748383670de0b6b3a7640000610de1565b90505b92915050565b60008181526003602090815260408083205490516001600160a01b039091169182151591610dad91869101611419565b60405160208183030381529060405290610dda5760405162461bcd60e51b8152600401610268919061153d565b5092915050565b600080600a8304610df8868663ffffffff610e1d16565b81610dff57fe5b0490506005600a820610610e1157600a015b600a9004949350505050565b600082610e2c57506000610d77565b82820282848281610e3957fe5b0414610d745760405162461bcd60e51b8152600401610268906115de565b8035610d7781611692565b8051610d7781611692565b60008083601f840112610e7f57600080fd5b50813567ffffffffffffffff811115610e9757600080fd5b602083019150836020820283011115610eaf57600080fd5b9250929050565b8051610d77816116a9565b8035610d77816116b2565b8051610d77816116bb565b8051610d77816116b2565b600060208284031215610ef457600080fd5b6000610f008484610e57565b949350505050565b600060208284031215610f1a57600080fd5b6000610f008484610e62565b60008060208385031215610f3957600080fd5b823567ffffffffffffffff811115610f5057600080fd5b610f5c85828601610e6d565b92509250509250929050565b600060208284031215610f7a57600080fd5b6000610f008484610ec1565b60008060408385031215610f9957600080fd5b6000610fa58585610ec1565b9250506020610fb685828601610ec1565b9150509250929050565b600060208284031215610fd257600080fd5b6000610f008484610ecc565b600060208284031215610ff057600080fd5b6000610f008484610ed7565b6000806040838503121561100f57600080fd5b600061101b8585610ed7565b9250506020610fb685828601610eb6565b600061103883836110ba565b505060200190565b6110498161164d565b82525050565b61104981611626565b600061106382611614565b61106d8185611618565b93506110788361160e565b8060005b838110156110a6578151611090888261102c565b975061109b8361160e565b92505060010161107c565b509495945050505050565b61104981611631565b6110498161041c565b6110496110cf8261041c565b61041c565b61104981611636565b60006110e882611614565b6110f28185611618565b9350611102818560208601611658565b61110b81611688565b9093019392505050565b6000611122601d83611618565b7f4e6f2062616c616e6365206f662073796e746820746f2072656465656d000000815260200192915050565b600061115b603583611618565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006111b2600d83611618565b6c092dcecc2d8d2c840e6f2dce8d609b1b815260200192915050565b60006111db601283611618565b7110d85b9b9bdd081c995919595b481cd554d160721b815260200192915050565b6000611209601483611618565b73149959195b5c1d1a5bdb881cdd5cdc195b99195960621b815260200192915050565b6000611239601483611618565b73496e73756666696369656e742062616c616e636560601b815260200192915050565b6000611269601183611621565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611296601483611618565b7353796e7468206e6f742072656465656d61626c6560601b815260200192915050565b60006112c6602f83611618565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000611317601683611618565b75149959195b5c1d1a5bdb8819195858dd1a5d985d195960521b815260200192915050565b6000611349602183611618565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061138c601983611621565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006113c5600c83611618565b6b496e76616c6964207261746560a01b815260200192915050565b60006113ed601883611618565b7f526564656d7074696f6e206e6f742073757370656e6465640000000000000000815260200192915050565b60006114248261125c565b915061143082846110c3565b50602001919050565b60006114248261137f565b60208101610d77828461104f565b60208101610d778284611040565b6080810161146e8287611040565b61147b60208301866110ba565b61148860408301856110ba565b61149560608301846110ba565b95945050505050565b604081016114ac828561104f565b610b4c602083018461104f565b608081016114c7828761104f565b61147b6020830186611040565b60208082528101610d748184611058565b60208101610d7782846110b1565b60208101610d7782846110ba565b604081016114ac82856110ba565b6040810161151d82856110ba565b8181036020830152610f0081846110dd565b60208101610d7782846110d4565b60208082528101610d7481846110dd565b60208082528101610d7781611115565b60208082528101610d778161114e565b60208082528101610d77816111a5565b60208082528101610d77816111ce565b60208082528101610d77816111fc565b60208082528101610d778161122c565b60208082528101610d7781611289565b60208082528101610d77816112b9565b60208082528101610d778161130a565b60208082528101610d778161133c565b60208082528101610d77816113b8565b60208082528101610d77816113e0565b60200190565b5190565b90815260200190565b919050565b6000610d7782611641565b151590565b6000610d7782611626565b6001600160a01b031690565b6000610d7782611636565b60005b8381101561167357818101518382015260200161165b565b83811115611682576000848401525b50505050565b601f01601f191690565b61169b81611626565b81146116a657600080fd5b50565b61169b81611631565b61169b8161041c565b61169b8161163656fea365627a7a7231582026f3e95beaba5deac1fb6901020b96c4651ae45eb83785f6e010894ffe27cbb66c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "discountRate",
							"type": "uint256"
						}
					],
					"name": "DiscountRateUpdated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "RedemptionResumed",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [],
					"name": "RedemptionSuspended",
					"type": "event"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "synth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountInsUSD",
							"type": "uint256"
						}
					],
					"name": "SynthRedeemed",
					"type": "event"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "discountRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getDiscountRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "redeem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "redeemAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountOfSynth",
							"type": "uint256"
						}
					],
					"name": "redeemPartial",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "redemptionActive",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeRedemption",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_newRate",
							"type": "uint256"
						}
					],
					"name": "setDiscountRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "suspendRedemption",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function"
				}
			],
			"source": {
				"keccak256": "0xc9560e9672c3dff5c5bea2a78274b3e808bd6cdf338cc4091df5a59c58990f6e",
				"urls": [
					"bzz-raw://be58903be92056038697f593c56d99f0aa66c1ad39bffd9346772ab16162a129",
					"dweb:/ipfs/QmVcUdcYM2ofoDPpCskVoLDHVUSiKfVeStn86bZkxYffut"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DynamicSynthRedeemer.sol": "DynamicSynthRedeemer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DynamicSynthRedeemer.sol": {
						"keccak256": "0xc9560e9672c3dff5c5bea2a78274b3e808bd6cdf338cc4091df5a59c58990f6e",
						"urls": [
							"bzz-raw://be58903be92056038697f593c56d99f0aa66c1ad39bffd9346772ab16162a129",
							"dweb:/ipfs/QmVcUdcYM2ofoDPpCskVoLDHVUSiKfVeStn86bZkxYffut"
						]
					}
				},
				"version": 1
			}
		}
	}
}
