{
	"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"
		},
		"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"
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0xd69b189020EF614796578AfE4d10378c5e7e1138",
			"source": "ExchangeRates",
			"link": "https://etherscan.io/address/0xd69b189020EF614796578AfE4d10378c5e7e1138",
			"timestamp": "2020-12-24T00:36:24.000Z",
			"txn": "https://etherscan.io/tx/0x30f05bf08b26b3459c4a58ff11551a48f59a613776c7bd48ce217029515ca3e7",
			"network": "mainnet"
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0x28d8458C76C7029257BAA10F86E9dA7481C513fb",
			"source": "FeePool",
			"link": "https://etherscan.io/address/0x28d8458C76C7029257BAA10F86E9dA7481C513fb",
			"timestamp": "2020-12-24T00:36:39.000Z",
			"txn": "https://etherscan.io/tx/0x96bdfba88835052424482d8b606d17184b97fe123f3c3c7f96b9a990904373c9",
			"network": "mainnet"
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0xb440DD674e1243644791a4AdfE3A2AbB0A92d309",
			"source": "Proxy",
			"link": "https://etherscan.io/address/0xb440DD674e1243644791a4AdfE3A2AbB0A92d309",
			"network": "mainnet"
		},
		"ProxypAUD": {
			"name": "ProxypAUD",
			"address": "0xF48e200EAF9906362BB1442fca31e0835773b8B4",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xF48e200EAF9906362BB1442fca31e0835773b8B4",
			"timestamp": "2019-09-26T06:59:36.637Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypBTC": {
			"name": "ProxypBTC",
			"address": "0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xfE18be6b3Bd88A2D2A7f928d00292E7a9963CfC6",
			"timestamp": "2019-09-26T07:12:48.637Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypCHF": {
			"name": "ProxypCHF",
			"address": "0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x0F83287FF768D1c1e17a42F44d644D7F22e8ee1d",
			"timestamp": "2019-09-26T07:06:39.621Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypEUR": {
			"name": "ProxypEUR",
			"address": "0xD71eCFF9342A5Ced620049e616c5035F1dB98620",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xD71eCFF9342A5Ced620049e616c5035F1dB98620",
			"timestamp": "2019-09-26T06:50:51.092Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypGBP": {
			"name": "ProxypGBP",
			"address": "0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x97fe22E7341a0Cd8Db6F6C021A24Dc8f4DAD855F",
			"timestamp": "2019-09-26T07:04:31.735Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypJPY": {
			"name": "ProxypJPY",
			"address": "0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xF6b1C627e95BFc3c1b4c9B825a032Ff0fBf3e07d",
			"timestamp": "2019-09-26T06:53:25.539Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypUSD": {
			"name": "ProxypUSD",
			"address": "0x57Ab1E02fEE23774580C119740129eAC7081e9D3",
			"source": "Proxy",
			"link": "https://etherscan.io/address/0x57Ab1E02fEE23774580C119740129eAC7081e9D3",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyERC20pUSD": {
			"name": "ProxyERC20pUSD",
			"address": "0x57Ab1ec28D129707052df4dF418D58a2D46d5f51",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x57Ab1ec28D129707052df4dF418D58a2D46d5f51",
			"timestamp": "2019-09-26T02:55:56.333Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypXAG": {
			"name": "ProxypXAG",
			"address": "0x6A22e5e94388464181578Aa7A6B869e00fE27846",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x6A22e5e94388464181578Aa7A6B869e00fE27846",
			"timestamp": "2019-09-26T07:10:46.454Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypXAU": {
			"name": "ProxypXAU",
			"address": "0x261EfCdD24CeA98652B9700800a13DfBca4103fF",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x261EfCdD24CeA98652B9700800a13DfBca4103fF",
			"timestamp": "2019-09-26T07:08:25.083Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyPeriFinance": {
			"name": "ProxyPeriFinance",
			"address": "0x99E03Ea04b346999204CFd6d6a36db4C5bBa4A33",
			"source": "Proxy",
			"link": "https://etherscan.io/address/0x99E03Ea04b346999204CFd6d6a36db4C5bBa4A33",
			"timestamp": "2021-03-02T04:32:35.243Z",
			"txn": "",
			"network": "mainnet"
		},
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0xcaE93F84BcA6deF3c6f8a7F2b4974A66472Af6f3",
			"source": "SafeDecimalMath",
			"link": "https://etherscan.io/address/0xcaE93F84BcA6deF3c6f8a7F2b4974A66472Af6f3",
			"timestamp": "2021-02-24T11:13:24.000Z",
			"txn": "https://etherscan.io/tx/0xb18cde48f827351e2c13e61ac5eadc68c483f60c21f150547bb4953528606fe0",
			"network": "mainnet"
		},
		"PeriFinance": {
			"name": "PeriFinance",
			"address": "0xeA8B776BCDeF61cc70DC839df1c8cfF9C4d83a90",
			"source": "PeriFinance",
			"link": "https://etherscan.io/address/0xeA8B776BCDeF61cc70DC839df1c8cfF9C4d83a90",
			"timestamp": "2021-05-07T04:40:55.693Z",
			"txn": "",
			"network": "mainnet"
		},
		"PeriFinanceEscrow": {
			"name": "PeriFinanceEscrow",
			"address": "0x42cf57C7d0AE8b527EDD92b583634949074435EE",
			"source": "PeriFinanceEscrow",
			"link": "https://etherscan.io/address/0x42cf57C7d0AE8b527EDD92b583634949074435EE",
			"timestamp": "2021-05-06T12:57:55.000Z",
			"txn": "https://etherscan.io/tx/0xfdeb06829c08815f07acdc6c4d845d1926637e44e66104bca25536f2e1470a09",
			"network": "mainnet"
		},
		"PeriFinanceState": {
			"name": "PeriFinanceState",
			"address": "0xDC0E17eAE3B9651875030244b971fa0223a1764f",
			"source": "PeriFinanceState",
			"link": "https://etherscan.io/address/0xDC0E17eAE3B9651875030244b971fa0223a1764f",
			"timestamp": "2021-03-02T03:35:37.000Z",
			"txn": "https://etherscan.io/tx/0xa2f52255a4c90ebc3efb52360eff4bbf5253318c55094eefeb03c33bacb39ff8",
			"network": "mainnet"
		},
		"PynthpAUD": {
			"name": "PynthpAUD",
			"address": "0x37B648a07476F4941D3D647f81118AFd55fa8a04",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x37B648a07476F4941D3D647f81118AFd55fa8a04",
			"timestamp": "2020-12-24T00:41:18.109Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpBTC": {
			"name": "PynthpBTC",
			"address": "0xDB91E4B3b6E19bF22E810C43273eae48C9037e74",
			"source": "MultiCollateralPynth",
			"link": "https://etherscan.io/address/0xDB91E4B3b6E19bF22E810C43273eae48C9037e74",
			"timestamp": "2020-12-24T00:47:42.000Z",
			"txn": "https://etherscan.io/tx/0x7f0e82f42a3527ef1f4f24b64d0ac67962be8e4e224a6192459ab5dbdb6b6d3e",
			"network": "mainnet"
		},
		"PynthpCHF": {
			"name": "PynthpCHF",
			"address": "0xcf9bB94b5d65589039607BA66e3DAC686d3eFf01",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xcf9bB94b5d65589039607BA66e3DAC686d3eFf01",
			"timestamp": "2020-12-24T00:44:09.644Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpEUR": {
			"name": "PynthpEUR",
			"address": "0xC61b352fCc311Ae6B0301459A970150005e74b3E",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xC61b352fCc311Ae6B0301459A970150005e74b3E",
			"timestamp": "2020-12-24T00:39:40.000Z",
			"txn": "https://etherscan.io/tx/0x42ce83dd216acfb56e3b752b7849775bdfcdb6cbb7f9ba382302d3dddf4ad290",
			"network": "mainnet"
		},
		"PynthpGBP": {
			"name": "PynthpGBP",
			"address": "0xEF285D339c91aDf1dD7DE0aEAa6250805FD68258",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xEF285D339c91aDf1dD7DE0aEAa6250805FD68258",
			"timestamp": "2020-12-24T00:42:11.594Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpJPY": {
			"name": "PynthpJPY",
			"address": "0x388fD1A8a7d36e03eFA1ab100a1c5159a3A3d427",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x388fD1A8a7d36e03eFA1ab100a1c5159a3A3d427",
			"timestamp": "2020-12-24T00:40:18.332Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpUSD": {
			"name": "PynthpUSD",
			"address": "0x6C85C5198C3CC4dB1b87Cb43b2674241a30f4845",
			"source": "MultiCollateralPynth",
			"link": "https://etherscan.io/address/0x6C85C5198C3CC4dB1b87Cb43b2674241a30f4845",
			"timestamp": "2020-12-24T00:39:01.446Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpXAG": {
			"name": "PynthpXAG",
			"address": "0x9745606DA6e162866DAD7bF80f2AbF145EDD7571",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x9745606DA6e162866DAD7bF80f2AbF145EDD7571",
			"timestamp": "2020-12-24T00:46:05.775Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpXAU": {
			"name": "PynthpXAU",
			"address": "0x5eDf7dd83fE2889D264fa9D3b93d0a6e6A45D6C6",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x5eDf7dd83fE2889D264fa9D3b93d0a6e6A45D6C6",
			"timestamp": "2020-12-24T00:45:16.827Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepAUD": {
			"name": "TokenStatepAUD",
			"address": "0xCb29D2cf2C65d3Be1d00F07f3441390432D55203",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xCb29D2cf2C65d3Be1d00F07f3441390432D55203",
			"network": "mainnet"
		},
		"TokenStatepBTC": {
			"name": "TokenStatepBTC",
			"address": "0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x4F6296455F8d754c19821cF1EC8FeBF2cD456E67",
			"network": "mainnet"
		},
		"TokenStatepCHF": {
			"name": "TokenStatepCHF",
			"address": "0x52496fE8a4feaEFe14d9433E00D48E6929c13deC",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x52496fE8a4feaEFe14d9433E00D48E6929c13deC",
			"network": "mainnet"
		},
		"TokenStatepEUR": {
			"name": "TokenStatepEUR",
			"address": "0x6568D9e750fC44AF00f857885Dfb8281c00529c4",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x6568D9e750fC44AF00f857885Dfb8281c00529c4",
			"network": "mainnet"
		},
		"TokenStatepGBP": {
			"name": "TokenStatepGBP",
			"address": "0x7e88D19A79b291cfE5696d496055f7e57F537A75",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x7e88D19A79b291cfE5696d496055f7e57F537A75",
			"network": "mainnet"
		},
		"TokenStatepJPY": {
			"name": "TokenStatepJPY",
			"address": "0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x4dFACfB15514C21c991ff75Bc7Bf6Fb1F98361ed",
			"network": "mainnet"
		},
		"TokenStatepUSD": {
			"name": "TokenStatepUSD",
			"address": "0x05a9CBe762B36632b3594DA4F082340E0e5343e8",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x05a9CBe762B36632b3594DA4F082340E0e5343e8",
			"network": "mainnet"
		},
		"TokenStatepXAG": {
			"name": "TokenStatepXAG",
			"address": "0x53d244Fb46357568DBeF082225cCC87cBD94aAE8",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x53d244Fb46357568DBeF082225cCC87cBD94aAE8",
			"network": "mainnet"
		},
		"TokenStatepXAU": {
			"name": "TokenStatepXAU",
			"address": "0x20569B49d74c1EDE765382574F7F3fdC2a078A4f",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x20569B49d74c1EDE765382574F7F3fdC2a078A4f",
			"network": "mainnet"
		},
		"TokenStatePeriFinance": {
			"name": "TokenStatePeriFinance",
			"address": "0x40eE175b073A1ac2A5dD02695c9A9612973C317A",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x40eE175b073A1ac2A5dD02695c9A9612973C317A",
			"timestamp": "2021-03-02T04:31:34.545Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepETH": {
			"name": "TokenStatepETH",
			"address": "0x34A5ef81d18F3a305aE9C2d7DF42beef4c79031c",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x34A5ef81d18F3a305aE9C2d7DF42beef4c79031c",
			"timestamp": "2019-04-23T22:47:33.039Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypETH": {
			"name": "ProxypETH",
			"address": "0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x5e74C9036fb86BD7eCdcb084a0673EFc32eA31cb",
			"timestamp": "2019-09-12T22:47:44.346Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpETH": {
			"name": "PynthpETH",
			"address": "0x87641989057242Bff28D0D6108d007C79774D06f",
			"source": "MultiCollateralPynth",
			"link": "https://etherscan.io/address/0x87641989057242Bff28D0D6108d007C79774D06f",
			"timestamp": "2020-12-24T00:48:11.878Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepBNB": {
			"name": "TokenStatepBNB",
			"address": "0xf9bd94C6F93c1FA5F38174c5e424721e1046af07",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xf9bd94C6F93c1FA5F38174c5e424721e1046af07",
			"timestamp": "2019-04-23T22:50:26.088Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypBNB": {
			"name": "ProxypBNB",
			"address": "0x617aeCB6137B5108D1E7D4918e3725C8cEbdB848",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x617aeCB6137B5108D1E7D4918e3725C8cEbdB848",
			"timestamp": "2019-09-26T07:16:34.089Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpBNB": {
			"name": "PynthpBNB",
			"address": "0xda3c83750b1FA31Fda838136ef3f853b41cb7a5a",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0xda3c83750b1FA31Fda838136ef3f853b41cb7a5a",
			"timestamp": "2020-12-24T00:48:41.069Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiBTC": {
			"name": "TokenStateiBTC",
			"address": "0xa1652766155D4Debc31D01BF3f748cB46508745b",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xa1652766155D4Debc31D01BF3f748cB46508745b",
			"timestamp": "2019-04-23T22:52:41.619Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiBTC": {
			"name": "ProxyiBTC",
			"address": "0xD6014EA05BDe904448B743833dDF07c3C7837481",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xD6014EA05BDe904448B743833dDF07c3C7837481",
			"timestamp": "2019-09-26T07:29:27.270Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiBTC": {
			"name": "PynthiBTC",
			"address": "0x8350d1b2d6EF5289179fe49E5b0F208165B4e32e",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x8350d1b2d6EF5289179fe49E5b0F208165B4e32e",
			"timestamp": "2020-12-24T01:08:57.000Z",
			"txn": "https://etherscan.io/tx/0x30cc8647271972c80b32a5a9ea1be55915b30c22965b7ae8ac5016ad63a64a4b",
			"network": "mainnet"
		},
		"TokenStateiETH": {
			"name": "TokenStateiETH",
			"address": "0x7b6ab32Ca02B31485fbf7265437c2853792CC5d9",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x7b6ab32Ca02B31485fbf7265437c2853792CC5d9",
			"timestamp": "2019-04-23T22:57:53.691Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiETH": {
			"name": "ProxyiETH",
			"address": "0xA9859874e1743A32409f75bB11549892138BBA1E",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xA9859874e1743A32409f75bB11549892138BBA1E",
			"timestamp": "2019-09-26T07:33:33.973Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiETH": {
			"name": "PynthiETH",
			"address": "0x29DD4A59F4D339226867e77aF211724eaBb45c02",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x29DD4A59F4D339226867e77aF211724eaBb45c02",
			"timestamp": "2020-12-24T01:09:57.880Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiBNB": {
			"name": "TokenStateiBNB",
			"address": "0xc4E4c442653fDC78A71401684fd6cF9d67B3B643",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xc4E4c442653fDC78A71401684fd6cF9d67B3B643",
			"timestamp": "2019-04-23T23:01:05.669Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiBNB": {
			"name": "ProxyiBNB",
			"address": "0xAFD870F32CE54EfdBF677466B612bf8ad164454B",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xAFD870F32CE54EfdBF677466B612bf8ad164454B",
			"timestamp": "2019-09-26T07:37:01.300Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiBNB": {
			"name": "PynthiBNB",
			"address": "0xf7B8dF8b16dA302d85603B8e7F95111a768458Cc",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0xf7B8dF8b16dA302d85603B8e7F95111a768458Cc",
			"timestamp": "2020-12-24T01:10:30.666Z",
			"txn": "",
			"network": "mainnet"
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0x32968b00565993c7ff66834273649Cd1b36dc605",
			"source": "RewardEscrow",
			"link": "https://etherscan.io/address/0x32968b00565993c7ff66834273649Cd1b36dc605",
			"timestamp": "2021-05-06T12:57:12.000Z",
			"txn": "https://etherscan.io/tx/0xa8fff88165f126f675ca74d592349e7944fcb83c9d11302ff9f4e2222a681fbe",
			"network": "mainnet"
		},
		"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"
		},
		"SupplySchedule": {
			"name": "SupplySchedule",
			"address": "0x38B0f3Df6057b3C9CbCb3A1002AC948F53a2bF41",
			"source": "SupplySchedule",
			"link": "https://etherscan.io/address/0x38B0f3Df6057b3C9CbCb3A1002AC948F53a2bF41",
			"timestamp": "2021-05-06T13:55:37.000Z",
			"txn": "https://etherscan.io/tx/0x5f4482d4a1150c7cd1dad78861303d5910f4e21c1d100e87276ff9af71c3f11c",
			"network": "mainnet"
		},
		"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"
		},
		"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"
		},
		"TokenStatepTRX": {
			"name": "TokenStatepTRX",
			"address": "0x7EC5697C724895DA7f2320bDE063BEF6215a72e2",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x7EC5697C724895DA7f2320bDE063BEF6215a72e2",
			"timestamp": "2019-07-03T02:13:44.170Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypTRX": {
			"name": "ProxypTRX",
			"address": "0xf2E08356588EC5cd9E437552Da87C0076b4970B0",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xf2E08356588EC5cd9E437552Da87C0076b4970B0",
			"timestamp": "2019-09-26T07:20:59.185Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpTRX": {
			"name": "PynthpTRX",
			"address": "0x47bD14817d7684082E04934878EE2Dd3576Ae19d",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x47bD14817d7684082E04934878EE2Dd3576Ae19d",
			"timestamp": "2020-12-24T00:49:33.421Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepXTZ": {
			"name": "TokenStatepXTZ",
			"address": "0x959894a82fbF99d35B12ed1EA81e783296229862",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x959894a82fbF99d35B12ed1EA81e783296229862",
			"timestamp": "2019-07-03T02:19:13.880Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypXTZ": {
			"name": "ProxypXTZ",
			"address": "0x2e59005c5c0f0a4D77CcA82653d48b46322EE5Cd",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x2e59005c5c0f0a4D77CcA82653d48b46322EE5Cd",
			"timestamp": "2019-09-26T07:24:20.230Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpXTZ": {
			"name": "PynthpXTZ",
			"address": "0x6F927644d55E32318629198081923894FbFe5c07",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x6F927644d55E32318629198081923894FbFe5c07",
			"timestamp": "2020-12-24T00:51:28.986Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiTRX": {
			"name": "TokenStateiTRX",
			"address": "0xd69EabdF940174cA571A6D71dde9B9A4dbCdBb0f",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xd69EabdF940174cA571A6D71dde9B9A4dbCdBb0f",
			"timestamp": "2019-07-18T23:21:42.484Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiTRX": {
			"name": "ProxyiTRX",
			"address": "0xC5807183a9661A533CB08CbC297594a0B864dc12",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xC5807183a9661A533CB08CbC297594a0B864dc12",
			"timestamp": "2019-09-26T07:42:17.542Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiTRX": {
			"name": "PynthiTRX",
			"address": "0x0517A56da8A517e3b2D484Cc5F1Da4BDCfE68ec3",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x0517A56da8A517e3b2D484Cc5F1Da4BDCfE68ec3",
			"timestamp": "2020-12-24T01:11:00.413Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiXTZ": {
			"name": "TokenStateiXTZ",
			"address": "0xca0d3004f5E771A129fB94619f8867A23e8A23de",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xca0d3004f5E771A129fB94619f8867A23e8A23de",
			"timestamp": "2019-07-18T23:25:26.814Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiXTZ": {
			"name": "ProxyiXTZ",
			"address": "0x8deef89058090ac5655A99EEB451a4f9183D1678",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x8deef89058090ac5655A99EEB451a4f9183D1678",
			"timestamp": "2019-09-26T07:45:09.832Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiXTZ": {
			"name": "PynthiXTZ",
			"address": "0x099CfAd1640fc7EA686ab1D83F0A285Ba0470882",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x099CfAd1640fc7EA686ab1D83F0A285Ba0470882",
			"timestamp": "2020-12-24T01:11:26.970Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0x5d30aD9C6374Bf925D0A75454fa327AACf778492",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x5d30aD9C6374Bf925D0A75454fa327AACf778492",
			"timestamp": "2021-05-06T15:51:31.000Z",
			"txn": "https://etherscan.io/tx/0xf6e88d7f80cd7ace83e7e0f899e9b594e3508fca0f8c9e335d1e66700c668197",
			"network": "mainnet"
		},
		"TokenStatepCEX": {
			"name": "TokenStatepCEX",
			"address": "0xc5680d24C3086e10f618b5176A59E90D6284be9f",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xc5680d24C3086e10f618b5176A59E90D6284be9f",
			"timestamp": "2019-08-19T18:17:14.215Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypCEX": {
			"name": "ProxypCEX",
			"address": "0xeABACD844A196D7Faf3CE596edeBF9900341B420",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xeABACD844A196D7Faf3CE596edeBF9900341B420",
			"timestamp": "2019-09-26T07:27:02.794Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpCEX": {
			"name": "PynthpCEX",
			"address": "0x2acfe6265D358d982cB1c3B521199973CD443C71",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x2acfe6265D358d982cB1c3B521199973CD443C71",
			"timestamp": "2020-12-24T01:07:16.204Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiCEX": {
			"name": "TokenStateiCEX",
			"address": "0x3Fb1F228168432688b4E851Fe909907248cf9eCD",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x3Fb1F228168432688b4E851Fe909907248cf9eCD",
			"timestamp": "2019-08-19T18:18:47.018Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiCEX": {
			"name": "ProxyiCEX",
			"address": "0x336213e1DDFC69f4701Fc3F86F4ef4A160c1159d",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x336213e1DDFC69f4701Fc3F86F4ef4A160c1159d",
			"timestamp": "2019-09-26T07:49:03.172Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiCEX": {
			"name": "PynthiCEX",
			"address": "0x6Dc6a64724399524184C2c44a526A2cff1BaA507",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x6Dc6a64724399524184C2c44a526A2cff1BaA507",
			"timestamp": "2020-12-24T01:19:00.969Z",
			"txn": "",
			"network": "mainnet"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0x4f9a594Cb81565371165dD20e2239286F9BDAd53",
			"source": "RewardsDistribution",
			"link": "https://etherscan.io/address/0x4f9a594Cb81565371165dD20e2239286F9BDAd53",
			"timestamp": "2021-05-06T13:24:27.000Z",
			"txn": "https://etherscan.io/tx/0x1f23edfd1c197589a4b73e7c1b465a589226b216001cb1c9672ead409aa6593b",
			"network": "mainnet"
		},
		"TokenStatepXRP": {
			"name": "TokenStatepXRP",
			"address": "0xb90AafFB61dFC042e7a7AbcE069DDB4BAE9ab192",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xb90AafFB61dFC042e7a7AbcE069DDB4BAE9ab192",
			"timestamp": "2019-11-21T00:59:13.681Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypXRP": {
			"name": "ProxypXRP",
			"address": "0xa2B0fDe6D710e201d0d608e924A484d1A5fEd57c",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xa2B0fDe6D710e201d0d608e924A484d1A5fEd57c",
			"timestamp": "2019-11-21T01:00:02.112Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpXRP": {
			"name": "PynthpXRP",
			"address": "0xe3D5E1c1bA874C0fF3BA31b999967F24d5ca04e5",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xe3D5E1c1bA874C0fF3BA31b999967F24d5ca04e5",
			"timestamp": "2020-12-24T00:52:56.518Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepLTC": {
			"name": "TokenStatepLTC",
			"address": "0xe1a2C7957a4771031301f2E25b0f52039aD97270",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xe1a2C7957a4771031301f2E25b0f52039aD97270",
			"timestamp": "2019-11-21T01:01:49.282Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypLTC": {
			"name": "ProxypLTC",
			"address": "0xC14103C2141E842e228FBaC594579e798616ce7A",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xC14103C2141E842e228FBaC594579e798616ce7A",
			"timestamp": "2019-11-21T01:02:21.876Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpLTC": {
			"name": "PynthpLTC",
			"address": "0xA962208CDC8588F9238fae169d0F63306c353F4F",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0xA962208CDC8588F9238fae169d0F63306c353F4F",
			"timestamp": "2020-12-24T00:54:09.321Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepLINK": {
			"name": "TokenStatepLINK",
			"address": "0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x577D4a7395c6A5f46d9981a5F83fa7294926aBB0",
			"timestamp": "2019-11-21T01:04:15.682Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypLINK": {
			"name": "ProxypLINK",
			"address": "0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xbBC455cb4F1B9e4bFC4B73970d360c8f032EfEE6",
			"timestamp": "2019-11-21T01:04:28.006Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpLINK": {
			"name": "PynthpLINK",
			"address": "0xcd980Fc5CcdAe62B18A52b83eC64200121A929db",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xcd980Fc5CcdAe62B18A52b83eC64200121A929db",
			"timestamp": "2020-12-24T00:57:48.376Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepDEFI": {
			"name": "TokenStatepDEFI",
			"address": "0x7Ac2D37098a65B0f711CFfA3be635F1E6aCacFaB",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x7Ac2D37098a65B0f711CFfA3be635F1E6aCacFaB",
			"timestamp": "2019-11-21T01:06:29.909Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypDEFI": {
			"name": "ProxypDEFI",
			"address": "0xe1aFe1Fd76Fd88f78cBf599ea1846231B8bA3B6B",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xe1aFe1Fd76Fd88f78cBf599ea1846231B8bA3B6B",
			"timestamp": "2019-11-21T01:06:47.305Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpDEFI": {
			"name": "PynthpDEFI",
			"address": "0x46A7Af405093B27DA6DeF193C508Bd9240A255FA",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x46A7Af405093B27DA6DeF193C508Bd9240A255FA",
			"timestamp": "2020-12-24T01:08:28.203Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiXRP": {
			"name": "TokenStateiXRP",
			"address": "0xa9d6aE0F9E9da6FFC357Cd155CCe18E3491e135D",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xa9d6aE0F9E9da6FFC357Cd155CCe18E3491e135D",
			"timestamp": "2019-11-21T01:17:24.430Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiXRP": {
			"name": "ProxyiXRP",
			"address": "0x27269b3e45A4D3E79A3D6BFeE0C8fB13d0D711A6",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x27269b3e45A4D3E79A3D6BFeE0C8fB13d0D711A6",
			"timestamp": "2019-11-21T01:17:30.573Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiXRP": {
			"name": "PynthiXRP",
			"address": "0x19cC1f63e344D74A87D955E3F3E95B28DDDc61d8",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x19cC1f63e344D74A87D955E3F3E95B28DDDc61d8",
			"timestamp": "2020-12-24T01:11:45.813Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiLINK": {
			"name": "TokenStateiLINK",
			"address": "0x3FdF819c3665D6866b5Bb0F56E1EDA0D7f69B714",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x3FdF819c3665D6866b5Bb0F56E1EDA0D7f69B714",
			"timestamp": "2019-11-21T01:19:34.860Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiLINK": {
			"name": "ProxyiLINK",
			"address": "0x2d7aC061fc3db53c39fe1607fB8cec1B2C162B01",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x2d7aC061fc3db53c39fe1607fB8cec1B2C162B01",
			"timestamp": "2019-11-21T01:20:22.182Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiLINK": {
			"name": "PynthiLINK",
			"address": "0x4D50A0e5f068ACdC80A1da2dd1f0Ad48845df2F8",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x4D50A0e5f068ACdC80A1da2dd1f0Ad48845df2F8",
			"timestamp": "2020-12-24T01:12:51.217Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiLTC": {
			"name": "TokenStateiLTC",
			"address": "0x7B1010586F923CbF61e7C314146853675705751F",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x7B1010586F923CbF61e7C314146853675705751F",
			"timestamp": "2019-11-21T01:22:54.986Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiLTC": {
			"name": "ProxyiLTC",
			"address": "0x79da1431150C9b82D2E5dfc1C68B33216846851e",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x79da1431150C9b82D2E5dfc1C68B33216846851e",
			"timestamp": "2019-11-21T01:23:10.025Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiLTC": {
			"name": "PynthiLTC",
			"address": "0xb73c665825dAa926D6ef09417FbE5654473c1b49",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0xb73c665825dAa926D6ef09417FbE5654473c1b49",
			"timestamp": "2020-12-24T01:13:17.230Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiDEFI": {
			"name": "TokenStateiDEFI",
			"address": "0x6E9BAC2827dBBa78D11b270115086CC357988928",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x6E9BAC2827dBBa78D11b270115086CC357988928",
			"timestamp": "2019-11-21T01:25:29.686Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiDEFI": {
			"name": "ProxyiDEFI",
			"address": "0x14d10003807AC60d07BB0ba82cAeaC8d2087c157",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x14d10003807AC60d07BB0ba82cAeaC8d2087c157",
			"timestamp": "2019-11-21T01:25:40.662Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiDEFI": {
			"name": "PynthiDEFI",
			"address": "0x87eb6e935e3C7E3E3A0E31a5658498bC87dE646E",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x87eb6e935e3C7E3E3A0E31a5658498bC87dE646E",
			"timestamp": "2020-12-24T01:21:10.326Z",
			"txn": "",
			"network": "mainnet"
		},
		"Math": {
			"name": "Math",
			"address": "0x9A1A2E6390D8A848901572d198513988fb50dB01",
			"source": "Math",
			"link": "https://etherscan.io/address/0x9A1A2E6390D8A848901572d198513988fb50dB01",
			"timestamp": "2021-02-24T11:29:29.000Z",
			"txn": "https://etherscan.io/tx/0x83ea369e88ba0abbaf89b7db5c00fdcb008dd56802bdc178f6a4374c95e24d63",
			"network": "mainnet"
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0x036ec2Bc5352C66C0D56c2c42E1F4C09355a790f",
			"source": "AddressResolver",
			"link": "https://etherscan.io/address/0x036ec2Bc5352C66C0D56c2c42E1F4C09355a790f",
			"timestamp": "2021-03-02T02:49:51.000Z",
			"txn": "https://etherscan.io/tx/0xd3f8057979d83b302b04613068aa49b91881bbe680e92b48c639ed2e991f5b51",
			"network": "mainnet"
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0x0bfDc04B38251394542586969E2356d0D731f7DE",
			"source": "ExchangerWithVirtualPynth",
			"link": "https://etherscan.io/address/0x0bfDc04B38251394542586969E2356d0D731f7DE",
			"timestamp": "2020-12-24T00:37:42.000Z",
			"txn": "https://etherscan.io/tx/0x01a26b4175f6b32f5df78c86702bcd516099c1f258fb1e68b1964edc4f225297",
			"network": "mainnet"
		},
		"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"
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0x611Abc0e066A01AFf63910fC8935D164267eC6CF",
			"source": "Issuer",
			"link": "https://etherscan.io/address/0x611Abc0e066A01AFf63910fC8935D164267eC6CF",
			"timestamp": "2020-12-24T00:37:54.000Z",
			"txn": "https://etherscan.io/tx/0x4265d8761e78f2b58d0639f75f48989e707792f75f58db23b7489921e5f73490",
			"network": "mainnet"
		},
		"EtherCollateral": {
			"name": "EtherCollateral",
			"address": "0x7133afF303539b0A4F60Ab9bd9656598BF49E272",
			"source": "EtherCollateral",
			"link": "https://etherscan.io/address/0x7133afF303539b0A4F60Ab9bd9656598BF49E272",
			"timestamp": "2020-07-30T01:15:54.000Z",
			"txn": "https://etherscan.io/tx/0xb6e39fcc3781bbdf51775fb2cf5af8cb7c9a23635c6cafcd4980ea6bd0b6ad08",
			"network": "mainnet"
		},
		"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": "0xb49B7e0742EcB4240ffE91661d2A580677460b6A",
			"source": "SystemStatus",
			"link": "https://etherscan.io/address/0xb49B7e0742EcB4240ffE91661d2A580677460b6A",
			"timestamp": "2021-03-02T02:51:46.000Z",
			"txn": "https://etherscan.io/tx/0x4c3a8371f973a64e39737be26320ab3b0a960d6ec1d4165d06cea4d3ca1bbdee",
			"network": "mainnet"
		},
		"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"
		},
		"TokenStatepEOS": {
			"name": "TokenStatepEOS",
			"address": "0x631443C4121ca7B4c90dC79a37B1DcE8B79aDeEc",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x631443C4121ca7B4c90dC79a37B1DcE8B79aDeEc",
			"timestamp": "2020-04-02T08:36:24.963Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypEOS": {
			"name": "ProxypEOS",
			"address": "0x88C8Cf3A212c0369698D13FE98Fcb76620389841",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x88C8Cf3A212c0369698D13FE98Fcb76620389841",
			"timestamp": "2020-04-02T08:36:32.688Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpEOS": {
			"name": "PynthpEOS",
			"address": "0xAf090d6E583C082f2011908cf95c2518BE7A53ac",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xAf090d6E583C082f2011908cf95c2518BE7A53ac",
			"timestamp": "2020-12-24T00:59:24.906Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatesBCH": {
			"name": "TokenStatesBCH",
			"address": "0xb7ee031093B9578DF124983823330BBe277FD8b4",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xb7ee031093B9578DF124983823330BBe277FD8b4",
			"timestamp": "2020-04-02T08:38:33.859Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxysBCH": {
			"name": "ProxysBCH",
			"address": "0x36a2422a863D5B950882190Ff5433E513413343a",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x36a2422a863D5B950882190Ff5433E513413343a",
			"timestamp": "2020-04-02T08:42:47.100Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthsBCH": {
			"name": "PynthsBCH",
			"address": "0x7DA860eF331D22518C28E475af08a77e8599393A",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x7DA860eF331D22518C28E475af08a77e8599393A",
			"timestamp": "2020-12-24T01:00:43.003Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepETC": {
			"name": "TokenStatepETC",
			"address": "0xd4DB55Cf39c37BEAa3A47F2555D57B4ea2d9Ff39",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xd4DB55Cf39c37BEAa3A47F2555D57B4ea2d9Ff39",
			"timestamp": "2020-04-02T08:45:10.039Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypETC": {
			"name": "ProxypETC",
			"address": "0x22602469d704BfFb0936c7A7cfcD18f7aA269375",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x22602469d704BfFb0936c7A7cfcD18f7aA269375",
			"timestamp": "2020-04-02T08:51:58.081Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpETC": {
			"name": "PynthpETC",
			"address": "0x21ee4afBd6c151fD9A69c1389598170B1d45E0e3",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x21ee4afBd6c151fD9A69c1389598170B1d45E0e3",
			"timestamp": "2020-12-24T01:01:14.812Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatepDASH": {
			"name": "TokenStatepDASH",
			"address": "0x136b1EC699c62b0606854056f02dC7Bb80482d63",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x136b1EC699c62b0606854056f02dC7Bb80482d63",
			"timestamp": "2020-04-02T08:53:43.219Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxypDASH": {
			"name": "ProxypDASH",
			"address": "0xfE33ae95A9f0DA8A845aF33516EDc240DCD711d6",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xfE33ae95A9f0DA8A845aF33516EDc240DCD711d6",
			"timestamp": "2020-04-02T08:54:37.238Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthpDASH": {
			"name": "PynthpDASH",
			"address": "0xcb6Cb218D558ae7fF6415f95BDA6616FCFF669Cb",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xcb6Cb218D558ae7fF6415f95BDA6616FCFF669Cb",
			"timestamp": "2020-12-24T01:02:48.426Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatesXMR": {
			"name": "TokenStatesXMR",
			"address": "0x23d5381713841724A67B731026b32322228cA3C7",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x23d5381713841724A67B731026b32322228cA3C7",
			"timestamp": "2020-04-02T08:57:38.297Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxysXMR": {
			"name": "ProxysXMR",
			"address": "0x5299d6F7472DCc137D7f3C4BcfBBB514BaBF341A",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x5299d6F7472DCc137D7f3C4BcfBBB514BaBF341A",
			"timestamp": "2020-04-02T08:58:28.020Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthsXMR": {
			"name": "PynthsXMR",
			"address": "0x7B29C9e188De18563B19d162374ce6836F31415a",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x7B29C9e188De18563B19d162374ce6836F31415a",
			"timestamp": "2020-12-24T01:03:28.608Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatesADA": {
			"name": "TokenStatesADA",
			"address": "0x9956c5019a24fbd5B506AD070b771577bAc5c343",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x9956c5019a24fbd5B506AD070b771577bAc5c343",
			"timestamp": "2020-04-02T09:02:42.770Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxysADA": {
			"name": "ProxysADA",
			"address": "0xe36E2D3c7c34281FA3bC737950a68571736880A1",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xe36E2D3c7c34281FA3bC737950a68571736880A1",
			"timestamp": "2020-04-02T09:04:17.667Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthsADA": {
			"name": "PynthsADA",
			"address": "0xC22e51FA362654ea453B4018B616ef6f6ab3b779",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xC22e51FA362654ea453B4018B616ef6f6ab3b779",
			"timestamp": "2020-12-24T01:04:01.257Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatesFTSE": {
			"name": "TokenStatesFTSE",
			"address": "0xD1B420854527e4b0e489bd37ec8f9DB1E6305515",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xD1B420854527e4b0e489bd37ec8f9DB1E6305515",
			"timestamp": "2020-04-02T09:06:03.799Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxysFTSE": {
			"name": "ProxysFTSE",
			"address": "0x23348160D7f5aca21195dF2b70f28Fce2B0be9fC",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x23348160D7f5aca21195dF2b70f28Fce2B0be9fC",
			"timestamp": "2020-04-02T09:06:16.876Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthsFTSE": {
			"name": "PynthsFTSE",
			"address": "0x3E2dA260B4A85782A629320EB027A3B7c28eA9f1",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x3E2dA260B4A85782A629320EB027A3B7c28eA9f1",
			"timestamp": "2020-12-24T01:04:57.030Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStatesNIKKEI": {
			"name": "TokenStatesNIKKEI",
			"address": "0xc69D8B688a309FDEa9273DDE1A46bF1e51928a55",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xc69D8B688a309FDEa9273DDE1A46bF1e51928a55",
			"timestamp": "2020-04-02T09:07:58.555Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxysNIKKEI": {
			"name": "ProxysNIKKEI",
			"address": "0x757de3ac6B830a931eF178C6634c5C551773155c",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x757de3ac6B830a931eF178C6634c5C551773155c",
			"timestamp": "2020-04-02T09:08:21.251Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthsNIKKEI": {
			"name": "PynthsNIKKEI",
			"address": "0xc02DD182Ce029E6d7f78F37492DFd39E4FEB1f8b",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0xc02DD182Ce029E6d7f78F37492DFd39E4FEB1f8b",
			"timestamp": "2020-12-24T01:05:29.343Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiEOS": {
			"name": "TokenStateiEOS",
			"address": "0x68a8b098967Ae077dcFf5cC8E29B7cb15f1A3cC8",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x68a8b098967Ae077dcFf5cC8E29B7cb15f1A3cC8",
			"timestamp": "2020-04-02T09:09:52.153Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiEOS": {
			"name": "ProxyiEOS",
			"address": "0xF4EebDD0704021eF2a6Bbe993fdf93030Cd784b4",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xF4EebDD0704021eF2a6Bbe993fdf93030Cd784b4",
			"timestamp": "2020-04-02T09:11:43.369Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiEOS": {
			"name": "PynthiEOS",
			"address": "0x806A599d60B2FdBda379D5890287D2fba1026cC0",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x806A599d60B2FdBda379D5890287D2fba1026cC0",
			"timestamp": "2020-12-24T01:13:58.965Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiBCH": {
			"name": "TokenStateiBCH",
			"address": "0x780a7206313F411db5f32c79B15B1C80FaABED59",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x780a7206313F411db5f32c79B15B1C80FaABED59",
			"timestamp": "2020-04-02T09:13:11.987Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiBCH": {
			"name": "ProxyiBCH",
			"address": "0xf6E9b246319ea30e8C2fA2d1540AAEBF6f9E1B89",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xf6E9b246319ea30e8C2fA2d1540AAEBF6f9E1B89",
			"timestamp": "2020-04-02T09:13:43.672Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiBCH": {
			"name": "PynthiBCH",
			"address": "0x13Fae0E7E85ba720078038bea5011C2957cDcef2",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x13Fae0E7E85ba720078038bea5011C2957cDcef2",
			"timestamp": "2020-12-24T01:14:40.086Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiETC": {
			"name": "TokenStateiETC",
			"address": "0x71892d13BA2b19f196760f619eE9C67534a49E37",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x71892d13BA2b19f196760f619eE9C67534a49E37",
			"timestamp": "2020-04-02T09:16:33.846Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiETC": {
			"name": "ProxyiETC",
			"address": "0xd50c1746D835d2770dDA3703B69187bFfeB14126",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xd50c1746D835d2770dDA3703B69187bFfeB14126",
			"timestamp": "2020-04-02T09:16:38.435Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiETC": {
			"name": "PynthiETC",
			"address": "0xCea42504874586a718954746A564B72bc7eba3E3",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0xCea42504874586a718954746A564B72bc7eba3E3",
			"timestamp": "2020-12-24T01:15:14.493Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiDASH": {
			"name": "TokenStateiDASH",
			"address": "0x01ADA1140cA795897c45016Dfd296382267b264a",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x01ADA1140cA795897c45016Dfd296382267b264a",
			"timestamp": "2020-04-02T09:17:53.559Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiDASH": {
			"name": "ProxyiDASH",
			"address": "0xCB98f42221b2C251A4E74A1609722eE09f0cc08E",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xCB98f42221b2C251A4E74A1609722eE09f0cc08E",
			"timestamp": "2020-04-02T09:18:12.193Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiDASH": {
			"name": "PynthiDASH",
			"address": "0x947d5656725fB9A8f9c826A91b6082b07E2745B7",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x947d5656725fB9A8f9c826A91b6082b07E2745B7",
			"timestamp": "2020-12-24T01:16:07.372Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiXMR": {
			"name": "TokenStateiXMR",
			"address": "0xE20117888AB22ACF65b02C196A9f8423b502876c",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xE20117888AB22ACF65b02C196A9f8423b502876c",
			"timestamp": "2020-04-02T09:20:38.791Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiXMR": {
			"name": "ProxyiXMR",
			"address": "0x4AdF728E2Df4945082cDD6053869f51278fae196",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x4AdF728E2Df4945082cDD6053869f51278fae196",
			"timestamp": "2020-04-02T09:21:23.214Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiXMR": {
			"name": "PynthiXMR",
			"address": "0x186E56A62E7caCE1308f1A1B0dbb27f33F80f16f",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x186E56A62E7caCE1308f1A1B0dbb27f33F80f16f",
			"timestamp": "2020-12-24T01:16:45.333Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiADA": {
			"name": "TokenStateiADA",
			"address": "0xD636802A5b903b23726189D9B89daAD2750177FA",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xD636802A5b903b23726189D9B89daAD2750177FA",
			"timestamp": "2020-04-02T09:23:16.088Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiADA": {
			"name": "ProxyiADA",
			"address": "0x8A8079c7149B8A1611e5C5d978DCA3bE16545F83",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x8A8079c7149B8A1611e5C5d978DCA3bE16545F83",
			"timestamp": "2020-04-02T09:23:56.196Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiADA": {
			"name": "PynthiADA",
			"address": "0x931c5516EE121a177bD2B60e0122Da5B27630ABc",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x931c5516EE121a177bD2B60e0122Da5B27630ABc",
			"timestamp": "2020-12-24T01:17:52.296Z",
			"txn": "",
			"network": "mainnet"
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0xB8Aa8820da9F999Ba3b3dbB7F08f07Cc1c8Fa933",
			"source": "ReadProxy",
			"link": "https://etherscan.io/address/0xB8Aa8820da9F999Ba3b3dbB7F08f07Cc1c8Fa933",
			"timestamp": "2021-02-24T11:30:03.000Z",
			"txn": "https://etherscan.io/tx/0x461f162d52a80408280339bf1c41025c58365476ad842d415af33609c340cf2c",
			"network": "mainnet"
		},
		"Liquidations": {
			"name": "Liquidations",
			"address": "0xAD95C918af576c82Df740878C3E983CBD175daB6",
			"source": "Liquidations",
			"link": "https://etherscan.io/address/0xAD95C918af576c82Df740878C3E983CBD175daB6",
			"timestamp": "2020-12-24T00:36:27.000Z",
			"txn": "https://etherscan.io/tx/0xe32d992ba9cec00f6adce67c46ad7e9387592a87c11fff56bdce2a389929ad72",
			"network": "mainnet"
		},
		"EternalStorageLiquidations": {
			"name": "EternalStorageLiquidations",
			"address": "0x0F7c200C4d3b5570C777764884Ce6DE67F31D3Ba",
			"source": "EternalStorage",
			"link": "https://etherscan.io/address/0x0F7c200C4d3b5570C777764884Ce6DE67F31D3Ba",
			"timestamp": "2020-06-05T01:18:13.842Z",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardsPERIBalancer": {
			"name": "StakingRewardsPERIBalancer",
			"address": "0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10",
			"source": "StakingRewardsPERIBalancer",
			"link": "https://etherscan.io/address/0xFBaEdde70732540cE2B11A8AC58Eb2dC0D69dE10",
			"timestamp": "2020-06-03",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardsiETH": {
			"name": "StakingRewardsiETH",
			"address": "0x6d4F135aF7DFCd4BDF6dCb9D7911F5d243872a52",
			"source": "StakingRewards",
			"link": "https://etherscan.io/address/0x6d4f135af7dfcd4bdf6dcb9d7911f5d243872a52",
			"timestamp": "2021-01-04",
			"txn": "https://etherscan.io/tx/0x488136287cfea754c18f569dd3c16132d54cd944d5f294402dc9895b5dfbc334",
			"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"
		},
		"StakingRewardspBTCCurve": {
			"name": "StakingRewardspBTCCurve",
			"address": "0x13C1542A468319688B89E323fe9A3Be3A90EBb27",
			"source": "StakingRewardspBTCCurve",
			"link": "https://etherscan.io/address/0x13C1542A468319688B89E323fe9A3Be3A90EBb27",
			"timestamp": "2020-05-29",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardspUSDCurve": {
			"name": "StakingRewardspUSDCurve",
			"address": "0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92",
			"source": "StakingRewardspUSDCurve",
			"link": "https://etherscan.io/address/0xDCB6A51eA3CA5d3Fd898Fd6564757c7aAeC3ca92",
			"timestamp": "2020-04-20",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardspXAUUniswapV2": {
			"name": "StakingRewardspXAUUniswapV2",
			"address": "0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC",
			"source": "StakingRewardspXAUUniswapV2",
			"link": "https://etherscan.io/address/0x8302FE9F0C509a996573D3Cc5B0D5D51e4FDD5eC",
			"timestamp": "2020-05-29",
			"txn": "",
			"network": "mainnet"
		},
		"StakingRewardspETHUniswapV1": {
			"name": "StakingRewardspETHUniswapV1",
			"address": "0x48D7f315feDcaD332F68aafa017c7C158BC54760",
			"source": "StakingRewardspETHUniswapV1",
			"link": "https://etherscan.io/address/0x48D7f315feDcaD332F68aafa017c7C158BC54760",
			"timestamp": "2020-05-29",
			"txn": "",
			"network": "mainnet"
		},
		"BinaryOptionMarketFactory": {
			"name": "BinaryOptionMarketFactory",
			"address": "0x211bA925B35b82246a3CCfa3A991a39A840f025C",
			"source": "BinaryOptionMarketFactory",
			"link": "https://etherscan.io/address/0x211bA925B35b82246a3CCfa3A991a39A840f025C",
			"timestamp": "2020-12-24T01:22:35.000Z",
			"txn": "https://etherscan.io/tx/0x635127ee42f2fb13d9dc649429ec808fd7d3ce7fea22a0d443a733bae05a9115",
			"network": "mainnet"
		},
		"BinaryOptionMarketManager": {
			"name": "BinaryOptionMarketManager",
			"address": "0x915D1c9dF12142B535F6a7437F0196D80bCCC1BD",
			"source": "BinaryOptionMarketManager",
			"link": "https://etherscan.io/address/0x915D1c9dF12142B535F6a7437F0196D80bCCC1BD",
			"timestamp": "2020-12-24T01:22:44.000Z",
			"txn": "https://etherscan.io/tx/0x3319269eab7daa8ee61fada085da0a34981948c0c90f235b30f3cd9d419caf22",
			"network": "mainnet"
		},
		"BinaryOptionMarketData": {
			"name": "BinaryOptionMarketData",
			"address": "0xe523184876c97945da45998582526cDb6a3dA260",
			"source": "BinaryOptionMarketData",
			"link": "https://etherscan.io/address/0xe523184876c97945da45998582526cDb6a3dA260",
			"timestamp": "2020-08-06T00:13:25.000Z",
			"txn": "https://etherscan.io/tx/0x9d17f35dd587d7fd091851688570c1cbab50a96ed5912d6c161b899178e0e3ae",
			"network": "mainnet"
		},
		"PynthUtil": {
			"name": "PynthUtil",
			"address": "0x81Aee4EA48f678E172640fB5813cf7A96AFaF6C3",
			"source": "PynthUtil",
			"link": "https://etherscan.io/address/0x81Aee4EA48f678E172640fB5813cf7A96AFaF6C3",
			"timestamp": "2020-08-06T00:14:40.000Z",
			"txn": "https://etherscan.io/tx/0xf9c727d79abb8c45375fdf4b2b1138299c24f5b0affa5eaf03fba8cf00f6b1a4",
			"network": "mainnet"
		},
		"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"
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0xc757aCBa3c0506218b3022266a9DC7F3612d85f5",
			"source": "FlexibleStorage",
			"link": "https://etherscan.io/address/0xc757aCBa3c0506218b3022266a9DC7F3612d85f5",
			"timestamp": "2020-09-01T02:29:14.203Z",
			"txn": "",
			"network": "mainnet"
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0x4637f7bA92b8e9aD51D6ef3700c5515eDF77Ed51",
			"source": "SystemSettings",
			"link": "https://etherscan.io/address/0x4637f7bA92b8e9aD51D6ef3700c5515eDF77Ed51",
			"timestamp": "2021-03-02T02:50:15.000Z",
			"txn": "https://etherscan.io/tx/0x0b36ecc6b0e61fc39025f119d933280843391a91082cc1438eefb266c38a5787",
			"network": "mainnet"
		},
		"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"
		},
		"EtherCollateralpUSD": {
			"name": "EtherCollateralpUSD",
			"address": "0xfED77055B40d63DCf17ab250FFD6948FBFF57B82",
			"source": "EtherCollateralpUSD",
			"link": "https://etherscan.io/address/0xfED77055B40d63DCf17ab250FFD6948FBFF57B82",
			"timestamp": "2020-09-24T05:37:01.000Z",
			"txn": "https://etherscan.io/tx/0x180293c103885dfc0f1cb661032e8f82dec2af423c8aaddf27943b33ddf6e25b",
			"network": "mainnet"
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0x12c815b0c404D66Dd0491f4EC62839904cec25e7",
			"source": "DebtCache",
			"link": "https://etherscan.io/address/0x12c815b0c404D66Dd0491f4EC62839904cec25e7",
			"timestamp": "2020-12-24T00:37:32.000Z",
			"txn": "https://etherscan.io/tx/0xe590658c5cc4f0582932f17913b9e9da0e8a7a25237e9fd9f0b5634971bba79c",
			"network": "mainnet"
		},
		"TokenStatesOIL": {
			"name": "TokenStatesOIL",
			"address": "0x98d7CcF403B8BD2F6DC3F3cA4161f1E8db3dD080",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0x98d7CcF403B8BD2F6DC3F3cA4161f1E8db3dD080",
			"timestamp": "2020-11-12T00:53:11.423Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxysOIL": {
			"name": "ProxysOIL",
			"address": "0x6d16cF3EC5F763d4d99cB0B0b110eefD93B11B56",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0x6d16cF3EC5F763d4d99cB0B0b110eefD93B11B56",
			"timestamp": "2020-11-12T00:53:34.951Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthsOIL": {
			"name": "PynthsOIL",
			"address": "0x2962EA4E749e54b10CFA557770D597027BA67cB3",
			"source": "Pynth",
			"link": "https://etherscan.io/address/0x2962EA4E749e54b10CFA557770D597027BA67cB3",
			"timestamp": "2020-12-24T00:46:37.336Z",
			"txn": "",
			"network": "mainnet"
		},
		"TokenStateiOIL": {
			"name": "TokenStateiOIL",
			"address": "0xF92BE89BF1aebA61AC48D90CF7C9Ac2b3616c4Da",
			"source": "TokenState",
			"link": "https://etherscan.io/address/0xF92BE89BF1aebA61AC48D90CF7C9Ac2b3616c4Da",
			"timestamp": "2020-11-12T01:08:26.423Z",
			"txn": "",
			"network": "mainnet"
		},
		"ProxyiOIL": {
			"name": "ProxyiOIL",
			"address": "0xA5a5DF41883Cdc00c4cCC6E8097130535399d9a3",
			"source": "ProxyERC20",
			"link": "https://etherscan.io/address/0xA5a5DF41883Cdc00c4cCC6E8097130535399d9a3",
			"timestamp": "2020-11-12T01:08:31.899Z",
			"txn": "",
			"network": "mainnet"
		},
		"PynthiOIL": {
			"name": "PynthiOIL",
			"address": "0x53869BDa4b8d85aEDCC9C6cAcf015AF9447Cade7",
			"source": "PurgeablePynth",
			"link": "https://etherscan.io/address/0x53869BDa4b8d85aEDCC9C6cAcf015AF9447Cade7",
			"timestamp": "2020-12-24T01:22:23.337Z",
			"txn": "",
			"network": "mainnet"
		},
		"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"
		},
		"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"
		},
		"CollateralStateEth": {
			"name": "CollateralStateEth",
			"address": "0x04D9231B1fff88464a3d26Fd91A1bA0b24796107",
			"source": "CollateralState",
			"link": "https://etherscan.io/address/0x04D9231B1fff88464a3d26Fd91A1bA0b24796107",
			"timestamp": "2020-12-24T01:26:41.536Z",
			"txn": "",
			"network": "mainnet"
		},
		"CollateralEth": {
			"name": "CollateralEth",
			"address": "0x3FF5c0A14121Ca39211C95f6cEB221b86A90729E",
			"source": "CollateralEth",
			"link": "https://etherscan.io/address/0x3FF5c0A14121Ca39211C95f6cEB221b86A90729E",
			"timestamp": "2020-12-24T01:26:40.000Z",
			"txn": "https://etherscan.io/tx/0xea5320870be150914cef63f8597d72595ba926bf8c9113fa70df4bbe24d473c7",
			"network": "mainnet"
		},
		"CollateralStateErc20": {
			"name": "CollateralStateErc20",
			"address": "0x54277B3a7A4aEe0fdF279E16aBF9D5Dad87828D6",
			"source": "CollateralState",
			"link": "https://etherscan.io/address/0x54277B3a7A4aEe0fdF279E16aBF9D5Dad87828D6",
			"timestamp": "2020-12-24T01:38:09.000Z",
			"txn": "https://etherscan.io/tx/0xbbc132d77c986885491cf3fd25959ec55259b778d10a12af44af024f644f356a",
			"network": "mainnet"
		},
		"CollateralErc20": {
			"name": "CollateralErc20",
			"address": "0x3B3812BB9f6151bEb6fa10783F1ae848a77a0d46",
			"source": "CollateralErc20",
			"link": "https://etherscan.io/address/0x3B3812BB9f6151bEb6fa10783F1ae848a77a0d46",
			"timestamp": "2020-12-24T01:38:50.000Z",
			"txn": "https://etherscan.io/tx/0xdfd5c778ffc61a9aca0b74c9517cb10727953bb0c22f9352a776673ae2af471b",
			"network": "mainnet"
		},
		"CollateralStateShort": {
			"name": "CollateralStateShort",
			"address": "0xd322259B4D93F81a2a59f6010BEC166F6f5E870c",
			"source": "CollateralState",
			"link": "https://etherscan.io/address/0xd322259B4D93F81a2a59f6010BEC166F6f5E870c",
			"timestamp": "2020-12-24T01:39:15.355Z",
			"txn": "",
			"network": "mainnet"
		},
		"CollateralShort": {
			"name": "CollateralShort",
			"address": "0x188C2274B04Ea392B21487b5De299e382Ff84246",
			"source": "CollateralShort",
			"link": "https://etherscan.io/address/0x188C2274B04Ea392B21487b5De299e382Ff84246",
			"timestamp": "2020-12-24T01:39:14.000Z",
			"txn": "https://etherscan.io/tx/0x2f3fe90af2f7849b92541ef4245708421021042af4b3f5db58a8a6f5841c0347",
			"network": "mainnet"
		},
		"RewardEscrowV2": {
			"name": "RewardEscrowV2",
			"address": "0x65BCe046253f7B644a062252E89a8C2337F08A3d",
			"source": "RewardEscrowV2",
			"link": "https://etherscan.io/address/0x65BCe046253f7B644a062252E89a8C2337F08A3d",
			"timestamp": "2021-05-06T13:24:14.000Z",
			"txn": "https://etherscan.io/tx/0x52b16567ebd0e30c13619a8865014e17c6a2e520a986057c27f951b9d04f29bd",
			"network": "mainnet"
		},
		"Perifi": {
			"name": "Perifi",
			"address": "0x95bc99186B61168d093E1295d2221944813389D6",
			"source": "Perifi",
			"link": "https://etherscan.io/address/0x95bc99186B61168d093E1295d2221944813389D6",
			"timestamp": "2021-03-02T02:55:15.000Z",
			"txn": "https://etherscan.io/tx/0x3dafa9191f81c68efd4b1c73204c1c0ecf4674d877752d9a96205e847af8a87a",
			"network": "mainnet"
		}
	},
	"sources": {
		"StakingRewardsPERIBalancer": {
			"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"
				}
			]
		},
		"StakingRewardspBTCCurve": {
			"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"
				}
			]
		},
		"StakingRewardspUSDCurve": {
			"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": "peri",
					"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"
				}
			]
		},
		"StakingRewardspXAUUniswapV2": {
			"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"
				}
			]
		},
		"StakingRewardspETHUniswapV1": {
			"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": "peri",
					"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": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a723158204126a12b01523224852b221f45c5f31f620df4e7110091434c00b706cbfcf13364736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x864029e7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9d8e2177"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdef4419d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xd5e5e6e6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x907af6c0"
				}
			],
			"source": {
				"keccak256": "0xb67ed7dc3ba8d2b7c3e1dc014704e8edb8de1ad2860e8ae6f3b8ffa5cd45d390",
				"urls": [
					"bzz-raw://089b8158f229668d15dd524544d3c8d90be1cf849516d526261f11422d7965e7",
					"dweb:/ipfs/QmVw5S6MAHUNFjKe27zHoWZVhkJ3fafRYa4kCbjjzvJSij"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SafeDecimalMath.sol": "SafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SafeDecimalMath.sol": {
						"keccak256": "0xb67ed7dc3ba8d2b7c3e1dc014704e8edb8de1ad2860e8ae6f3b8ffa5cd45d390",
						"urls": [
							"bzz-raw://089b8158f229668d15dd524544d3c8d90be1cf849516d526261f11422d7965e7",
							"dweb:/ipfs/QmVw5S6MAHUNFjKe27zHoWZVhkJ3fafRYa4kCbjjzvJSij"
						]
					}
				},
				"version": 1
			}
		},
		"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": "608060405234801561001057600080fd5b506040516106ee3803806106ee8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105f4806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101925780638da5cb5b146101a7578063907dff97146101bc578063d4b839921461025157610070565b80631627540c146100f957806353a47bb71461012e578063776d1a011461015f575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100bc57600080fd5b505af11580156100d0573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e806100f5573d82fd5b3d82f35b34801561010557600080fd5b5061012c6004803603602081101561011c57600080fd5b50356001600160a01b0316610266565b005b34801561013a57600080fd5b506101436102c2565b604080516001600160a01b039092168252519081900360200190f35b34801561016b57600080fd5b5061012c6004803603602081101561018257600080fd5b50356001600160a01b03166102d1565b34801561019e57600080fd5b5061012c61032d565b3480156101b357600080fd5b506101436103e9565b3480156101c857600080fd5b5061012c600480360360c08110156101df57600080fd5b8101906020810181356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b9193509150803590602081013590604081013590606081013590608001356103f8565b34801561025d57600080fd5b50610143610501565b61026e610510565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6102d9610510565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103765760405162461bcd60e51b815260040180806020018281038252603581526020018061055c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b0316331461044e576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a9084908190840183828082843760009201919091525092935089925050811590506104b857600181146104c357600281146104cf57600381146104dc57600481146104ea576104f5565b8260208301a06104f5565b868360208401a16104f5565b85878460208501a26104f5565b8486888560208601a36104f5565b838587898660208701a45b50505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031633146105595760405162461bcd60e51b815260040180806020018281038252602f815260200180610591602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582095f17d16012662400a6bfd05323eaf575fd17ba3cf22b369acb282dd8a416cb164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0xf68409e9ec512c3057b196e865a8a505122ccd01a0f4382c67968e9bb59bdee1",
				"urls": [
					"bzz-raw://d548e893db2d3705535f4c1b1ad088f2ac9b65284c78ef1c51a30694b96743f7",
					"dweb:/ipfs/Qmc1kyPtN39QccR8zGfJpr3HAL4Bw64BDKMxGzCn8W4sT5"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Proxy.sol": "Proxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Proxy.sol": {
						"keccak256": "0xf68409e9ec512c3057b196e865a8a505122ccd01a0f4382c67968e9bb59bdee1",
						"urls": [
							"bzz-raw://d548e893db2d3705535f4c1b1ad088f2ac9b65284c78ef1c51a30694b96743f7",
							"dweb:/ipfs/Qmc1kyPtN39QccR8zGfJpr3HAL4Bw64BDKMxGzCn8W4sT5"
						]
					}
				},
				"version": 1
			}
		},
		"FeePool": {
			"bytecode": "6080604052631cd554d160e21b6008553480156200001c57600080fd5b50604051620040bc380380620040bc833981810160405260608110156200004257600080fd5b50805160208201516040909201519091908080621baf8085856001600160a01b038116620000b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000162576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a1504201600555600680546001600160a01b0319166001600160a01b0392909216919091179055506001620001e8600062000246565b80546001600160401b0319166001600160401b03929092169190911790554262000213600062000246565b80546001600160401b0392909216600160801b02600160801b600160c01b03199092169190911790555062000272915050565b60006009600260ff168360135401816200025c57fe5b06600281106200026857fe5b6005020192915050565b613e3a80620002826000396000f3fe608060405234801561001057600080fd5b50600436106102775760003560e01c80637418536011610160578063b410a034116100d8578063d67bdd251161008c578063eb1edd6111610071578063eb1edd61146106db578063ec556889146106e3578063fd1f498d146106eb57610277565b8063d67bdd25146106cb578063e0e6393d146106d357610277565b8063bc67f832116100bd578063bc67f8321461067f578063cff2ddad146106a5578063d294f093146106c357610277565b8063b410a0341461064b578063b5ddb9c71461065357610277565b80638da5cb5b1161012f5780639cbdaeb6116101145780639cbdaeb6146105f3578063ac834193146105fb578063b10090b81461060357610277565b80638da5cb5b146105c557806397107d6d146105cd57610277565b8063741853601461052b57806379ba509714610533578063866452741461053b578063899ffef41461056d57610277565b806333140016116101f357806353a47bb7116101c257806359a2f19f116101a757806359a2f19f146104d75780636466f45e146104fd5780636de813f11461052357610277565b806353a47bb7146104c7578063569249d0146104cf57610277565b806333140016146103d25780633ebc457a146104525780633fcd22401461045a57806346ba2d90146104bf57610277565b8063131b0ae71161024a57806322425fa41161022f57806322425fa41461039157806322bf55ef146103995780632af64bd3146103b657610277565b8063131b0ae7146103435780631627540c1461036b57610277565b806304f3bcec1461027c57806307ea50cd146102a05780630813071c146102d85780630de5861514610304575b600080fd5b610284610708565b604080516001600160a01b039092168252519081900360200190f35b6102c6600480360360208110156102b657600080fd5b50356001600160a01b0316610717565b60408051918252519081900360200190f35b6102c6600480360360408110156102ee57600080fd5b506001600160a01b0381351690602001356107fb565b61032a6004803603602081101561031a57600080fd5b50356001600160a01b03166109ac565b6040805192835260208301919091528051918290030190f35b6103696004803603602081101561035957600080fd5b50356001600160a01b0316610a2e565b005b6103696004803603602081101561038157600080fd5b50356001600160a01b0316610a58565b6102c6610ab4565b610369600480360360208110156103af57600080fd5b5035610ac4565b6103be610cb5565b604080519115158252519081900360200190f35b6103f8600480360360208110156103e857600080fd5b50356001600160a01b0316610dd8565b6040516000826002835b818410156104425760208402830151604080838360005b83811015610431578181015183820152602001610419565b505050509050019260010192610402565b9250505091505060405180910390f35b610369611028565b6104776004803603602081101561047057600080fd5b50356113d5565b6040805167ffffffffffffffff9889168152968816602088015294909616858501526060850192909252608084015260a083015260c082019290925290519081900360e00190f35b6102c661147e565b610284611484565b6102c6611493565b6103be600480360360208110156104ed57600080fd5b50356001600160a01b03166114ee565b6103be6004803603602081101561051357600080fd5b50356001600160a01b0316611500565b6102c6611661565b6103696116b6565b610369611893565b6103696004803603606081101561055157600080fd5b506001600160a01b03813516906020810135906040013561194f565b610575611ab3565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105b1578181015183820152602001610599565b505050509050019250505060405180910390f35b610284611d99565b610369600480360360208110156105e357600080fd5b50356001600160a01b0316611da8565b610284611e04565b6102c6611e13565b610369600480360361010081101561061a57600080fd5b5080359060208101359060408101359060608101359060808101359060a08101359060c08101359060e00135611eb3565b6102c66120f5565b6103696004803603604081101561066957600080fd5b506001600160a01b0381351690602001356120ff565b6103696004803603602081101561069557600080fd5b50356001600160a01b0316612246565b6106ad612270565b6040805160ff9092168252519081900360200190f35b6103be612275565b6102846122ec565b6102c66122fb565b610284612305565b61028461231d565b6103696004803603602081101561070157600080fd5b503561232c565b6006546001600160a01b031681565b60006107216123de565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156107c757600080fd5b505afa1580156107db573d6000803e3d6000fd5b505050506040513d60208110156107f157600080fd5b505190505b919050565b60008161084f576040805162461bcd60e51b815260206004820181905260248201527f43757272656e7420706572696f64206973206e6f7420636c6f73656420796574604482015290519081900360640190fd5b600282106108a4576040805162461bcd60e51b815260206004820152601d60248201527f4578636565647320746865204645455f504552494f445f4c454e475448000000604482015290519081900360640190fd5b6108b060018303612409565b5468010000000000000000900467ffffffffffffffff166108d3575060006109a6565b600061090360016108e660018603612409565b5468010000000000000000900467ffffffffffffffff1690612433565b9050600080610910612490565b6040805163694e000560e11b81526001600160a01b03898116600483015260248201879052825193169263d29c000a92604480840193919291829003018186803b15801561095d57600080fd5b505afa158015610971573d6000803e3d6000fd5b505050506040513d604081101561098757600080fd5b50805160209091015190925090506109a08383836124bb565b93505050505b92915050565b6000806109b7613c16565b6109c084610dd8565b905060008060015b6002811015610a21576109ed8482600281106109e057fe5b60200201515184906125ef565b9250610a178482600281106109fe57fe5b602002015160016020020151839063ffffffff6125ef16565b91506001016109c8565b509093509150505b915091565b610a36612650565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610a60612650565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610abe61269b565b90505b90565b6000610ace612761565b6001600160a01b031633149050600080610ae661278c565b6001600160a01b03166316b2213f336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610b3b57600080fd5b505afa158015610b4f573d6000803e3d6000fd5b505050506040513d6020811015610b6557600080fd5b5051141590506000610b756127a0565b6001600160a01b0316336001600160a01b03161490506000610b956127cb565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610bea57600080fd5b505afa158015610bfe573d6000803e3d6000fd5b505050506040513d6020811015610c1457600080fd5b505190508380610c215750825b80610c295750815b80610c315750805b610c82576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000604482015290519081900360640190fd5b610ca085610c906000612409565b600101549063ffffffff6125ef16565b610caa6000612409565b600101555050505050565b60006060610cc1611ab3565b905060005b8151811015610dcf576000828281518110610cdd57fe5b6020908102919091018101516000818152600783526040908190205460065482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610d5e57600080fd5b505afa158015610d72573d6000803e3d6000fd5b505050506040513d6020811015610d8857600080fd5b50516001600160a01b0316141580610db557506000818152600760205260409020546001600160a01b0316155b15610dc65760009350505050610ac1565b50600101610cc6565b50600191505090565b610de0613c16565b6000806000610ded612490565b604080517fb326f84e0000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015260006024830152825193945084169263b326f84e92604480840193919291829003018186803b158015610e5657600080fd5b505afa158015610e6a573d6000803e3d6000fd5b505050506040513d6040811015610e8057600080fd5b508051602090910151909350915081158015610e9a575082155b15610eb257610ea7613c16565b93506107f692505050565b600080610ec1600086866127f6565b8751829052875160200181905290925090506000610ede88610717565b905060015b801561101c5760001981016000610ef982612409565b5468010000000000000000900467ffffffffffffffff1690508015801590610f335750610f2583612409565b5467ffffffffffffffff1684105b15611011576000610f4b82600163ffffffff61243316565b6040805163694e000560e11b81526001600160a01b038f811660048301526024820184905282519394508b169263d29c000a92604480840193919291829003018186803b158015610f9b57600080fd5b505afa158015610faf573d6000803e3d6000fd5b505050506040513d6040811015610fc557600080fd5b508051602090910151909a509850610fde848b8b6127f6565b9097509550868b8560028110610ff057fe5b602002015152858b856002811061100357fe5b602002015160016020020152505b505060001901610ee3565b50505050505050919050565b611030612898565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561106857600080fd5b505afa15801561107c573d6000803e3d6000fd5b50505050600061108a61269b565b116110dc576040805162461bcd60e51b815260206004820152601b60248201527f46656520506572696f64204475726174696f6e206e6f74207365740000000000604482015290519081900360640190fd5b6110e461269b565b42036110f06000612409565b54600160801b900467ffffffffffffffff161115611155576040805162461bcd60e51b815260206004820152601d60248201527f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000604482015290519081900360640190fd5b600061116081612409565b9050600061116e6001612409565b905061119f82600101546111938360020154846001015461243390919063ffffffff16565b9063ffffffff6125ef16565b6111a96000612409565b600101556003808301546004830154918301546111d092611193919063ffffffff61243316565b6111da6000612409565b600301556013546112179060029061120b906001906111ff908463ffffffff6125ef16565b9063ffffffff61243316565b9063ffffffff6128c316565b60138190556009906002811061122957fe5b6005020180547fffffffffffffffff0000000000000000000000000000000000000000000000001681556000600180830182905560028301829055600383018290556004909201556112959061127e81612409565b5467ffffffffffffffff169063ffffffff6125ef16565b61129f6000612409565b805467ffffffffffffffff191667ffffffffffffffff929092169190911790556112c7612928565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b1580156112ff57600080fd5b505afa158015611313573d6000803e3d6000fd5b505050506040513d602081101561132957600080fd5b50516113356000612409565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff000000000000000019909216919091179055426113756000612409565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff9092169190911790556113d16113c16001612409565b5467ffffffffffffffff16612953565b5050565b60008060008060008060006113e8613c43565b6113f189612409565b6040805160e081018252825467ffffffffffffffff808216808452680100000000000000008304821660208501819052600160801b909304909116938301849052600185015460608401819052600286015460808501819052600387015460a0860181905260049097015460c0909501859052919f929e50939c50929a5091985091965090945092505050565b60055481565b6001546001600160a01b031681565b60008060015b60028110156114e8576114bf6114ae82612409565b60010154839063ffffffff6125ef16565b91506114de6114cd82612409565b60020154839063ffffffff61243316565b9150600101611499565b50905090565b60006114f982612aa9565b5092915050565b600061150a612898565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561154257600080fd5b505afa158015611556573d6000803e3d6000fd5b50505050611562612bb6565b61156a612c0c565b60048054604080517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b038781169482019490945291831660248301525192909116916321f4ae5791604480820192602092909190829003018186803b1580156115db57600080fd5b505afa1580156115ef573d6000803e3d6000fd5b505050506040513d602081101561160557600080fd5b5051611658576040805162461bcd60e51b815260206004820152601f60248201527f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600604482015290519081900360640190fd5b6109a682612c37565b60008060015b60028110156114e85761168d61167c82612409565b60030154839063ffffffff6125ef16565b91506116ac61169b82612409565b60040154839063ffffffff61243316565b9150600101611667565b60606116c0611ab3565b905060005b81518110156113d15760008282815181106116dc57fe5b602090810291909101810151600654604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156117ab578181015183820152602001611793565b50505050905090810190601f1680156117d85780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156117f657600080fd5b505afa15801561180a573d6000803e3d6000fd5b505050506040513d602081101561182057600080fd5b505160008381526007602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016116c5565b6001546001600160a01b031633146118dc5760405162461bcd60e51b8152600401808060200182810382526035815260200180613cbd6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b61195761278c565b6001600160a01b0316336001600160a01b0316146119bc576040805162461bcd60e51b815260206004820152601f60248201527f466565506f6f6c3a204f6e6c792049737375657220417574686f726973656400604482015290519081900360640190fd5b6119c4612490565b6001600160a01b03166394e1a4488484846119df6000612409565b54604080517fffffffff0000000000000000000000000000000000000000000000000000000060e088901b1681526001600160a01b0390951660048601526024850193909352604484019190915267ffffffffffffffff6801000000000000000090910416606483015251608480830192600092919082900301818387803b158015611a6a57600080fd5b505af1158015611a7e573d6000803e3d6000fd5b50505050611aae838383611a926000612409565b5468010000000000000000900467ffffffffffffffff16612db5565b505050565b606080611abe612efc565b60408051600c8082526101a082019092529192506060919060208201610180803883390190505090507f53797374656d537461747573000000000000000000000000000000000000000081600081518110611b1557fe5b6020026020010181815250507f53796e746865746978000000000000000000000000000000000000000000000081600181518110611b4f57fe5b6020026020010181815250507f466565506f6f6c5374617465000000000000000000000000000000000000000081600281518110611b8957fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f72616765000000000000000000000081600381518110611bc357fe5b6020026020010181815250507f45786368616e676572000000000000000000000000000000000000000000000081600481518110611bfd57fe5b6020026020010181815250506524b9b9bab2b960d11b81600581518110611c2057fe5b6020026020010181815250507f53796e746865746978537461746500000000000000000000000000000000000081600681518110611c5a57fe5b6020026020010181815250507f526577617264457363726f77000000000000000000000000000000000000000081600781518110611c9457fe5b6020026020010181815250507f44656c6567617465417070726f76616c7300000000000000000000000000000081600881518110611cce57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c735553440000000000000000000000000081600981518110611d0857fe5b6020026020010181815250507f52657761726473446973747269627574696f6e0000000000000000000000000081600a81518110611d4257fe5b6020026020010181815250507f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081600b81518110611d7c57fe5b602002602001018181525050611d928282612f5b565b9250505090565b6000546001600160a01b031681565b611db0612650565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610abe611e9f611e23613010565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611e6757600080fd5b505af4158015611e7b573d6000803e3d6000fd5b505050506040513d6020811015611e9157600080fd5b50519063ffffffff6125ef16565b611ea76130a5565b9063ffffffff61313a16565b611ebb613164565b6005544210611efb5760405162461bcd60e51b8152600401808060200182810382526029815260200180613ddd6029913960400191505060405180910390fd5b611f03612928565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015611f3b57600080fd5b505afa158015611f4f573d6000803e3d6000fd5b505050506040513d6020811015611f6557600080fd5b5051861115611fbb576040805162461bcd60e51b815260206004820152601660248201527f43616e6e6f7420696d706f727420626164206461746100000000000000000000604482015290519081900360640190fd5b6040518060e001604052808867ffffffffffffffff1681526020018767ffffffffffffffff1681526020018667ffffffffffffffff16815260200185815260200184815260200183815260200182815250600961202b600260ff1661120b8c6013546125ef90919063ffffffff16565b6002811061203557fe5b82516005919091029190910180546020840151604085015167ffffffffffffffff1990921667ffffffffffffffff948516176fffffffffffffffff000000000000000019166801000000000000000091851691909102177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16600160801b9390911692909202919091178155606082015160018201556080820151600282015560a0820151600382015560c0909101516004909101555050505050505050565b6000610abe6130a5565b612107613164565b61210f61321e565b6004546001600160a01b03918216916323b872dd911661212d613249565b846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b15801561219657600080fd5b505af11580156121aa573d6000803e3d6000fd5b505050506040513d60208110156121c057600080fd5b506121cb9050613249565b6001600160a01b031663b5ddb9c783836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561222a57600080fd5b505af115801561223e573d6000803e3d6000fd5b505050505050565b61224e613274565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b600061227f612898565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156122b757600080fd5b505afa1580156122cb573d6000803e3d6000fd5b505050506122d7612bb6565b600454610abe906001600160a01b0316612c37565b6004546001600160a01b031681565b6000610abe613010565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b60006123366132e8565b6004549091506001600160a01b038083169116148061235d5750336001600160a01b038216145b6123ae576040805162461bcd60e51b815260206004820152601e60248201527f43616c6c6572206973206e6f742072657761726473417574686f726974790000604482015290519081900360640190fd5b6123cc826123bc6000612409565b600301549063ffffffff6125ef16565b6123d66000612409565b600301555050565b6000610abe7f466565506f6f6c457465726e616c53746f72616765000000000000000000000061330f565b60006009600260ff1683601354018161241e57fe5b066002811061242957fe5b6005020192915050565b60008282111561248a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610abe7f466565506f6f6c5374617465000000000000000000000000000000000000000061330f565b6000806124c6612928565b905060006125e5856125d9846001600160a01b03166308d95cd5886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561251557600080fd5b505afa158015612529573d6000803e3d6000fd5b505050506040513d602081101561253f57600080fd5b5051604080517f08d95cd5000000000000000000000000000000000000000000000000000000008152600481018c905290516001600160a01b038816916308d95cd5916024808301926020929190829003018186803b1580156125a157600080fd5b505afa1580156125b5573d6000803e3d6000fd5b505050506040513d60208110156125cb57600080fd5b50519063ffffffff6133f816565b9063ffffffff61341116565b9695505050505050565b600082820183811015612649576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000546001600160a01b031633146126995760405162461bcd60e51b815260040180806020018281038252602f815260200180613d8d602f913960400191505060405180910390fd5b565b60006126a561342a565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561273057600080fd5b505afa158015612744573d6000803e3d6000fd5b505050506040513d602081101561275a57600080fd5b5051905090565b6000610abe7f45786368616e676572000000000000000000000000000000000000000000000061330f565b6000610abe6524b9b9bab2b960d11b61330f565b6000610abe7f4574686572436f6c6c61746572616c735553440000000000000000000000000061330f565b6000610abe7f436f6c6c61746572616c4d616e6167657200000000000000000000000000000061330f565b6000808361280957506000905080612890565b83851561283457600061282360016108e660018a03612409565b90506128308187876124bb565b9150505b60006128538261284389612409565b600101549063ffffffff61313a16565b90506000612874836128648a612409565b600301549063ffffffff61313a16565b905061287f82613455565b61288882613455565b945094505050505b935093915050565b6000610abe7f53797374656d537461747573000000000000000000000000000000000000000061330f565b600081612917576040805162461bcd60e51b815260206004820152601860248201527f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000604482015290519081900360640190fd5b81838161292057fe5b069392505050565b6000610abe7f53796e746865746978537461746500000000000000000000000000000000000061330f565b6002546040805160208082018590528251808303820181528284018085527f466565506572696f64436c6f7365642875696e74323536290000000000000000905292519182900360580182207f907dff97000000000000000000000000000000000000000000000000000000008352600160248401819052604484018290526000606485018190526084850181905260a4850181905260c060048601908152865160c487015286516001600160a01b039098169763907dff979796939592938493849392839260e401918a0190808383885b83811015612a3d578181015183820152602001612a25565b50505050905090810190601f168015612a6a5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612a8e57600080fd5b505af1158015612aa2573d6000803e3d6000fd5b5050505050565b600080600080612ab761278c565b604080517fae3bbbbb0000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152825193169263ae3bbbbb92602480840193919291829003018186803b158015612b1657600080fd5b505afa158015612b2a573d6000803e3d6000fd5b505050506040513d6040811015612b4057600080fd5b50805160209091015190925090506000612b586130a5565b905080831015612b705750600193509150610a299050565b6000612b8d612b80611e23613010565b839063ffffffff61313a16565b905080841115612ba7576000839550955050505050610a29565b50600194509092505050915091565b6002546001600160a01b03163314801590612bdc57506003546001600160a01b03163314155b8015612bf357506004546001600160a01b03163314155b1561269957600480546001600160a01b03191633179055565b6000610abe7f44656c6567617465417070726f76616c7300000000000000000000000000000061330f565b6000808080808080612c4888612aa9565b9150915081612c9e576040805162461bcd60e51b815260206004820152601f60248201527f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400604482015290519081900360640190fd5b8015612cf1576040805162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015290519081900360640190fd5b612cfa886109ac565b909450925083151580612d0d5750600083115b612d485760405162461bcd60e51b8152600401808060200182810382526040815260200180613d4d6040913960400191505060405180910390fd5b612d6688612d566001612409565b5467ffffffffffffffff16613477565b8315612d8157612d758461352f565b9450612d81888661360b565b8215612d9c57612d90836137f0565b9550612d9c88876138ca565b612da78886886139c1565b506001979650505050505050565b6002805460408051602081018790528082018690526060808201869052825180830390910181526080909101918290526001600160a01b039092169263907dff979291806037613d16823960370190506040518091039020886001600160a01b031660001b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612e8d578181015183820152602001612e75565b50505050905090810190601f168015612eba5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015612ede57600080fd5b505af1158015612ef2573d6000803e3d6000fd5b5050505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110612f4c57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612f8b578160200160208202803883390190505b50905060005b8351811015612fcd57838181518110612fa657fe5b6020026020010151828281518110612fba57fe5b6020908102919091010152600101612f91565b5060005b82518110156114f957828181518110612fe657fe5b6020026020010151828286510181518110612ffd57fe5b6020908102919091010152600101612fd1565b600061301a61342a565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561273057600080fd5b60006130af61342a565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561273057600080fd5b6000670de0b6b3a7640000613155848463ffffffff613ae416565b8161315c57fe5b049392505050565b6002546001600160a01b0316331480159061318a57506003546001600160a01b03163314155b80156131a157506004546001600160a01b03163314155b156131b957600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614612699576040805162461bcd60e51b815260206004820152601360248201527f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000604482015290519081900360640190fd5b6000610abe7f53796e746865746978000000000000000000000000000000000000000000000061330f565b6000610abe7f526577617264457363726f77000000000000000000000000000000000000000061330f565b6002546001600160a01b031633148061329757506003546001600160a01b031633145b612699576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6000610abe7f52657761726473446973747269627574696f6e000000000000000000000000005b60008181526007602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816114f95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156133bd5781810151838201526020016133a5565b50505050905090810190601f1680156133ea5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600061264983836b033b2e3c9fd0803ce8000000613b3d565b600061264983836b033b2e3c9fd0803ce8000000613b81565b6000610abe7f466c657869626c6553746f72616765000000000000000000000000000000000061330f565b60006305f5e10082046005600a82061061346d57600a015b600a900492915050565b61347f6123de565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200180838152602001826001600160a01b03166001600160a01b031660601b81526014019250505060405160208183030381529060405280519060200120836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561222a57600080fd5b6000818160015b600281101561360357600061354a82612409565b600201549050600061356f8261355f85612409565b600101549063ffffffff61243316565b905080156135f85760008582106135865785613588565b815b905061359a838263ffffffff6125ef16565b6135a385612409565b600201556135b7868263ffffffff61243316565b95506135c9858263ffffffff6125ef16565b9450856135de578496505050505050506107f6565b831580156135ec5750600086115b156135f657600095505b505b505060001901613536565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef141561367e576040805162461bcd60e51b815260206004820152601760248201527f4665652061646472657373206e6f7420616c6c6f776564000000000000000000604482015290519081900360640190fd5b600061368861278c565b6001600160a01b031663326080396008546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136cd57600080fd5b505afa1580156136e1573d6000803e3d6000fd5b505050506040513d60208110156136f757600080fd5b5051604080517f9dc29fac00000000000000000000000000000000000000000000000000000000815273feefeefeefeefeefeefeefeefeefeefeefeefeef60048201526024810186905290519192506001600160a01b03831691639dc29fac9160448082019260009290919082900301818387803b15801561377857600080fd5b505af115801561378c573d6000803e3d6000fd5b50505050806001600160a01b031663867904b485856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612ede57600080fd5b6000818160015b600281101561360357600061382b61380e83612409565b6004015461381b84612409565b600301549063ffffffff61243316565b905080156138c05760008482106138425784613844565b815b90506138638161385385612409565b600401549063ffffffff6125ef16565b61386c84612409565b60040155613880858263ffffffff61243316565b9450613892848263ffffffff6125ef16565b9350846138a65783955050505050506107f6565b821580156138b45750600085115b156138be57600094505b505b50600019016137f7565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef141561393d576040805162461bcd60e51b815260206004820152601760248201527f4665652061646472657373206e6f7420616c6c6f776564000000000000000000604482015290519081900360640190fd5b613945613249565b6001600160a01b031663b5ddb9c784846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156139a457600080fd5b505af11580156139b8573d6000803e3d6000fd5b50505050505050565b600254604080516001600160a01b0386811660208301528183018690526060808301869052835180840390910181526080909201928390529092169163907dff9791600190806024613cf282396024019050604051809103902060008060006040518763ffffffff1660e01b815260040180806020018781526020018681526020018560001b81526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015613a93578181015183820152602001613a7b565b50505050905090810190601f168015613ac05780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156139a457600080fd5b600082613af3575060006109a6565b82820282848281613b0057fe5b04146126495760405162461bcd60e51b8152600401808060200182810382526021815260200180613dbc6021913960400191505060405180910390fd5b600080613b6384613b5787600a870263ffffffff613ae416565b9063ffffffff613bac16565b90506005600a825b0610613b7557600a015b600a9004949350505050565b600080600a8304613b98868663ffffffff613ae416565b81613b9f57fe5b0490506005600a82613b6b565b6000808211613c02576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613c0d57fe5b04949350505050565b60405180604001604052806002905b613c2d613c9e565b815260200190600190039081613c255790505090565b6040518060e00160405280600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b6040518060400160405280600290602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697046656573436c61696d656428616464726573732c75696e743235362c75696e743235362949737375616e636544656274526174696f456e74727928616464726573732c75696e743235362c75696e743235362c75696e74323536294e6f2066656573206f72207265776172647320617661696c61626c6520666f7220706572696f642c206f72206665657320616c726561647920636c61696d65644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a72315820a7af91f569e4b0c2a58c1f9ef59bec097a730b479a279d25c68fc0a751a3e69564736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event",
					"signature": "0xe2ca356e01eb0a4bb7caaf07d472b7d687db156713ffc3111c758e9fe0a17ea7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "pUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRewards",
							"type": "uint256"
						}
					],
					"name": "FeesClaimed",
					"type": "event",
					"signature": "0x1ac537f0ad67b64ac68a04587ff3a4cb6977de22eb2c37ee560897a92c6d07c7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodStartingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x28dcdf40e6b6196065d54760038ab1a8c0c1d9cfa58a99e6b0cb6022f7e24775"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86645274"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimFees",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd294f093"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "claimingForAddress",
							"type": "address"
						}
					],
					"name": "claimOnBehalf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6466f45e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeCurrentFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ebc457a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "effectiveDebtRatioForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0813071c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0de58615"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesByPeriod",
					"outputs": [
						{
							"internalType": "uint256[2][2]",
							"name": "results",
							"type": "uint256[2][2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x33140016"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_claimingAddress",
							"type": "address"
						}
					],
					"name": "getLastFeeWithdrawal",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x07ea50cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPenaltyThresholdRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac834193"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "feePeriodIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingDebtIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"name": "importFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb10090b8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFeesClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "feesClaimable",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59a2f19f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "recentFeePeriods",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "feePeriodId",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startingDebtIndex",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fcd2240"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "recordFeePaid",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x22bf55ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setRewardsToDistribute",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfd1f498d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalFeesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x569249d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalRewardsAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6de813f1"
				}
			],
			"source": {
				"keccak256": "0x51bd2b8ffcf3d7131b99f486d9cf061a606d39edeaeccff6b74c6500a32a14f3",
				"urls": [
					"bzz-raw://e6e683f72fcad0ef4b858ecbd1f59b5066f951d5cd65ce85ec46e5375ca145e3",
					"dweb:/ipfs/QmQR7tGJjWGP5EicogyETyefxDWXaW7A8AutwHNDd3359M"
				]
			},
			"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": "0x51bd2b8ffcf3d7131b99f486d9cf061a606d39edeaeccff6b74c6500a32a14f3",
						"urls": [
							"bzz-raw://e6e683f72fcad0ef4b858ecbd1f59b5066f951d5cd65ce85ec46e5375ca145e3",
							"dweb:/ipfs/QmQR7tGJjWGP5EicogyETyefxDWXaW7A8AutwHNDd3359M"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610ab4380380610ab48339818101604052604081101561003357600080fd5b50805160209091015162093a8081836001600160a01b03811661009d576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610147576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15042016003555050610905806101af6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c80638b3f8088116100a2578063aefc4ccb11610071578063aefc4ccb14610274578063b16c09f01461027c578063b992812e146102a2578063ba08f299146102dc578063cd92eba9146102e457610116565b80638b3f8088146101f95780638da5cb5b146102385780639371bede14610240578063a764eb451461024857610116565b806346317712116100e9578063463177121461019757806346ba2d901461019f57806352f445ca146101a757806353a47bb7146101cd57806379ba5097146101f157610116565b806308d95cd51461011b5780631627540c1461014a5780631bfba595146101725780633d31e97b1461017a575b600080fd5b6101386004803603602081101561013157600080fd5b50356102ec565b60408051918252519081900360200190f35b6101706004803603602081101561016057600080fd5b50356001600160a01b031661030a565b005b610170610366565b6101706004803603602081101561019057600080fd5b50356103c8565b610138610446565b61013861046c565b610170600480360360208110156101bd57600080fd5b50356001600160a01b0316610472565b6101d56104ce565b604080516001600160a01b039092168252519081900360200190f35b6101706104dd565b61021f6004803603602081101561020f57600080fd5b50356001600160a01b0316610599565b6040805192835260208301919091528051918290030190f35b6101d56105b2565b6101386105c1565b6101706004803603604081101561025e57600080fd5b506001600160a01b0381351690602001356105c7565b6101d5610637565b6101706004803603602081101561029257600080fd5b50356001600160a01b0316610646565b6102c8600480360360208110156102b857600080fd5b50356001600160a01b03166106af565b604080519115158252519081900360200190f35b6101706106cc565b610138610729565b600681815481106102f957fe5b600091825260209091200154905081565b61031261072f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146103af5760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b6005546103c390600163ffffffff61077a16565b600555565b6002546001600160a01b031633146104115760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b600680546001810182556000919091527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f0155565b6006805460009190600019810190811061045c57fe5b9060005260206000200154905090565b60035481565b61047a61072f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146105265760405162461bcd60e51b81526004018080602001828103825260358152602001806108396035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6004602052600090815260409020805460019091015482565b6000546001600160a01b031681565b60055481565b6002546001600160a01b031633146106105760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b6001600160a01b039091166000908152600460205260409020908155600654600190910155565b6002546001600160a01b031681565b6002546001600160a01b0316331461068f5760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b6001600160a01b0316600090815260046020526040812081815560010155565b6001600160a01b0316600090815260046020526040902054151590565b6002546001600160a01b031633146107155760405162461bcd60e51b815260040180806020018281038252603481526020018061089d6034913960400191505060405180910390fd5b6005546103c390600163ffffffff6107db16565b60065490565b6000546001600160a01b031633146107785760405162461bcd60e51b815260040180806020018281038252602f81526020018061086e602f913960400191505060405180910390fd5b565b6000828201838110156107d4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610832576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158201fe77bea815fcff13fd7eeeda57aafc8ff84325ceec9ac2967af12cb0b38cf2264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "appendDebtLedgerValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d31e97b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb16c09f0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "debtLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x08d95cd5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtLedgerLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd92eba9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "decrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba08f299"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "hasIssued",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb992812e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bfba595"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "issuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b3f8088"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtLedgerEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46317712"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						}
					],
					"name": "setCurrentIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa764eb45"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9371bede"
				}
			],
			"source": {
				"keccak256": "0xbdac2a10cb9a70ee45f52aa5fcc7c159d39ebf09d91b5b7be0ed64404a926ed0",
				"urls": [
					"bzz-raw://e694aae2d0bc36982dcf6dbd67632ad1628cf28e0eb67a726b57337a5c31e2cd",
					"dweb:/ipfs/QmYtDVnYe4Uf1e53CiuBCJtKtgZB4cUippv1tbnk5tWo1Y"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceState.sol": "PeriFinanceState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceState.sol": {
						"keccak256": "0xbdac2a10cb9a70ee45f52aa5fcc7c159d39ebf09d91b5b7be0ed64404a926ed0",
						"urls": [
							"bzz-raw://e694aae2d0bc36982dcf6dbd67632ad1628cf28e0eb67a726b57337a5c31e2cd",
							"dweb:/ipfs/QmYtDVnYe4Uf1e53CiuBCJtKtgZB4cUippv1tbnk5tWo1Y"
						]
					}
				},
				"version": 1
			}
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158203cff3aef1106cc8a038432a17129ed5652bfc5deacc0903cc206807d18aa0f6e64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenOwner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setAllowance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xda46098c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setBalanceOf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb46310f6"
				}
			],
			"source": {
				"keccak256": "0xb62d4489e3bcae40c0b07633b4b7bd157b3f69658f28c2c045cfd6e2a892f439",
				"urls": [
					"bzz-raw://9cfbeac42e53e59ded19e7dc15ee9b9e313f539f06ddf5db53a091d41bcf9624",
					"dweb:/ipfs/QmfKvWvxw3CuDJ26ErCezs1H9L7h6F5SmS1pgVjTkWr2Pb"
				]
			},
			"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": "0xb62d4489e3bcae40c0b07633b4b7bd157b3f69658f28c2c045cfd6e2a892f439",
						"urls": [
							"bzz-raw://9cfbeac42e53e59ded19e7dc15ee9b9e313f539f06ddf5db53a091d41bcf9624",
							"dweb:/ipfs/QmfKvWvxw3CuDJ26ErCezs1H9L7h6F5SmS1pgVjTkWr2Pb"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinance": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620054183803806200541883398101604081905262000034916200030b565b8484848484808585604051806040016040528060128152602001712832b934902334b730b731b2902a37b5b2b760711b815250604051806040016040528060048152602001635045524960e01b81525086601289868160006001600160a01b0316816001600160a01b03161415620000c95760405162461bcd60e51b8152600401620000c09062000459565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200011691849062000421565b60405180910390a1506000546001600160a01b03166200014a5760405162461bcd60e51b8152600401620000c09062000447565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200019790839062000411565b60405180910390a150600580546001600160a01b0319166001600160a01b0388161790558451620001d090600690602088019062000239565b508351620001e690600790602087019062000239565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004d79c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027c57805160ff1916838001178555620002ac565b82800160010185558215620002ac579182015b82811115620002ac5782518255916020019190600101906200028f565b50620002ba929150620002be565b5090565b620002db91905b80821115620002ba5760008155600101620002c5565b90565b8051620002eb81620004a7565b92915050565b8051620002eb81620004c1565b8051620002eb81620004cc565b600080600080600060a086880312156200032457600080fd5b6000620003328888620002de565b95505060206200034588828901620002f1565b94505060406200035888828901620002de565b93505060606200036b88828901620002fe565b92505060806200037e88828901620002de565b9150509295509295909350565b62000396816200049a565b82525050565b620003968162000474565b6000620003b66011836200046b565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003e56019836200046b565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002eb82846200038b565b604081016200043182856200038b565b6200044060208301846200039c565b9392505050565b60208082528101620002eb81620003a7565b60208082528101620002eb81620003d6565b90815260200190565b6000620002eb826200048e565b6000620002eb8262000474565b6001600160a01b031690565b6000620002eb8262000481565b620004b28162000474565b8114620004be57600080fd5b50565b620004b28162000481565b620004b281620002db565b614f3180620004e76000396000f3fe608060405234801561001057600080fd5b506004361061045f5760003560e01c80637857637c1161024c578063c836fa0a11610146578063e3c3af98116100c3578063ec55688911610087578063ec55688914610962578063edef719a146106bb578063ee52a2f31461096a578063f5adc4f51461097d578063f9eea80c146109855761045f565b8063e3c3af981461090e578063e58c3e8614610921578063e6203ed114610934578063e7eb636d14610947578063e90dd9e21461095a5761045f565b8063d6980ba11161010a578063d6980ba1146108ba578063d8a1f76f146108cd578063d99947de146108e0578063dd62ed3e146108e8578063ddd03a3f146108fb5761045f565b8063c836fa0a14610866578063c9a2f3ad14610879578063d37c4d8b1461088c578063d3a712021461089f578063d67bdd25146108b25761045f565b8063987757dd116101d4578063a5fdc5de11610198578063a5fdc5de14610807578063a9059cbb1461081a578063ace88afd1461082d578063b07ecd2e14610840578063bc67f832146108535761045f565b8063987757dd146107b35780639cbdaeb6146107c65780639df95f9f146107ce5780639f769807146107e1578063a311c7c2146107f45761045f565b80638e2ac0ea1161021b5780638e2ac0ea1461076a57806391e56b681461077257806395b80e121461078557806395d89b411461079857806397107d6d146107a05761045f565b80637857637c1461073f57806379ba509714610752578063899ffef41461075a5780638da5cb5b146107625761045f565b806330ead7601161035d57806355182ccb116102e55780636f01a986116102a95780636f01a986146106e9578063705a2369146106fc57806370a082311461070f57806372cb051f1461072257806374185360146107375761045f565b806355182ccb1461069557806357ad4663146106a8578063666ed4f1146106bb5780636b76222f146106ce5780636b9db4e6146106d65761045f565b80633b09280a1161032c5780633b09280a14610630578063415d917e1461065257806342f760cb1461066557806353a47bb71461067857806354037f761461068d5761045f565b806330ead760146105dd578063313ce567146105f057806337580f90146105f85780633a560e351461061d5761045f565b806318160ddd116103eb57806328691a75116103af57806328691a75146105845780632a905318146105975780632af64bd31461059f5780632b793f67146105a75780632e0f2625146105c85761045f565b806318160ddd1461052e57806318821400146105435780631b99084c1461054b5780631fce304d1461055e57806323b872dd146105715761045f565b80630ce4f2ef116104325780630ce4f2ef146104cc5780630e30963c146104df5780631249c58b14610500578063131b0ae7146105085780631627540c1461051b5761045f565b806304f3bcec1461046457806306fdde0314610482578063095ea7b3146104975780630b717465146104b7575b600080fd5b61046c61098d565b6040516104799190614c23565b60405180910390f35b61048a6109a1565b6040516104799190614c73565b6104aa6104a5366004613bab565b610a2f565b6040516104799190614acd565b6104ca6104c5366004613e37565b610abd565b005b6104ca6104da366004613ae8565b610b3e565b6104f26104ed366004613eeb565b610b88565b604051610479929190614d84565b6104aa610c4a565b6104ca610516366004613ae8565b611074565b6104ca610529366004613ae8565b61109e565b6105366110fc565b6040516104799190614adb565b61048a611102565b6104ca610559366004613cf5565b611130565b6104aa61056c366004613e37565b6111f2565b6104aa61057f366004613b5e565b611287565b6104ca610592366004613ae8565b6112c6565b61048a611310565b6104aa611330565b6105ba6105b5366004613ae8565b61144c565b604051610479929190614b12565b6105d0611540565b6040516104799190614dd6565b6105366105eb366004613e94565b611545565b6105d0611606565b61060b610606366004613ae8565b61160f565b60405161047996959493929190614a7a565b6104ca61062b366004613fa9565b61164e565b61064361063e366004613ae8565b6116d2565b60405161047993929190614dad565b6104ca610660366004613e37565b611767565b6104ca610673366004613bab565b6117b2565b6106806117fe565b604051610479919061483e565b6104ca61180d565b6105366106a3366004613ae8565b61188b565b61046c6106b6366004613e37565b611910565b6104ca6106c9366004613bab565b611995565b6104ca61199d565b61060b6106e4366004613ae8565b611a48565b6104ca6106f7366004613bdb565b611a8c565b6104ca61070a366004613e37565b611b45565b61053661071d366004613ae8565b611b90565b61072a611bc1565b6040516104799190614abc565b6104ca611c44565b6104ca61074d366004613d6f565b611d96565b6104ca611ea3565b61072a611f3f565b610680612000565b6104ca61200f565b610536610780366004613c6e565b612058565b6104ca610793366004613fa9565b612119565b61048a612166565b6104ca6107ae366004613ae8565b6121c1565b6106436107c1366004613e37565b612214565b61046c612292565b61046c6107dc366004613e37565b6122a1565b6104ca6107ef366004613f2b565b6122d6565b610536610802366004613ae8565b612302565b610536610815366004613ae8565b612337565b6104aa610828366004613bab565b61236c565b6104ca61083b366004613bdb565b6123b6565b6104ca61084e366004613e37565b612403565b6104ca610861366004613ae8565b61244e565b610536610874366004613c0d565b612478565b610536610887366004613ae8565b612533565b61053661089a366004613bab565b612568565b6105366108ad366004613e37565b6125ef565b610680612627565b6105366108c8366004613e37565b612636565b6104ca6108db366004613e37565b61266e565b610536612676565b6105366108f6366004613b24565b6126f0565b6104ca610909366004613e73565b612723565b61053661091c366004613ae8565b61279f565b6104ca61092f366004613bab565b6128a7565b6104aa610942366004613bab565b6128f3565b6104ca610955366004613ae8565b6129df565b61046c612a6e565b61046c612a7d565b610536610978366004613e73565b612a8c565b6104aa612b47565b610536612bc1565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a275780601f106109fc57610100808354040283529160200191610a27565b820191906000526020600020905b815481529060010190602001808311610a0a57829003601f168201915b505050505081565b6000610a39612bcc565b60048054600554604051633691826360e21b81526001600160a01b0392831693919092169163da46098c91610a74918591899189910161492e565b600060405180830381600087803b158015610a8e57600080fd5b505af1158015610aa2573d6000803e3d6000fd5b50505050610ab1818585612c22565b60019150505b92915050565b610ac5612ca2565b610acd612bcc565b610ad5612cf6565b600480546040516303f70fdd60e01b81526001600160a01b03938416936303f70fdd93610b089390911691869101614956565b600060405180830381600087803b158015610b2257600080fd5b505af1158015610b36573d6000803e3d6000fd5b505050505b50565b610b46612ca2565b610b4e612bcc565b610b56612cf6565b60048054604051632334883560e11b81526001600160a01b0393841693634669106a93610b0893879392169101614875565b6000808584610b978282612d0a565b610b9f612bcc565b610ba7612d6b565b610baf612d83565b60048054604051633ce6548960e21b81526001600160a01b039384169363f399522493610bea93909116918d918d918d9185918e91016149e8565b6040805180830381600087803b158015610c0357600080fd5b505af1158015610c17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c3b9190810190613f79565b93509350505094509492505050565b6000610c54612ca2565b6000610c5e612d9a565b6001600160a01b03161415610c8e5760405162461bcd60e51b8152600401610c8590614d04565b60405180910390fd5b6000610c98612dbb565b90506000610ca4612d9a565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610ce157600080fd5b505afa158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d199190810190613e55565b905060008111610d3b5760405162461bcd60e51b8152600401610c8590614d44565b604051637e7961d760e01b81526001600160a01b03841690637e7961d790610d67908490600401614adb565b602060405180830381600087803b158015610d8157600080fd5b505af1158015610d95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610db99190810190613e19565b506000836001600160a01b0316639bdd7ac76040518163ffffffff1660e01b815260040160206040518083038186803b158015610df557600080fd5b505afa158015610e09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e2d9190810190613e55565b90506000610e41838363ffffffff612dd716565b6005546040516370a0823160e01b81529192506001600160a01b03169063b46310f6908690610ede90859085906370a0823190610e8290869060040161483e565b60206040518083038186803b158015610e9a57600080fd5b505afa158015610eae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ed29190810190613e55565b9063ffffffff612dff16565b6040518363ffffffff1660e01b8152600401610efb929190614956565b600060405180830381600087803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b50505050610f38308583612e24565b604051630b32e9c760e31b81526001600160a01b038516906359974e3890610f64908490600401614adb565b602060405180830381600087803b158015610f7e57600080fd5b505af1158015610f92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fb69190810190613e19565b506005546040516370a0823160e01b81526001600160a01b039091169063b46310f6903390610ff790869085906370a0823190610e8290869060040161484c565b6040518363ffffffff1660e01b815260040161101492919061485a565b600060405180830381600087803b15801561102e57600080fd5b505af1158015611042573d6000803e3d6000fd5b50505050611051303384612e24565b600854611064908463ffffffff612dff16565b6008555060019450505050505b90565b61107c612e67565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6110a6612e67565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906110f190839061483e565b60405180910390a150565b60085481565b604051806040016040528060128152602001712832b934902334b730b731b2902a37b5b2b760711b81525081565b611138612e91565b6002546040516001600160a01b039091169063907dff97906111669088908890889088908890602001614b40565b6040516020818303038152906040526002604051611183906147c6565b60405180910390206111948b612ec9565b6000806040518763ffffffff1660e01b81526004016111b896959493929190614ba2565b600060405180830381600087803b1580156111d257600080fd5b505af11580156111e6573d6000803e3d6000fd5b50505050505050505050565b6000806111fd612d83565b600480546040516301670a7b60e21b81526001600160a01b039384169363059c29ec936112309390911691889101614956565b60206040518083038186803b15801561124857600080fd5b505afa15801561125c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112809190810190613e55565b1192915050565b6000611291612bcc565b611299612ed5565b6112a38483612f15565b506004546112bc906001600160a01b031685858561311b565b90505b9392505050565b6112ce612ca2565b6112d6612bcc565b6112de612cf6565b600480546040516330662ab960e01b81526001600160a01b03938416936330662ab993610b0893879392169101614875565b604051806040016040528060048152602001635045524960e01b81525081565b6000606061133c611f3f565b905060005b815181101561144357600082828151811061135857fe5b6020908102919091018101516000818152600a9092526040918290205460095492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a721906113ae908590600401614adb565b60206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113fe9190810190613b06565b6001600160a01b031614158061142957506000818152600a60205260409020546001600160a01b0316155b1561143a5760009350505050611071565b50600101611341565b50600191505090565b6000806114576139dd565b506001600160a01b038084166000908152600b6020908152604091829020825160c081018452815490941684526001810154918401829052600281015492840192909252600382015460608401526004820154608084015260059091015460a08301524210806114c957506020810151155b156114e25780604001518160600151925092505061153b565b600061150f8260800151611503428560a00151612dd790919063ffffffff16565b9063ffffffff61322216565b90506000611532836040015161150384866060015161325790919063ffffffff16565b91945090925050505b915091565b601281565b600085846115538282612d0a565b61155b612bcc565b611563612d6b565b61156b612d83565b600480546040516321aea91760e21b81526001600160a01b03938416936386baa45c936115a893909116918d918d918d9185918e918e91016149a6565b602060405180830381600087803b1580156115c257600080fd5b505af11580156115d6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115fa9190810190613e55565b98975050505050505050565b60095460ff1681565b600b602052600090815260409020805460018201546002830154600384015460048501546005909501546001600160a01b039094169492939192909186565b611656612ca2565b61165e612bcc565b611666612cf6565b600480546040516390c494ab60e01b81526001600160a01b03938416936390c494ab9361169b93909116918791879101614a5f565b600060405180830381600087803b1580156116b557600080fd5b505af11580156116c9573d6000803e3d6000fd5b505050505b5050565b60008060006116df612cf6565b6001600160a01b0316633b09280a856040518263ffffffff1660e01b815260040161170a919061483e565b60606040518083038186803b15801561172257600080fd5b505afa158015611736573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061175a9190810190613ff8565b9250925092509193909250565b61176f612ca2565b611777612bcc565b61177f612cf6565b60048054604051635e085bd960e11b81526001600160a01b039384169363bc10b7b293610b089390911691869101614956565b6117ba612ca2565b6117c2612bcc565b6117ca612cf6565b6004805460405163e71c452f60e01b81526001600160a01b039384169363e71c452f9361169b93889392169187910161492e565b6001546001600160a01b031681565b611815612ca2565b61181d612bcc565b611825612cf6565b60048054604051632b612fc160e11b81526001600160a01b03938416936356c25f829361185693909116910161483e565b600060405180830381600087803b15801561187057600080fd5b505af1158015611884573d6000803e3d6000fd5b505050505b565b6000611895612cf6565b6001600160a01b03166355182ccb836040518263ffffffff1660e01b81526004016118c0919061483e565b60206040518083038186803b1580156118d857600080fd5b505afa1580156118ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ab79190810190613e55565b600061191a612cf6565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004016119459190614adb565b60206040518083038186803b15801561195d57600080fd5b505afa158015611971573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ab79190810190613f0d565b6116ce612d6b565b6119a5612e67565b6005546000906001600160a01b03166370a082316119c1613291565b6040518263ffffffff1660e01b81526004016119dd919061483e565b60206040518083038186803b1580156119f557600080fd5b505afa158015611a09573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a2d9190810190613e55565b90506116ce611a3a613291565b611a426132ab565b836132c7565b6001600160a01b039081166000908152600b602052604090208054600182015460028301546003840154600485015460059095015493909516959194909390929091565b611a94612e91565b6002546040516001600160a01b039091169063907dff9790611abc9085908590602001614b12565b6040516020818303038152906040526002604051611ad9906147fc565b6040518091039020611aea88612ec9565b6000806040518763ffffffff1660e01b8152600401611b0e96959493929190614ba2565b600060405180830381600087803b158015611b2857600080fd5b505af1158015611b3c573d6000803e3d6000fd5b50505050505050565b611b4d612ca2565b611b55612bcc565b611b5d612cf6565b6004805460405163ba92122360e01b81526001600160a01b039384169363ba92122393610b089390911691869101614956565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a08231906118c090859060040161483e565b6060611bcb612cf6565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015611c0357600080fd5b505afa158015611c17573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c3f9190810190613de4565b905090565b6060611c4e611f3f565b905060005b81518110156116ce576000828281518110611c6a57fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001611cac9190614828565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611cd8929190614b20565b60206040518083038186803b158015611cf057600080fd5b505afa158015611d04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d289190810190613b06565b6000838152600a60205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611d849084908490614ae9565b60405180910390a15050600101611c53565b611d9e612e67565b6000611db0854263ffffffff612dff16565b90506000611dd4611dc7868563ffffffff61325716565b839063ffffffff612dff16565b6040805160c0810182526001600160a01b038a811680835260208084018881528486018c8152606086018c8152608087018c815260a088018a81526000878152600b90965294899020975188546001600160a01b0319169716969096178755915160018701555160028601555160038501559151600484015590516005909201919091559051919250907e53a2d0a74627ad6d346bc05ca92631666b0cec11ac95505fe1f048f3845e1190611e929085908990899089908890614dbb565b60405180910390a250505050505050565b6001546001600160a01b03163314611ecd5760405162461bcd60e51b8152600401610c8590614c94565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611f10926001600160a01b0391821692911690614875565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080611f4a613449565b60408051600380825260808201909252919250606091906020820183803883390190505090506b526577617264457363726f7760a01b81600081518110611f8d57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600181518110611fb857fe5b6020026020010181815250506d537570706c795363686564756c6560901b81600281518110611fe357fe5b602002602001018181525050611ff9828261353e565b9250505090565b6000546001600160a01b031681565b612017612ca2565b61201f612bcc565b612027612cf6565b6004805460405163f0617e5b60e01b81526001600160a01b039384169363f0617e5b9361185693909116910161483e565b600085846120668282612d0a565b61206e612bcc565b612076612d6b565b61207e612d83565b60048054604051636fffe53b60e11b81526001600160a01b039384169363dfffca76936120ba938f939216918e918e918e918e918e91016148d2565b602060405180830381600087803b1580156120d457600080fd5b505af11580156120e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061210c9190810190613e55565b9998505050505050505050565b612121612ca2565b612129612bcc565b612131612cf6565b6004805460405163ec874b8360e01b81526001600160a01b039384169363ec874b839361169b93909116918791879101614a5f565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610a275780601f106109fc57610100808354040283529160200191610a27565b6121c9612e67565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906110f190839061484c565b6000806000612221612bcc565b612229612d6b565b612231612d83565b600480546040516306c5a00b60e21b81526001600160a01b0393841693631b16802c936122649390911691899101614956565b606060405180830381600087803b15801561227e57600080fd5b505af1158015611736573d6000803e3d6000fd5b6003546001600160a01b031681565b60006122ab612cf6565b6001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004016119459190614adb565b6122de6135f3565b600580546001600160a01b0319166001600160a01b038316179055610b3b81613678565b600061230c612cf6565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b81526004016118c0919061483e565b6000612341612cf6565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b81526004016118c0919061483e565b6000612376612bcc565b61237e612ed5565b600454612394906001600160a01b031683612f15565b506004546123ac906001600160a01b031684846136ea565b5060019392505050565b6123be612e91565b6002546040516001600160a01b039091169063907dff97906123e69085908590602001614b12565b6040516020818303038152906040526002604051611ad9906147bb565b61240b612ca2565b612413612bcc565b61241b612cf6565b6004805460405163012a629560e31b81526001600160a01b039384169363095314a893610b089390911691869101614956565b6124566136f7565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600083826124868282612d0a565b61248e612bcc565b612496612d6b565b61249e612d83565b60048054604051630d4388eb60e31b81526001600160a01b0393841693636a1c4758936124d6938d939216918c918c918c9101614890565b602060405180830381600087803b1580156124f057600080fd5b505af1158015612504573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125289190810190613e55565b979650505050505050565b600061253d612cf6565b6001600160a01b031663c9a2f3ad836040518263ffffffff1660e01b81526004016118c0919061483e565b6000612572612cf6565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b815260040161259f929190614956565b60206040518083038186803b1580156125b757600080fd5b505afa1580156125cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112bf9190810190613e55565b60006125f9612cf6565b6001600160a01b031663f023e8db8360006040518363ffffffff1660e01b81526004016118c0929190614af7565b6004546001600160a01b031681565b6000612640612cf6565b6001600160a01b031663f023e8db8360016040518363ffffffff1660e01b81526004016118c0929190614af7565b610b3b612d6b565b6000612680612cf6565b6001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156126b857600080fd5b505afa1580156126cc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3f9190810190613e55565b600554604051636eb1769f60e11b81526000916001600160a01b03169063dd62ed3e9061259f9086908690600401614875565b61272b612e91565b6002546040516001600160a01b039091169063907dff97906127539085908590602001614b12565b604051602081830303815290604052600260405161277090614807565b6040519081900381206001600160e01b031960e086901b168252611b0e93929189906000908190600401614ba2565b60006127a9612cf6565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb39286929116906370a08231906127e490849060040161483e565b60206040518083038186803b1580156127fc57600080fd5b505afa158015612810573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128349190810190613e55565b6040518363ffffffff1660e01b8152600401612851929190614956565b604080518083038186803b15801561286857600080fd5b505afa15801561287c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128a09190810190613f49565b5092915050565b6128af612ca2565b6128b7612bcc565b6128bf612cf6565b6004805460405163daa0101560e01b81526001600160a01b039384169363daa010159361169b93889392169187910161492e565b60006128fd612ed5565b612905612bcc565b61290d612d6b565b600080612918612cf6565b6004805460405163298f137d60e21b81526001600160a01b039384169363a63c4df49361294d938b938b939091169101614a37565b6040805180830381600087803b15801561296657600080fd5b505af115801561297a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061299e9190810190613fc8565b60045491935091506129be908690849084906001600160a01b0316613736565b6004546129d69086906001600160a01b0316846136ea565b95945050505050565b6129e7612e67565b6001600160a01b0381166000818152600b602052604080822080546001600160a01b031916815560018101839055600281018390556003810183905560048101839055600501829055517e53a2d0a74627ad6d346bc05ca92631666b0cec11ac95505fe1f048f3845e1191612a63918190819081908190614c31565b60405180910390a250565b6005546001600160a01b031681565b6002546001600160a01b031681565b60008382612a9a8282612d0a565b612aa2612bcc565b612aaa612d6b565b612ab2612d83565b60048054604051630a1e187d60e01b81526001600160a01b0393841693630a1e187d93612aeb93909116918b918b918b91859101614964565b602060405180830381600087803b158015612b0557600080fd5b505af1158015612b19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b3d9190810190613e55565b9695505050505050565b6000612b51612cf6565b6001600160a01b031663f5adc4f56040518163ffffffff1660e01b815260040160206040518083038186803b158015612b8957600080fd5b505afa158015612b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c3f9190810190613e19565b631c1554d160e21b81565b6002546001600160a01b03163314801590612bf257506003546001600160a01b03163314155b8015612c0957506004546001600160a01b03163314155b1561188957600480546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff9790612c48908490602001614adb565b6040516020818303038152906040526003604051612c65906147f1565b6040518091039020612c7688612ec9565b612c7f88612ec9565b60006040518763ffffffff1660e01b8152600401611b0e96959493929190614bdc565b612caa6137ea565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612ce257600080fd5b505afa158015611884573d6000803e3d6000fd5b6000611c3f6524b9b9bab2b960d11b613800565b612d126137ea565b6001600160a01b0316632cb28bd883836040518363ffffffff1660e01b8152600401612d3f929190614b12565b60006040518083038186803b158015612d5757600080fd5b505afa1580156116c9573d6000803e3d6000fd5b60405162461bcd60e51b8152600401610c8590614ce4565b6000611c3f6822bc31b430b733b2b960b91b613800565b6000611c3f722932bbb0b93239a234b9ba3934b13aba34b7b760691b613800565b6000611c3f6d537570706c795363686564756c6560901b613800565b600082821115612df95760405162461bcd60e51b8152600401610c8590614cd4565b50900390565b6000828201838110156112bf5760405162461bcd60e51b8152600401610c8590614cc4565b6002546040516001600160a01b039091169063907dff9790612e4a908490602001614adb565b6040516020818303038152906040526003604051612c6590614833565b6000546001600160a01b031633146118895760405162461bcd60e51b8152600401610c8590614d14565b612e99612d83565b6001600160a01b0316336001600160a01b0316146118895760405162461bcd60e51b8152600401610c8590614cb4565b6001600160a01b031690565b612edd6137ea565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612ce257600080fd5b6000612f21838361385d565b15612f3e5760405162461bcd60e51b8152600401610c8590614d74565b6000612f486139bf565b6001600160a01b0316638b3f8088856040518263ffffffff1660e01b8152600401612f73919061483e565b604080518083038186803b158015612f8a57600080fd5b505afa158015612f9e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fc29190810190613fc8565b5090508015610ab157600080612fd6612cf6565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb3928a929116906370a082319061301190849060040161483e565b60206040518083038186803b15801561302957600080fd5b505afa15801561303d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130619190810190613e55565b6040518363ffffffff1660e01b815260040161307e929190614956565b604080518083038186803b15801561309557600080fd5b505afa1580156130a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130cd9190810190613f49565b91509150818511156130f15760405162461bcd60e51b8152600401610c8590614d54565b801561310f5760405162461bcd60e51b8152600401610c8590614d24565b50600195945050505050565b600554604051636eb1769f60e11b81526000916001600160a01b03169063da46098c90869088906131bc908790869063dd62ed3e906131609087908790600401614875565b60206040518083038186803b15801561317857600080fd5b505afa15801561318c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131b09190810190613e55565b9063ffffffff612dd716565b6040518463ffffffff1660e01b81526004016131da9392919061492e565b600060405180830381600087803b1580156131f457600080fd5b505af1158015613208573d6000803e3d6000fd5b505050506132178484846132c7565b90505b949350505050565b60008082116132435760405162461bcd60e51b8152600401610c8590614cf4565b600082848161324e57fe5b04949350505050565b60008261326657506000610ab7565b8282028284828161327357fe5b04146112bf5760405162461bcd60e51b8152600401610c8590614d34565b6000611c3f6b526577617264457363726f7760a01b613800565b6000611c3f6d2932bbb0b93222b9b1b937bbab1960911b613800565b60006001600160a01b038316158015906132ea57506001600160a01b0383163014155b801561330457506002546001600160a01b03848116911614155b6133205760405162461bcd60e51b8152600401610c8590614c84565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f690869061336090869085906370a082319061316090869060040161483e565b6040518363ffffffff1660e01b815260040161337d929190614956565b600060405180830381600087803b15801561339757600080fd5b505af11580156133ab573d6000803e3d6000fd5b50506005546040516370a0823160e01b81526001600160a01b03909116925063b46310f6915085906133ef90869085906370a0823190610e8290869060040161483e565b6040518363ffffffff1660e01b815260040161340c929190614956565b600060405180830381600087803b15801561342657600080fd5b505af115801561343a573d6000803e3d6000fd5b505050506123ac848484612e24565b60408051600580825260c082019092526060916020820160a0803883390190505090506f5065726946696e616e6365537461746560801b8160008151811061348d57fe5b6020026020010181815250506b53797374656d53746174757360a01b816001815181106134b657fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106134dc57fe5b6020026020010181815250506524b9b9bab2b960d11b816003815181106134ff57fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b8160048151811061352f57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561356e578160200160208202803883390190505b50905060005b83518110156135b05783818151811061358957fe5b602002602001015182828151811061359d57fe5b6020908102919091010152600101613574565b5060005b82518110156128a0578281815181106135c957fe5b60200260200101518282865101815181106135e057fe5b60209081029190910101526001016135b4565b6002546001600160a01b0316331480159061361957506003546001600160a01b03163314155b801561363057506004546001600160a01b03163314155b1561364857600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146118895760405162461bcd60e51b8152600401610c8590614ca4565b6002546040516001600160a01b039091169063907dff979061369e90849060200161483e565b60405160208183030381529060405260016040516136bb90614812565b6040519081900381206001600160e01b031960e086901b168252610b0893929160009081908190600401614b4e565b60006112bc8484846132c7565b6002546001600160a01b031633148061371a57506003546001600160a01b031633145b6118895760405162461bcd60e51b8152600401610c8590614d64565b6002546040516001600160a01b039091169063907dff979061376090869086908690602001614d9f565b604051602081830303815290604052600260405161377d9061481d565b604051809103902061378e89612ec9565b6000806040518763ffffffff1660e01b81526004016137b296959493929190614ba2565b600060405180830381600087803b1580156137cc57600080fd5b505af11580156137e0573d6000803e3d6000fd5b5050505050505050565b6000611c3f6b53797374656d53746174757360a01b5b6000818152600a602090815260408083205490516001600160a01b039091169182151591613830918691016147d1565b604051602081830303815290604052906128a05760405162461bcd60e51b8152600401610c859190614c73565b60006138676139dd565b506001600160a01b038084166000908152600b6020908152604091829020825160c081018452815490941684526001810154918401829052600281015492840192909252600382015460608401526004820154608084015260059091015460a083015215806138d95750428160a00151105b156138e8576000915050610ab7565b42816020015111156138fe576001915050610ab7565b60006139098561144c565b6005546040516370a0823160e01b8152919350600092506001600160a01b0316906370a082319061393e90899060040161483e565b60206040518083038186803b15801561395657600080fd5b505afa15801561396a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061398e9190810190613e55565b9050816139a1828763ffffffff612dd716565b10156139b35760019350505050610ab7565b50600095945050505050565b6000611c3f6f5065726946696e616e6365537461746560801b613800565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b8035610ab781614ebf565b8051610ab781614ebf565b600082601f830112613a4357600080fd5b8151613a56613a5182614e0b565b614de4565b91508181835260208401935060208101905083856020840282011115613a7b57600080fd5b60005b83811015613aa75781613a918882613ac7565b8452506020928301929190910190600101613a7e565b5050505092915050565b8051610ab781614ed3565b8035610ab781614edc565b8051610ab781614edc565b8051610ab781614ee5565b8035610ab781614ee5565b600060208284031215613afa57600080fd5b600061321a8484613a1c565b600060208284031215613b1857600080fd5b600061321a8484613a27565b60008060408385031215613b3757600080fd5b6000613b438585613a1c565b9250506020613b5485828601613a1c565b9150509250929050565b600080600060608486031215613b7357600080fd5b6000613b7f8686613a1c565b9350506020613b9086828701613a1c565b9250506040613ba186828701613abc565b9150509250925092565b60008060408385031215613bbe57600080fd5b6000613bca8585613a1c565b9250506020613b5485828601613abc565b600080600060608486031215613bf057600080fd5b6000613bfc8686613a1c565b9350506020613b9086828701613abc565b60008060008060808587031215613c2357600080fd5b6000613c2f8787613a1c565b9450506020613c4087828801613abc565b9350506040613c5187828801613abc565b9250506060613c6287828801613abc565b91505092959194509250565b60008060008060008060c08789031215613c8757600080fd5b6000613c938989613a1c565b9650506020613ca489828a01613abc565b9550506040613cb589828a01613abc565b9450506060613cc689828a01613abc565b9350506080613cd789828a01613a1c565b92505060a0613ce889828a01613abc565b9150509295509295509295565b60008060008060008060c08789031215613d0e57600080fd5b6000613d1a8989613a1c565b9650506020613d2b89828a01613abc565b9550506040613d3c89828a01613abc565b9450506060613d4d89828a01613abc565b9350506080613d5e89828a01613abc565b92505060a0613ce889828a01613a1c565b600080600080600060a08688031215613d8757600080fd5b6000613d938888613a1c565b9550506020613da488828901613abc565b9450506040613db588828901613abc565b9350506060613dc688828901613abc565b9250506080613dd788828901613abc565b9150509295509295909350565b600060208284031215613df657600080fd5b815167ffffffffffffffff811115613e0d57600080fd5b61321a84828501613a32565b600060208284031215613e2b57600080fd5b600061321a8484613ab1565b600060208284031215613e4957600080fd5b600061321a8484613abc565b600060208284031215613e6757600080fd5b600061321a8484613ac7565b600080600060608486031215613e8857600080fd5b6000613bfc8686613abc565b600080600080600060a08688031215613eac57600080fd5b6000613eb88888613abc565b9550506020613ec988828901613abc565b9450506040613eda88828901613abc565b9350506060613dc688828901613a1c565b60008060008060808587031215613f0157600080fd5b6000613c2f8787613abc565b600060208284031215613f1f57600080fd5b600061321a8484613ad2565b600060208284031215613f3d57600080fd5b600061321a8484613add565b60008060408385031215613f5c57600080fd5b6000613f688585613ac7565b9250506020613b5485828601613ab1565b60008060408385031215613f8c57600080fd5b6000613f988585613ac7565b9250506020613b5485828601613ad2565b60008060408385031215613fbc57600080fd5b6000613bca8585613abc565b60008060408385031215613fdb57600080fd5b6000613fe78585613ac7565b9250506020613b5485828601613ac7565b60008060006060848603121561400d57600080fd5b60006140198686613ac7565b935050602061402a86828701613ac7565b9250506040613ba186828701613ac7565b600061404783836140c9565b505060200190565b61405881614e65565b82525050565b61405881614e44565b600061407282614e32565b61407c8185614e36565b935061408783614e2c565b8060005b838110156140b557815161409f888261403b565b97506140aa83614e2c565b92505060010161408b565b509495945050505050565b61405881614e4f565b61405881611071565b6140586140de82611071565b611071565b60006140ee82614e32565b6140f88185614e36565b9350614108818560208601614e89565b61411181614eb5565b9093019392505050565b61405881614e54565b61405881614e70565b61405881614e7e565b6000614143601f83614e36565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b600061417c603583614e36565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006141d3601383614e36565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b6000614202601e83614e36565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b600061423b601b83614e36565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614274602883614e3f565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b60006142be603e83614e3f565b7f50796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b600061431d601e83614e36565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000614356601b83614e36565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b600061438f601a83614e36565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006143c8601183614e3f565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006143f5601b83614e36565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b600061442e602f83614e36565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061447f602183614e3f565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b60006144c2601f83614e36565b7f412070796e7468206f722050455249207261746520697320696e76616c696400815260200192915050565b60006144fb602183614e36565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061453e602783614e3f565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b6000614587602983614e3f565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152682c75696e743235362960b81b602082015260290192915050565b60006145d2601a83614e3f565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b600061460b603283614e3f565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b600061465f601983614e3f565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000614698601583614e36565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b60006146c9602183614e3f565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b600061470c602783614e36565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152666564205045524960c81b602082015260400192915050565b6000614755601783614e36565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b600061478e601583614e36565b7450455249203a204c6f636b65642062616c616e636560581b815260200192915050565b61405881614e5f565b6000610ab782614267565b6000610ab7826142b1565b60006147dc826143bb565b91506147e882846140d2565b50602001919050565b6000610ab782614472565b6000610ab782614531565b6000610ab78261457a565b6000610ab7826145c5565b6000610ab7826145fe565b60006147dc82614652565b6000610ab7826146bc565b60208101610ab7828461405e565b60208101610ab7828461404f565b60408101614868828561404f565b6112bf60208301846140c9565b60408101614883828561405e565b6112bf602083018461405e565b60a0810161489e828861405e565b6148ab602083018761405e565b6148b860408301866140c9565b6148c560608301856140c9565b612b3d60808301846140c9565b60e081016148e0828a61405e565b6148ed602083018961405e565b6148fa60408301886140c9565b61490760608301876140c9565b61491460808301866140c9565b61492160a083018561405e565b6115fa60c08301846140c9565b6060810161493c828661405e565b614949602083018561405e565b61321a60408301846140c9565b60408101614868828561405e565b60a08101614972828861405e565b61497f60208301876140c9565b61498c60408301866140c9565b61499960608301856140c9565b612b3d608083018461405e565b60e081016149b4828a61405e565b6149c160208301896140c9565b6149ce60408301886140c9565b6149db60608301876140c9565b614914608083018661405e565b60c081016149f6828961405e565b614a0360208301886140c9565b614a1060408301876140c9565b614a1d60608301866140c9565b614a2a608083018561405e565b61252860a08301846140c9565b60608101614a45828661405e565b614a5260208301856140c9565b61321a604083018461405e565b60608101614a6d828661405e565b61494960208301856140c9565b60c08101614a88828961405e565b614a9560208301886140c9565b614aa260408301876140c9565b614aaf60608301866140c9565b614a2a60808301856140c9565b602080825281016112bf8184614067565b60208101610ab782846140c0565b60208101610ab782846140c9565b6040810161488382856140c9565b60408101614b0582856140c9565b6112bf60208301846140c0565b6040810161486882856140c9565b60408101614b2e82856140c9565b81810360208301526112bc81846140e3565b60a0810161497282886140c9565b60c08082528101614b5f81896140e3565b9050614b6e602083018861412d565b614b7b60408301876140c9565b614b886060830186614124565b614b956080830185614124565b61252860a0830184614124565b60c08082528101614bb381896140e3565b9050614bc2602083018861412d565b614bcf60408301876140c9565b614b8860608301866140c9565b60c08082528101614bed81896140e3565b9050614bfc602083018861412d565b614c0960408301876140c9565b614c1660608301866140c9565b614b9560808301856140c9565b60208101610ab7828461411b565b60a08101614c3f828861412d565b614c4c602083018761412d565b614c59604083018661412d565b614c66606083018561412d565b612b3d608083018461412d565b602080825281016112bf81846140e3565b60208082528101610ab781614136565b60208082528101610ab78161416f565b60208082528101610ab7816141c6565b60208082528101610ab7816141f5565b60208082528101610ab78161422e565b60208082528101610ab781614310565b60208082528101610ab781614349565b60208082528101610ab781614382565b60208082528101610ab7816143e8565b60208082528101610ab781614421565b60208082528101610ab7816144b5565b60208082528101610ab7816144ee565b60208082528101610ab78161468b565b60208082528101610ab7816146ff565b60208082528101610ab781614748565b60208082528101610ab781614781565b60408101614d9282856140c9565b6112bf602083018461411b565b60608101614a4582866140c9565b60608101614a6d82866140c9565b60a08101614dc982886140c9565b6148ab60208301876140c9565b60208101610ab782846147b2565b60405181810167ffffffffffffffff81118282101715614e0357600080fd5b604052919050565b600067ffffffffffffffff821115614e2257600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000610ab782612ec9565b151590565b6000610ab782614e44565b60ff1690565b6000610ab782614e54565b6000610ab76140de83611071565b6000610ab782611071565b60005b83811015614ea4578181015183820152602001614e8c565b838111156118845750506000910152565b601f01601f191690565b614ec881614e44565b8114610b3b57600080fd5b614ec881614e4f565b614ec881611071565b614ec881614e5456fea365627a7a72315820a366d60ad5da58d33b13bbd1ff543e55ea1ff3df98ad8824fe17b594c15949a46c6578706572696d656e74616cf564736f6c63430005110040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRedeemed",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "AccountLiquidated",
					"type": "event",
					"signature": "0xaadb11d74982254be0fa96d24a08db29d68f446bc96b3092a9c9120b5c89caf2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeRebate",
					"type": "event",
					"signature": "0x93751433c6897553c8950f14ccc193ccffb8f539f7421ffde9af83b9b7dae1a8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeReclaim",
					"type": "event",
					"signature": "0x491df6adf9cabe8ca514806effd6b6b6475572dc88fe4b8b58d0a20ecf45e105"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "ExchangeTracking",
					"type": "event",
					"signature": "0x9b39fce028952c685c9c73b2f5f825f8e369fbdaca2bec73c4abb52c2abc123c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "iterations",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "totalAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "unitTime",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "LockChanged",
					"type": "event",
					"signature": "0x0053a2d0a74627ad6d346bc05ca92631666b0cec11ac95505fe1f048f3845e11"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "PynthExchange",
					"type": "event",
					"signature": "0x4a0ae13ecb43c31fb105d00f9bb9bb573465fe44c0e86d51dc9b6c36090f6e28"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18821400"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2a905318"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf5adc4f5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd99947de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9df95f9f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb07ecd2e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x42f760cb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnPynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x54037f76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						}
					],
					"name": "burnPynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0ce4f2ef"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xedef719a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeRebate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f01a986"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeReclaim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xace88afd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xddd03a3f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "emitPynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b99084c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee52a2f3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc836fa0a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x91e56b68"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x30ead760"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0e30963c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLock",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b9db4e6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLockCalculation",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2b793f67"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1fce304d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8e2ac0ea"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						}
					],
					"name": "issueMaxPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x28691a75"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x705a2369"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe58c3e86"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6203ed1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "lockStates",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "iterations",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "unitTime",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37580f90"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "migrateEscrowBalanceToRewardEscrowV2",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6b76222f"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1249c58b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x666ed4f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8a1f76f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "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": "pUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf9eea80c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57ad4663"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "pynthAddress",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9a2f3ad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b09280a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "resetLock",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe7eb636d"
				},
				{
					"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": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "delay",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "iterations",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalLockAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interval",
							"type": "uint256"
						}
					],
					"name": "setLock",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7857637c"
				},
				{
					"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": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x987757dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "usdcStakeAmount",
							"type": "uint256"
						}
					],
					"name": "stakeUSDCAndIssueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x415d917e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "usdcStakeAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "issueAmount",
							"type": "uint256"
						}
					],
					"name": "stakeUSDCAndIssuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x95b80e12"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3a71202"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynthsExcludeEtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6980ba1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePeriFinance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c3af98"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "usdcUnstakeAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						}
					],
					"name": "unstakeUSDCAndBurnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3a560e35"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						}
					],
					"name": "unstakeUSDCToMaxAndBurnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0b717465"
				}
			],
			"source": {
				"keccak256": "0x681638ad344c9391d9b4cf49b7c398d68f9e0e56fbc056ee22822fb54aeea8c5",
				"urls": [
					"bzz-raw://f88eff240faff6c3833fef3b15b90a3fa2a32cef0d262e0e561ed5426072989d",
					"dweb:/ipfs/QmccvvkYGiA9kGvKQ2u5bPJonUKUeccivZ9GmUfTikD4NT"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinance.sol": "PeriFinance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinance.sol": {
						"keccak256": "0x681638ad344c9391d9b4cf49b7c398d68f9e0e56fbc056ee22822fb54aeea8c5",
						"urls": [
							"bzz-raw://f88eff240faff6c3833fef3b15b90a3fa2a32cef0d262e0e561ed5426072989d",
							"dweb:/ipfs/QmccvvkYGiA9kGvKQ2u5bPJonUKUeccivZ9GmUfTikD4NT"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516113bf3803806113bf8339818101604052604081101561003357600080fd5b5080516020909101516249d400826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506112958061012a6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80636b3905c4116100de5780639b217f9011610097578063cb5147b211610071578063cb5147b2146104fe578063d0cc82e314610524578063da7bd3e91461052c578063ee1d036c146105585761018e565b80639b217f90146103f8578063a15d59ce14610424578063bb2a7d0c1461042c5761018e565b80636b3905c41461036e57806370a082311461039457806379ba5097146103ba5780638ad58777146103c25780638da5cb5b146103ca57806397f46527146103d25761018e565b80632f5bb6611161014b57806346ba2d901161012557806346ba2d90146103325780634e5a60911461033a57806353a47bb71461035e57806363667eb7146103665761018e565b80632f5bb66114610297578063458efde3146102f857806345e5441f146103005761018e565b8063135c0701146101935780631627540c146101bb57806319e740c0146101e15780631bb47b4414610219578063204b676a1461024b578063227d517a14610271575b600080fd5b6101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610584565b005b6101b9600480360360208110156101d157600080fd5b50356001600160a01b0316610635565b610207600480360360208110156101f757600080fd5b50356001600160a01b0316610691565b60408051918252519081900360200190f35b6101b96004803603606081101561022f57600080fd5b506001600160a01b0381351690602081013590604001356106d3565b6102076004803603602081101561026157600080fd5b50356001600160a01b0316610a0e565b6102076004803603602081101561028757600080fd5b50356001600160a01b0316610a29565b6102bd600480360360208110156102ad57600080fd5b50356001600160a01b0316610a3b565b6040518082600260200280838360005b838110156102e55781810151838201526020016102cd565b5050505090500191505060405180910390f35b6101b9610a8c565b6102076004803603606081101561031657600080fd5b506001600160a01b038135169060208101359060400135610c49565b610207610c85565b610342610c8b565b604080516001600160a01b039092168252519081900360200190f35b610342610c9a565b610207610ca9565b6102076004803603602081101561038457600080fd5b50356001600160a01b0316610cae565b610207600480360360208110156103aa57600080fd5b50356001600160a01b0316610cc7565b6101b9610ce2565b610207610d9e565b610342610da3565b610207600480360360208110156103e857600080fd5b50356001600160a01b0316610db2565b6102076004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610dc4565b610207610ddf565b6101b96004803603606081101561044257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561046d57600080fd5b82018360208201111561047f57600080fd5b803590602001918460208302840111640100000000831117156104a157600080fd5b9193909290916020810190356401000000008111156104bf57600080fd5b8201836020820111156104d157600080fd5b803590602001918460208302840111640100000000831117156104f357600080fd5b509092509050610de5565b6101b96004803603602081101561051457600080fd5b50356001600160a01b0316610e6f565b610207610ecb565b6102bd6004803603604081101561054257600080fd5b506001600160a01b038135169060200135610ed0565b6102076004803603604081101561056e57600080fd5b506001600160a01b038135169060200135610f3f565b61058c610f52565b60025442106105cc5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081206105ed91611054565b6001600160a01b0381166000908152600560205260409020546006546106189163ffffffff610f9d16565b6006556001600160a01b0316600090815260056020526040812055565b61063d610f52565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008061069d83610a0e565b905060005b818110156106ca576106b48482610dc4565b156106c25791506106ce9050565b6001016106a2565b5090505b919050565b6106db610f52565b600254421061071b5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b81421061076f576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b806107c1576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546107d4908263ffffffff610ffa16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d602081101561084c57600080fd5b5051600654111561088e5760405162461bcd60e51b81526004018080602001828103825260478152602001806111c26047913960600191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460148111156108fd576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b80610922576001600160a01b03841660009081526005602052604090208290556109b7565b8261093885600161093288610a0e565b03610dc4565b106109745760405162461bcd60e51b815260040180806020018281038252603781526020018061118b6037913960400191505060405180910390fd5b6001600160a01b03841660009081526005602052604090205461099d908363ffffffff610ffa16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610a069260029081029091019190611078565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610a436110b6565b6000610a4e83610691565b9050610a5983610a0e565b811415610a7b57505060408051808201909152600080825260208201526106ce565b610a858382610ed0565b9392505050565b6000610a9733610a0e565b90506000805b82811015610b3c576000610ab13383610dc4565b905042811115610ac15750610b3c565b6000610acd3384610f3f565b90508015610b3257604080518082018252600080825260208083018290523382526004905291909120805485908110610b0257fe5b9060005260206000209060020201906002610b1e9291906110d4565b50610b2f848263ffffffff610ffa16565b93505b5050600101610a9d565b508015610c4557600654610b56908263ffffffff610f9d16565b60065533600090815260056020526040902054610b79908263ffffffff610f9d16565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610bde57600080fd5b505af1158015610bf2573d6000803e3d6000fd5b505050506040513d6020811015610c0857600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610c6257fe5b90600052602060002090600202018160028110610c7b57fe5b0154925083915050565b60025481565b6003546001600160a01b031681565b6001546001600160a01b031681565b600081565b6000610cb982610a3b565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b03163314610d2b5760405162461bcd60e51b81526004018080602001828103825260358152602001806111566035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610dbd82610a3b565b6001610cbc565b6000610dd08383610ed0565b60005b60200201519392505050565b60065481565b610ded610f52565b6002544210610e2d5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b60005b83811015610a0657610e6786868684818110610e4857fe5b90506020020135858585818110610e5b57fe5b905060200201356106d3565b600101610e30565b610e77610f52565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b601481565b610ed86110b6565b6001600160a01b0383166000908152600460205260409020805483908110610efc57fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610f1f575050505050905092915050565b6000610f4b8383610ed0565b6001610dd3565b6000546001600160a01b03163314610f9b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611209602f913960400191505060405180910390fd5b565b600082821115610ff4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610a85576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b50805460008255600202906000526020600020908101906110759190611107565b50565b82600281019282156110a6579160200282015b828111156110a657825182559160200191906001019061108b565b506110b292915061112d565b5090565b60405180604001604052806002906020820280388339509192915050565b82600281019282156110a6579160200282015b828111156110a6578251829060ff169055916020019190600101906110e7565b61112a91905b808211156110b25760006111218282611147565b5060020161110d565b90565b61112a91905b808211156110b25760008155600101611133565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a72315820270c0ce5567974d2a861ad27d9a9c6bbbc22f3437445a9f7aae491bba9cdfaa664736f6c63430005110032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"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": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "QUANTITY_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ad58777"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TIME_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x63667eb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "quantities",
							"type": "uint256[]"
						}
					],
					"name": "addVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb2a7d0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e5a6091"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "purgeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x135c0701"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcb5147b2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalVestedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa15d59ce"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			],
			"source": {
				"keccak256": "0x31d1a60f132483d142339637083acf5792c32a2ca50597735fa165ad89648c14",
				"urls": [
					"bzz-raw://48a74262c918ffafaf1e0041c3df2f129392ea92a8dfc67a738266ea4a56ab78",
					"dweb:/ipfs/QmPJAqv2Fnh3HcX5FnWmqonkAsBwJRo3cdjeZCMdKXLNZM"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceEscrow.sol": "PeriFinanceEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceEscrow.sol": {
						"keccak256": "0x31d1a60f132483d142339637083acf5792c32a2ca50597735fa165ad89648c14",
						"urls": [
							"bzz-raw://48a74262c918ffafaf1e0041c3df2f129392ea92a8dfc67a738266ea4a56ab78",
							"dweb:/ipfs/QmPJAqv2Fnh3HcX5FnWmqonkAsBwJRo3cdjeZCMdKXLNZM"
						]
					}
				},
				"version": 1
			}
		},
		"Pynth": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162002cf638038062002cf683398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608090930151919450925080888888888660128a86816001600160a01b0381166200022a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002d5576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035790600690602088019062000454565b5083516200036d90600790602087019062000454565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003f2576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b03841662000443576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620004f99350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049757805160ff1916838001178555620004c7565b82800160010185558215620004c7579182015b82811115620004c7578251825591602001919060010190620004aa565b50620004d5929150620004d9565b5090565b620004f691905b80821115620004d55760008155600101620004e0565b90565b6127ed80620005096000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806395d89b411161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146105fc578063eb1edd6114610604578063ec5568891461060c578063f7ea7a3d14610614578063ffff51d61461063157610206565b8063d67bdd2514610588578063dbd06c8514610590578063dd62ed3e14610598578063e73cced3146105c657610206565b80639f769807116100e95780639f769807146104e4578063a9059cbb1461050a578063b014c3a314610536578063bc67f8321461056257610206565b806395d89b411461048257806397107d6d1461048a5780639cbdaeb6146104b05780639dc29fac146104b857610206565b80632e0f26251161019d578063741853601161016c57806374185360146103e657806379ba5097146103ee578063867904b4146103f6578063899ffef4146104225780638da5cb5b1461047a57610206565b80632e0f262514610392578063313ce567146103b057806353a47bb7146103b857806370a08231146103c057610206565b80631627540c116101d95780631627540c1461031457806318160ddd1461033a57806323b872dd146103545780632af64bd31461038a57610206565b806304f3bcec1461020b57806306fdde031461022f578063095ea7b3146102ac578063131b0ae7146102ec575b600080fd5b610213610657565b604080516001600160a01b039092168252519081900360200190f35b61023761066b565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610271578181015183820152602001610259565b50505050905090810190601f16801561029e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360408110156102c257600080fd5b506001600160a01b0381351690602001356106f9565b604080519115158252519081900360200190f35b6103126004803603602081101561030257600080fd5b50356001600160a01b0316610794565b005b6103126004803603602081101561032a57600080fd5b50356001600160a01b03166107be565b61034261081a565b60408051918252519081900360200190f35b6102d86004803603606081101561036a57600080fd5b506001600160a01b03813581169160208101359091169060400135610820565b6102d8610847565b61039a610959565b6040805160ff9092168252519081900360200190f35b61039a61095e565b610213610967565b610342600480360360208110156103d657600080fd5b50356001600160a01b0316610976565b6103126109fb565b610312610bd8565b6103126004803603604081101561040c57600080fd5b506001600160a01b038135169060200135610c94565b61042a610d51565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046657818101518382015260200161044e565b505050509050019250505060405180910390f35b610213610e0d565b610237610e1c565b610312600480360360208110156104a057600080fd5b50356001600160a01b0316610e77565b610213610ed3565b610312600480360360408110156104ce57600080fd5b506001600160a01b038135169060200135610ee2565b610312600480360360208110156104fa57600080fd5b50356001600160a01b0316610fa0565b6102d86004803603604081101561052057600080fd5b506001600160a01b038135169060200135610fcf565b6102d86004803603604081101561054c57600080fd5b506001600160a01b038135169060200135611067565b6103126004803603602081101561057857600080fd5b50356001600160a01b03166111c0565b6102136111ea565b6103426111f9565b610342600480360360408110156105ae57600080fd5b506001600160a01b03813581169160200135166111ff565b6102d8600480360360608110156105dc57600080fd5b506001600160a01b0381358116916020810135909116906040013561128b565b6102136113db565b6102136113ea565b610213611402565b6103126004803603602081101561062a57600080fd5b5035611411565b6103426004803603602081101561064757600080fd5b50356001600160a01b031661141e565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b820191906000526020600020905b8154815290600101906020018083116106d457829003601f168201915b505050505081565b6000610703611561565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b15801561076557600080fd5b505af1158015610779573d6000803e3d6000fd5b505050506107888185856115b8565b60019150505b92915050565b61079c6116f1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6107c66116f1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b600061082a611561565b610834848361173a565b61083f8484846118b1565b949350505050565b60006060610853610d51565b905060005b815181101561094f57600082828151811061086f57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b50516001600160a01b031614158061093557506000818152600a60205260409020546001600160a01b0316155b156109465760009350505050610956565b50600101610858565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d60208110156109f157600080fd5b505190505b919050565b6060610a05610d51565b905060005b8151811015610bd4576000828281518110610a2157fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610aec578181015183820152602001610ad4565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d6020811015610b6157600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a0a565b5050565b6001546001600160a01b03163314610c215760405162461bcd60e51b815260040180806020018281038252603581526020018061268c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610c9e611a72565b6001600160a01b0316336001600160a01b03161490506000610cbe611a8c565b6001600160a01b0316336001600160a01b03161490506000610cde611aa3565b6001600160a01b0316336001600160a01b03161490508280610cfd5750815b80610d055750805b610d405760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b610d4a8585611ab7565b5050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110610d9157fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610db757fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610dda57fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110610dfe57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b610e7f6116f1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610eec611a72565b6001600160a01b0316336001600160a01b03161490506000610f0c611a8c565b6001600160a01b0316336001600160a01b03161490506000610f2c611aa3565b6001600160a01b0316336001600160a01b03161490508280610f4b5750815b80610f535750805b610f8e5760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b610f988585611be1565b505050505050565b610fa8611cde565b600580546001600160a01b0319166001600160a01b038316179055610fcc81611d8e565b50565b6000610fd9611561565b600454610fef906001600160a01b03168361173a565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156110255761101e8383611ecd565b905061078e565b6001600160a01b0383166110495760045461101e906001600160a01b031683611be1565b600454611060906001600160a01b03168484612030565b9392505050565b6000611071611561565b600061107b611a8c565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156110d657600080fd5b505af11580156110ea573d6000803e3d6000fd5b505050506040513d606081101561110057600080fd5b5060400151905082811561118e5760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561115f57600080fd5b505afa158015611173573d6000803e3d6000fd5b505050506040513d602081101561118957600080fd5b505190505b80841161119b578361119d565b805b6004549094506111b7906001600160a01b03168686612030565b95945050505050565b6111c861225d565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561125857600080fd5b505afa15801561126c573d6000803e3d6000fd5b505050506040513d602081101561128257600080fd5b50519392505050565b6000611295611561565b600061129f611a8c565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561130057600080fd5b505af1158015611314573d6000803e3d6000fd5b505050506040513d606081101561132a57600080fd5b506040015190508281156113b457600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561138557600080fd5b505afa158015611399573d6000803e3d6000fd5b505050506040513d60208110156113af57600080fd5b505190505b808410156113c257836113c4565b805b93506113d18686866118b1565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611419611cde565b600855565b600080611429611a8c565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561148857600080fd5b505afa15801561149c573d6000803e3d6000fd5b505050506040513d60608110156114b257600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561150757600080fd5b505afa15801561151b573d6000803e3d6000fd5b505050506040513d602081101561153157600080fd5b5051905080821115611548576000925050506109f6565b611558818363ffffffff6122d116565b925050506109f6565b6002546001600160a01b0316331480159061158757506003546001600160a01b03163314155b801561159e57506004546001600160a01b03163314155b156115b657600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161275282396021019050604051809103902061160b8861232e565b6116148861232e565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561168357818101518382015260200161166b565b50505050905090810190601f1680156116b05780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156116d457600080fd5b505af11580156116e8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146115b65760405162461bcd60e51b815260040180806020018281038252602f815260200180612723602f913960400191505060405180910390fd5b611742611a8c565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156117a157600080fd5b505afa1580156117b5573d6000803e3d6000fd5b505050506040513d60208110156117cb57600080fd5b5051156118095760405162461bcd60e51b81526004018080602001828103825260258152602001806127736025913960400191505060405180910390fd5b806118138361141e565b10156118505760405162461bcd60e51b815260040180806020018281038252602f8152602001806126c1602f913960400191505060405180910390fd5b61185861233a565b6001600160a01b03166342a28e21600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561189d57600080fd5b505afa158015610f98573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561190f57600080fd5b505afa158015611923573d6000803e3d6000fd5b505050506040513d602081101561193957600080fd5b505114611a67576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c9288926119e6918891879163dd62ed3e91604480820192602092909190829003018186803b1580156119ae57600080fd5b505afa1580156119c2573d6000803e3d6000fd5b505050506040513d60208110156119d857600080fd5b50519063ffffffff6122d116565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611a4e57600080fd5b505af1158015611a62573d6000803e3d6000fd5b505050505b61083f848484612030565b6000611a8766119959541bdbdb60ca1b612350565b905090565b6000611a876822bc31b430b733b2b960b91b612350565b6000611a876524b9b9bab2b960d11b612350565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611b4d91869186916370a0823191602480820192602092909190829003018186803b158015611b1557600080fd5b505afa158015611b29573d6000803e3d6000fd5b505050506040513d6020811015611b3f57600080fd5b50519063ffffffff61243416565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b9c57600080fd5b505af1158015611bb0573d6000803e3d6000fd5b5050600854611bc8925090508263ffffffff61243416565b600855611bd76000838361248e565b610bd482826124e1565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611c4191879186916370a08231916024808301926020929190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611c9057600080fd5b505af1158015611ca4573d6000803e3d6000fd5b5050600854611cbc925090508363ffffffff6122d116565b600855611ccb8360008461248e565b611cd58383612622565b50600192915050565b6002546001600160a01b03163314801590611d0457506003546001600160a01b03163314155b8015611d1b57506004546001600160a01b03163314155b15611d3357600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146115b6576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015611e68578181015183820152602001611e50565b50505050905090810190601f168015611e955780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015611eb957600080fd5b505af1158015610d4a573d6000803e3d6000fd5b600080600b54631cd554d160e21b1415611f0157506004548290611efb906001600160a01b03168583612030565b50611fc1565b611f09611a8c565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631cd554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b158015611f9257600080fd5b505af1158015611fa6573d6000803e3d6000fd5b505050506040513d6020811015611fbc57600080fd5b505190505b611fc9611a72565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561200e57600080fd5b505af1158015612022573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061205357506001600160a01b0383163014155b801561206d57506002546001600160a01b03848116911614155b6120be576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161211c91879186916370a0823191602480820192602092909190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561216b57600080fd5b505af115801561217f573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916121e191879186916370a0823191602480820192602092909190829003018186803b158015611b1557600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561223057600080fd5b505af1158015612244573d6000803e3d6000fd5b5050505061225384848461248e565b5060019392505050565b6002546001600160a01b031633148061228057506003546001600160a01b031633145b6115b6576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600082821115612328576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611a876b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161242d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123f25781810151838201526020016123da565b50505050905090810190601f16801561241f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082820183811015611060576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161279882396021019050604051809103902061160b8861232e565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156125bd5781810151838201526020016125a5565b50505050905090810190601f1680156125ea5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561260e57600080fd5b505af1158015610f98573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a72315820dac412b93a0bea62598d925577ccb9f68c440ec94d07f21dda7d303d8a676e4364736f6c63430005100032",
			"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": "transferablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xffff51d6"
				}
			],
			"source": {
				"keccak256": "0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37",
				"urls": [
					"bzz-raw://34a3c3b1923d5615dcc06e44fff898bdcc1dcec878f5655e5a325e6182252f3d",
					"dweb:/ipfs/QmcGK2zDUAeFqxDmxPayrzpFDNaNfwq1gQ18vDdodaS1dQ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Pynth.sol": "Pynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Pynth.sol": {
						"keccak256": "0x3d820f5a98d5766a8a1269f33a9036e9475eac34e8e4fa2b73e74ec6b2246b37",
						"urls": [
							"bzz-raw://34a3c3b1923d5615dcc06e44fff898bdcc1dcec878f5655e5a325e6182252f3d",
							"dweb:/ipfs/QmcGK2zDUAeFqxDmxPayrzpFDNaNfwq1gQ18vDdodaS1dQ"
						]
					}
				},
				"version": 1
			}
		},
		"Depot": {
			"bytecode": "608060408190527f907af6c000000000000000000000000000000000000000000000000000000000815273__Depot.sol:SafeDecimalMath_____________9063907af6c09060849060209060048186803b1580156200005e57600080fd5b505af415801562000073573d6000803e3d6000fd5b505050506040513d60208110156200008a57600080fd5b5051603202600d55604080517f907af6c0000000000000000000000000000000000000000000000000000000008152905173__Depot.sol:SafeDecimalMath_____________9163907af6c0916004808301926020929190829003018186803b158015620000f757600080fd5b505af41580156200010c573d6000803e3d6000fd5b505050506040513d60208110156200012357600080fd5b50516101f402600e553480156200013957600080fd5b506040516060806200382a8339810160409081528151602083015191909201518281818080600160a060020a0381161515620001d657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600160a060020a0381161515620002a757604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f4f776e6572206d757374206e6f74206265207a65726f00000000000000000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810261010060a860020a03199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a15050600160065560078054600160a060020a03928316600160a060020a03199182161790915560088054959092169416939093179092555050506134e0806200034a6000396000f3006080604052600436106101d45763ffffffff60e060020a6000350416630227943881146101df57806304f3bcec146101f9578063080c279a1461022a5780630c928bc21461023f5780630c928f051461024a5780631627540c1461026257806316c38b3c1461028557806317c70de41461029f5780631f930115146102b457806320714f88146102bc5780632194f3a2146102dd5780633278c960146102f25780634d0387fb146103075780634e543b261461031c57806353a47bb71461033d5780635c975abb1461035257806364e39b871461037b5780636d5ab4a91461039c57806379ba5097146103b157806381b797dc146103c65780638da5cb5b146103db57806391b4ded9146103f05780639342c0eb146104055780639cb8a26a14610413578063a3d8829b14610428578063a461fc8214610440578063aab483d614610455578063b02c43d01461046d578063b0c2cb96146104a8578063b1338cc4146104c3578063b8225dec146104d8578063bb7df172146104ed578063bd32aa4414610505578063c58aaae61461051a578063c6abb7c71461052f578063c8d889f214610550578063dc8fa6c214610568578063e6d76a7614610580578063f852d39314610598578063fd12167f146105b0575b6101dc6105c5565b50005b6101e7610fae565b60408051918252519081900360200190f35b34801561020557600080fd5b5061020e611304565b60408051600160a060020a039092168252519081900360200190f35b34801561023657600080fd5b506101e7611313565b6101e7600435611319565b34801561025657600080fd5b506101e760043561155e565b34801561026e57600080fd5b50610283600160a060020a0360043516611601565b005b34801561029157600080fd5b5061028360043515156116b9565b3480156102ab57600080fd5b506101e761178f565b6101e76105c5565b3480156102c857600080fd5b50610283600160a060020a0360043516611795565b3480156102e957600080fd5b5061020e6118c2565b3480156102fe57600080fd5b506102836118d1565b34801561031357600080fd5b506101e761196f565b34801561032857600080fd5b50610283600160a060020a0360043516611975565b34801561034957600080fd5b5061020e6119fb565b34801561035e57600080fd5b50610367611a0a565b604080519115158252519081900360200190f35b34801561038757600080fd5b50610283600160a060020a0360043516611a13565b3480156103a857600080fd5b506101e7611ad1565b3480156103bd57600080fd5b50610283611ad7565b3480156103d257600080fd5b50610283611bd2565b3480156103e757600080fd5b5061020e611e5b565b3480156103fc57600080fd5b506101e7611e6a565b6101e7600435602435611e70565b34801561041f57600080fd5b5061028361228e565b34801561043457600080fd5b506101e7600435612407565b34801561044c57600080fd5b506101e76124a4565b34801561046157600080fd5b506102836004356124ab565b34801561047957600080fd5b50610485600435612639565b60408051600160a060020a03909316835260208301919091528051918290030190f35b3480156104b457600080fd5b506101e760043560243561265e565b3480156104cf57600080fd5b506101e76128a7565b3480156104e457600080fd5b506103676128ad565b3480156104f957600080fd5b506102836004356128b6565b34801561051157600080fd5b50610283612955565b34801561052657600080fd5b5061020e612a02565b34801561053b57600080fd5b506101e7600160a060020a0360043516612a16565b34801561055c57600080fd5b506101e7600435612a28565b34801561057457600080fd5b50610283600435612ad1565b34801561058c57600080fd5b50610283600435612cae565b3480156105a457600080fd5b506101e7600435612dbb565b3480156105bc57600080fd5b506101e76130cb565b60008060008060006105d56133fd565b6006805460010190819055600090819060eb60020a6208aa89026105f76130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561064657600080fd5b505af115801561065a573d6000803e3d6000fd5b505050506040513d602081101561067057600080fd5b5051156106b5576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615610712576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b600e54341115610792576040805160e560020a62461bcd02815260206004820152602560248201527f45544820616d6f756e742061626f7665206d617845746850757263686173652060448201527f6c696d6974000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61082d61079d6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156107f457600080fd5b505af1158015610808573d6000803e3d6000fd5b505050506040513d602081101561081e57600080fd5b5051349063ffffffff6131bb16565b9750879650600a5495505b6000871180156108495750600b5486105b15610e175760008681526009602090815260409182902082518084019093528054600160a060020a03168084526001909101549183019190915290955015156108a857600a546108a090600163ffffffff6131e716565b600a55610e0c565b8685602001511115610b5b5760208501516108c9908863ffffffff6131f916565b6040805180820182528751600160a060020a039081168252602080830185815260008c8152600990925293902091518254600160a060020a03191691161781559051600190910155600c5490945061092190886131f9565b600c556109bf61092f6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b15801561098657600080fd5b505af115801561099a573d6000803e3d6000fd5b505050506040513d60208110156109b057600080fd5b5051889063ffffffff61321016565b8551604051919a50600160a060020a0316908a156108fc02908b906000818181858888f193505050501515610a6f57600854604051600160a060020a03909116908a156108fc02908b906000818181858888f19350505050158015610a28573d6000803e3d6000fd5b508451604080518b81529051600160a060020a03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610abb565b8451604080518b8152602081018a905281518993600160a060020a03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610ac361323a565b600160a060020a031663a9059cbb33896040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610b2557600080fd5b505af1158015610b39573d6000803e3d6000fd5b505050506040513d6020811015610b4f57600080fd5b5060009750610e0c9050565b60208501518710610e0c5760008681526009602052604081208054600160a060020a0319168155600190810191909155600a54610b9d9163ffffffff6131e716565b600a556020850151600c54610bb79163ffffffff6131f916565b600c55610c59610bc56130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015610c1c57600080fd5b505af1158015610c30573d6000803e3d6000fd5b505050506040513d6020811015610c4657600080fd5b505160208701519063ffffffff61321016565b8551604051919a50600160a060020a0316908a156108fc02908b906000818181858888f193505050501515610d0957600854604051600160a060020a03909116908a156108fc02908b906000818181858888f19350505050158015610cc2573d6000803e3d6000fd5b508451604080518b81529051600160a060020a03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610d59565b8451602080870151604080518d81529283019190915280518993600160a060020a03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b610d6161323a565b600160a060020a031663a9059cbb3387602001516040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015610dc757600080fd5b505af1158015610ddb573d6000803e3d6000fd5b505050506040513d6020811015610df157600080fd5b50506020850151610e0990889063ffffffff6131f916565b96505b600190950194610838565b6000871115610ee957336108fc610ebf610e2f6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015610e8657600080fd5b505af1158015610e9a573d6000803e3d6000fd5b505050506040513d6020811015610eb057600080fd5b50518a9063ffffffff61321016565b6040518115909202916000818181858888f19350505050158015610ee7573d6000803e3d6000fd5b505b610ef9888863ffffffff6131f916565b92506000831115610f91576040805134602082015260608101859052608080825260039082015260eb60020a6208aa890260a082015260c08183018190526004908201527f735553440000000000000000000000000000000000000000000000000000000060e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b829950506006548114610fa357600080fd5b505050505050505090565b60008060eb60020a620a69cb02610fc36130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561101257600080fd5b505af1158015611026573d6000803e3d6000fd5b505050506040513d602081101561103c57600080fd5b505115611081576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60eb60020a6208aa89026110936130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b1580156110e257600080fd5b505af11580156110f6573d6000803e3d6000fd5b505050506040513d602081101561110c57600080fd5b505115611151576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff16156111ae576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6111b734612a28565b600854604051919450600160a060020a0316903480156108fc02916000818181858888f193505050501580156111f1573d6000803e3d6000fd5b506111fa6132f3565b600160a060020a031663a9059cbb33856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561125c57600080fd5b505af1158015611270573d6000803e3d6000fd5b505050506040513d602081101561128657600080fd5b505060408051346020820152606081018590526080808252600390820181905260eb60020a6208aa890260a083015260c082840181905282015260eb60020a620a69cb0260e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1509092915050565b600754600160a060020a031681565b600d5481565b600060eb60020a6208aa890261132d6130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b15801561137c57600080fd5b505af1158015611390573d6000803e3d6000fd5b505050506040513d60208110156113a657600080fd5b5051156113eb576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615611448576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6114506130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156114a757600080fd5b505af11580156114bb573d6000803e3d6000fd5b505050506040513d60208110156114d157600080fd5b5051831461154f576040805160e560020a62461bcd02815260206004820152602560248201527f47756172616e74656564207261746520776f756c64206e6f742062652072656360448201527f6569766564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b6115576105c5565b9392505050565b60006115fb61156b6130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156115c257600080fd5b505af11580156115d6573d6000803e3d6000fd5b505050506040513d60208110156115ec57600080fd5b5051839063ffffffff6131bb16565b92915050565b600054600160a060020a03163314611665576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60018054600160a060020a038316600160a060020a0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600054600160a060020a0316331461171d576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60055460ff16151581151514156117335761178c565b6005805460ff1916821515179081905560ff161561175057426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60025481565b600054600160a060020a031633146117f9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600160a060020a0381161515611859576040805160e560020a62461bcd02815260206004820152601c60248201527f42656e6566696369617279206d757374206e6f74206265207a65726f00000000604482015290519081900360640190fd5b60038054600160a060020a038316610100810274ffffffffffffffffffffffffffffffffffffffff00199092169190911790915560408051918252517fd5da63a0b864b315bc04128dedbc93888c8529ee6cf47ce664dc204339228c539181900360200190a150565b600854600160a060020a031681565b600054600160a060020a03163314611935576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600060028190556003805460ff191690556040517f6adcc7125002935e0aa31697538ebbd65cfddf20431eb6ecdcfc3e238bfd082c9190a1565b600c5481565b600054600160a060020a031633146119d9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60078054600160a060020a031916600160a060020a0392909216919091179055565b600154600160a060020a031681565b60055460ff1681565b600054600160a060020a03163314611a77576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60088054600160a060020a031916600160a060020a03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b600a5481565b600154600160a060020a03163314611b5f576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a16001805460008054600160a060020a0319908116600160a060020a03841617909155169055565b600080611bdd6133fd565b60009250600a5491505b600b54821015611cbd575060008181526009602090815260409182902082518084019093528054600160a060020a031680845260019091015491830191909152331415611cb2576020810151611c4490849063ffffffff6131e716565b60008381526009602090815260408083208054600160a060020a031916815560010192909255835184820151835190815292519396508593600160a060020a03909116927f3aa2b18eace5e5727a4ab525921b9b0a1ca1afdb0f96b599e3ab2d76cb5e7f7292908290030190a35b600190910190611be7565b600c54611cd0908463ffffffff6131f916565b600c55336000908152600f6020526040902054611cf490849063ffffffff6131e716565b336000908152600f602052604081208190559093508311611d85576040805160e560020a62461bcd02815260206004820152602160248201527f596f752068617665206e6f206465706f7369747320746f20776974686472617760448201527f2e00000000000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b611d8d61323a565b600160a060020a031663a9059cbb33856040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b158015611def57600080fd5b505af1158015611e03573d6000803e3d6000fd5b505050506040513d6020811015611e1957600080fd5b5050604080513381526020810185905281517faf6ec623f558c7b3527ff6c9c09432c7d81a3d38bd2e1eaaee2efe7aac23c28b929181900390910190a1505050565b600054600160a060020a031681565b60045481565b600060eb60020a620a69cb02611e846130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611ed357600080fd5b505af1158015611ee7573d6000803e3d6000fd5b505050506040513d6020811015611efd57600080fd5b505115611f42576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60eb60020a6208aa8902611f546130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015611fa357600080fd5b505af1158015611fb7573d6000803e3d6000fd5b505050506040513d6020811015611fcd57600080fd5b505115612012576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff161561206f576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6120776130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156120ce57600080fd5b505af11580156120e2573d6000803e3d6000fd5b505050506040513d60208110156120f857600080fd5b50518514612176576040805160e560020a62461bcd02815260206004820152602b60248201527f47756172616e74656564206574686572207261746520776f756c64206e6f742060448201527f6265207265636569766564000000000000000000000000000000000000000000606482015290519081900360840190fd5b61217e6130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156121d557600080fd5b505af11580156121e9573d6000803e3d6000fd5b505050506040513d60208110156121ff57600080fd5b5051841461227d576040805160e560020a62461bcd02815260206004820152602f60248201527f47756172616e746565642073796e746865746978207261746520776f756c642060448201527f6e6f742062652072656365697665640000000000000000000000000000000000606482015290519081900360840190fd5b612285610fae565b95945050505050565b60008054600160a060020a031633146122f3576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b60035460ff16151561234f576040805160e560020a62461bcd02815260206004820152601f60248201527f53656c66204465737472756374206e6f742079657420696e6974696174656400604482015290519081900360640190fd5b426224ea00600254011015156123af576040805160e560020a62461bcd02815260206004820152601b60248201527f53656c662064657374727563742064656c6179206e6f74206d65740000000000604482015290519081900360640190fd5b5060035460408051600160a060020a0361010090930492909216808352905190917f8a09e1677ced846cb537dc2b172043bd05a1a81ad7e0033a7ef8ba762df990b7919081900360200190a180600160a060020a0316ff5b60006115fb6124146130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b15801561246b57600080fd5b505af115801561247f573d6000803e3d6000fd5b505050506040513d602081101561249557600080fd5b5051839063ffffffff61321016565b6224ea0081565b600054600160a060020a0316331461250f576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b73__Depot.sol:SafeDecimalMath_____________63907af6c06040518163ffffffff1660e060020a02815260040160206040518083038186803b15801561255657600080fd5b505af415801561256a573d6000803e3d6000fd5b505050506040513d602081101561258057600080fd5b505181116125fe576040805160e560020a62461bcd02815260206004820152603060248201527f4d696e696d756d206465706f73697420616d6f756e74206d757374206265206760448201527f726561746572207468616e20554e495400000000000000000000000000000000606482015290519081900360840190fd5b600d8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b60096020526000908152604090208054600190910154600160a060020a039091169082565b600060eb60020a620a69cb026126726130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b1580156126c157600080fd5b505af11580156126d5573d6000803e3d6000fd5b505050506040513d60208110156126eb57600080fd5b505115612730576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff161561278d576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b6127956130d1565b6040805160e360020a6315905ec102815260eb60020a620a69cb0260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b1580156127ec57600080fd5b505af1158015612800573d6000803e3d6000fd5b505050506040513d602081101561281657600080fd5b50518314612894576040805160e560020a62461bcd02815260206004820152602560248201527f47756172616e74656564207261746520776f756c64206e6f742062652072656360448201527f6569766564000000000000000000000000000000000000000000000000000000606482015290519081900360840190fd5b61289d84612dbb565b91505b5092915050565b600e5481565b60035460ff1681565b600054600160a060020a0316331461291a576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b600e8190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b600054600160a060020a031633146129b9576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b426002556003805460ff19166001179055604080516224ea00815290517fcbd94ca75b8dc45c9d80c77e851670e78843c0d75180cb81db3e2158228fa9a69181900360200190a1565b6003546101009004600160a060020a031681565b600f6020526000908152604090205481565b600080612ac6612a366130d1565b6040805160e360020a6315905ec102815260eb60020a6208aa890260048201529051600160a060020a03929092169163ac82f608916024808201926020929091908290030181600087803b158015612a8d57600080fd5b505af1158015612aa1573d6000803e3d6000fd5b505050506040513d6020811015612ab757600080fd5b5051849063ffffffff6131bb16565b905061155781612407565b612ad961323a565b604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152306024820152604481018490529051600160a060020a0392909216916323b872dd916064808201926020929091908290030181600087803b158015612b4a57600080fd5b505af1158015612b5e573d6000803e3d6000fd5b505050506040513d6020811015612b7457600080fd5b5050600d54811015612bfd57336000908152600f6020526040902054612ba0908263ffffffff6131e716565b336000818152600f602090815260409182902093909355600d5481519283529282018490528181019290925290517fbc3a12638d840d60760c64b39c73985a6498cf6eb8176f124995b0e07236cbd29181900360600190a161178c565b604080518082018252338082526020808301858152600b805460009081526009845286902094518554600160a060020a031916600160a060020a039091161785559051600190940193909355915483518581529351909391927fd9acabe6e09d178728ba5c366661c5be0621b4770f216305b059ec175b37e0b4928290030190a3600b54612c9290600163ffffffff6131e716565b600b55600c54612ca8908263ffffffff6131e716565b600c5550565b600054600160a060020a03163314612d12576040805160e560020a62461bcd02815260206004820152602f60248201526000805160206134358339815191526044820152600080516020613455833981519152606482015290519081900360840190fd5b612d1a6132f3565b60008054604080517fa9059cbb000000000000000000000000000000000000000000000000000000008152600160a060020a039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b158015612d8c57600080fd5b505af1158015612da0573d6000803e3d6000fd5b505050506040513d6020811015612db657600080fd5b505050565b60008060eb60020a620a69cb02612dd06130d1565b600160a060020a0316629919c0826040518263ffffffff1660e060020a028152600401808260001916600019168152602001915050602060405180830381600087803b158015612e1f57600080fd5b505af1158015612e33573d6000803e3d6000fd5b505050506040513d6020811015612e4957600080fd5b505115612e8e576040805160e560020a62461bcd0281526020600482015260196024820152600080516020613495833981519152604482015290519081900360640190fd5b60055460ff1615612eeb576040805160e560020a62461bcd02815260206004820152603c60248201526000805160206134758339815191526044820152600080516020613415833981519152606482015290519081900360840190fd5b612ef484612407565b9150612efe61323a565b600854604080517f23b872dd000000000000000000000000000000000000000000000000000000008152336004820152600160a060020a03928316602482015260448101889052905192909116916323b872dd916064808201926020929091908290030181600087803b158015612f7457600080fd5b505af1158015612f88573d6000803e3d6000fd5b505050506040513d6020811015612f9e57600080fd5b50612fa990506132f3565b600160a060020a031663a9059cbb33846040518363ffffffff1660e060020a0281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050602060405180830381600087803b15801561300b57600080fd5b505af115801561301f573d6000803e3d6000fd5b505050506040513d602081101561303557600080fd5b505060408051602081018690526060810184905260808082526004908201527f735553440000000000000000000000000000000000000000000000000000000060a082015260c081830181905260039082015260eb60020a620a69cb0260e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15092915050565b600b5481565b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f45786368616e6765526174657300000000000000000000000000000000000000600482015260248101829052601d60448201527f4d697373696e672045786368616e67655261746573206164647265737300000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b505af115801561319e573d6000803e3d6000fd5b505050506040513d60208110156131b457600080fd5b5051905090565b6000670de0b6b3a76400006131d6848463ffffffff6133ac16565b8115156131df57fe5b049392505050565b60008282018381101561155757600080fd5b6000808383111561320957600080fd5b5050900390565b60006115578261322e85670de0b6b3a764000063ffffffff6133ac16565b9063ffffffff6133da16565b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f53796e7468735553440000000000000000000000000000000000000000000000600482015260248101829052601960448201527f4d697373696e672053796e74687355534420616464726573730000000000000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b600754604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f53796e7468657469780000000000000000000000000000000000000000000000600482015260248101829052601960448201527f4d697373696e672053796e74686574697820616464726573730000000000000060648201529051600092600160a060020a03169163dacb2d0191608480830192602092919082900301818787803b15801561318a57600080fd5b6000808315156133bf57600091506128a0565b508282028284828115156133cf57fe5b041461155757600080fd5b6000808083116133e957600080fd5b82848115156133f457fe5b04949350505050565b60408051808201909152600080825260208201529056007768696c652074686520636f6e747261637420697320706175736564000000004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e00000000000000000000000000000000005468697320616374696f6e2063616e6e6f7420626520706572666f726d65642052617465207374616c65206f72206e6f7420612073796e746800000000000000a165627a7a723058207b783c67dd7fef58214d141fd31ab38df03979269c20a492ade4dd58c42d597b0029",
			"abi": [
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForPERI",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x6fd62e8c"
				},
				{
					"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": "exchangeEtherForPynthsAtRate",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xdcaa3e9f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "pynthsReceivedForEther",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x34d2e0f2"
				},
				{
					"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": "exchangeEtherForPynths",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x76569fbf"
				},
				{
					"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": "withdrawMyDepositedPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa8f98446"
				},
				{
					"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": "guaranteedPeriFinanceRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForPERIAtRate",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xa705a834"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "selfDestruct",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9cb8a26a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "periFinanceReceivedForPynths",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc3969b34"
				},
				{
					"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": "pynthAmount",
							"type": "uint256"
						},
						{
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangePynthsForPERIAtRate",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa2c90838"
				},
				{
					"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": "periFinanceReceivedForEther",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae4133b2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "depositPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a81c346"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdrawPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xce727e41"
				},
				{
					"constant": false,
					"inputs": [
						{
							"name": "pynthAmount",
							"type": "uint256"
						}
					],
					"name": "exchangePynthsForPERI",
					"outputs": [
						{
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x43de4fd0"
				},
				{
					"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": "PynthWithdrawal",
					"type": "event",
					"signature": "0x561ed20453aa36ac35f599e6b1f20818af8d303c090fb9ffc306da39814757b2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "PynthDeposit",
					"type": "event",
					"signature": "0x55037147ed62d28238c4ff02e6d4053961a9fdba94b336f5e2f1c94daf2732a0"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "PynthDepositRemoved",
					"type": "event",
					"signature": "0xa3192e28d63900a325ec19d7b4c6a3690995015d92e4483f4b3ec54dea5e5984"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"name": "minimum",
							"type": "uint256"
						}
					],
					"name": "PynthDepositNotAccepted",
					"type": "event",
					"signature": "0xa53e8531fc7a8d8cd1aeccdc1b953e2b1bfcbeb6f5acb3a8fd571b8c57a5fd3d"
				},
				{
					"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": "periFinance_escrow",
					"outputs": [
						{
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59bd8976"
				},
				{
					"inputs": [
						{
							"name": "_esc",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor"
				}
			]
		},
		"RewardEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516112e23803806112e28339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055506111ad806101356000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636b3905c4116100de5780639b217f9011610097578063cb5147b211610071578063cb5147b21461045d578063d0cc82e314610483578063da7bd3e91461048b578063ee1d036c146104b757610173565b80639b217f90146103fd578063ae2e933b14610429578063b5ddb9c71461043157610173565b80636b3905c41461037357806370a082311461039957806371e780f3146103bf57806379ba5097146103c75780638da5cb5b146103cf57806397f46527146103d757610173565b8063326a3cfb11610130578063326a3cfb146102ab578063449d0eb1146102d1578063458efde31461030d57806345e5441f146103155780634e5a60911461034757806353a47bb71461036b57610173565b80631627540c1461017857806319db2228146101a057806319e740c0146101c6578063204b676a146101fe578063227d517a146102245780632f5bb6611461024a575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b03166104e3565b005b61019e600480360360208110156101b657600080fd5b50356001600160a01b031661053f565b6101ec600480360360208110156101dc57600080fd5b50356001600160a01b031661059b565b60408051918252519081900360200190f35b6101ec6004803603602081101561021457600080fd5b50356001600160a01b03166105dd565b6101ec6004803603602081101561023a57600080fd5b50356001600160a01b03166105f8565b6102706004803603602081101561026057600080fd5b50356001600160a01b031661060a565b6040518082600260200280838360005b83811015610298578181015183820152602001610280565b5050505090500191505060405180910390f35b6101ec600480360360208110156102c157600080fd5b50356001600160a01b031661065b565b6102f7600480360360208110156102e757600080fd5b50356001600160a01b031661066d565b6040518151815280826141008083836020610280565b61019e6106f3565b6101ec6004803603606081101561032b57600080fd5b506001600160a01b0381351690602081013590604001356108dc565b61034f610918565b604080516001600160a01b039092168252519081900360200190f35b61034f610927565b6101ec6004803603602081101561038957600080fd5b50356001600160a01b0316610936565b6101ec600480360360208110156103af57600080fd5b50356001600160a01b031661094f565b6101ec61096a565b61019e610970565b61034f610a2c565b6101ec600480360360208110156103ed57600080fd5b50356001600160a01b0316610a3b565b6101ec6004803603604081101561041357600080fd5b506001600160a01b038135169060200135610a4d565b61034f610a68565b61019e6004803603604081101561044757600080fd5b506001600160a01b038135169060200135610a77565b61019e6004803603602081101561047357600080fd5b50356001600160a01b0316610ad0565b6101ec610b2c565b610270600480360360408110156104a157600080fd5b506001600160a01b038135169060200135610b32565b6101ec600480360360408110156104cd57600080fd5b506001600160a01b038135169060200135610ba1565b6104eb610bb4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610547610bb4565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806105a7836105dd565b905060005b818110156105d4576105be8482610a4d565b156105cc5791506105d89050565b6001016105ac565b5090505b919050565b6001600160a01b031660009081526004602052604090205490565b60066020526000908152604090205481565b610612610f98565b600061061d8361059b565b9050610628836105dd565b81141561064a57505060408051808201909152600080825260208201526105d8565b6106548382610b32565b9392505050565b60056020526000908152604090205481565b610675610fb6565b61067d610fb6565b6000610688846105dd565b905060005b818110156106ea5761069d610f98565b6106a78683610b32565b8051909150846002840261020881106106bc57fe5b60200201528060016020020151848360020260010161020881106106dc57fe5b60200201525060010161068d565b50909392505050565b60006106fe336105dd565b90506000805b828110156107a35760006107183383610a4d565b90504281111561072857506107a3565b60006107343384610ba1565b905080156107995760408051808201825260008082526020808301829052338252600490529190912080548590811061076957fe5b9060005260206000209060020201906002610785929190610fd6565b50610796848263ffffffff610bff16565b93505b5050600101610704565b5080156108d8576007546107bd908263ffffffff610c5916565b600755336000908152600560205260409020546107e0908263ffffffff610c5916565b3360009081526005602090815260408083209390935560069052205461080c908263ffffffff610bff16565b33600081815260066020908152604080832094909455600254845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b600460205282600052604060002082815481106108f557fe5b9060005260206000209060020201816002811061090e57fe5b0154925083915050565b6002546001600160a01b031681565b6001546001600160a01b031681565b60006109418261060a565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b60075481565b6001546001600160a01b031633146109b95760405162461bcd60e51b81526004018080602001828103825260358152602001806110656035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610a468261060a565b6001610944565b6000610a598383610b32565b60005b60200201519392505050565b6003546001600160a01b031681565b6003546001600160a01b0316331480610ac15760405162461bcd60e51b81526004018080602001828103825260328152602001806111476032913960400191505060405180910390fd5b610acb8383610cb6565b505050565b610ad8610bb4565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b61010481565b610b3a610f98565b6001600160a01b0383166000908152600460205260409020805483908110610b5e57fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610b81575050505050905092915050565b6000610bad8383610b32565b6001610a5c565b6000546001600160a01b03163314610bfd5760405162461bcd60e51b815260040180806020018281038252602f815260200180611118602f913960400191505060405180910390fd5b565b600082820183811015610654576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610cb0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80610d08576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610d1b908263ffffffff610bff16565b600755600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d6957600080fd5b505afa158015610d7d573d6000803e3d6000fd5b505050506040513d6020811015610d9357600080fd5b50516007541115610dd55760405162461bcd60e51b81526004018080602001828103825260478152602001806110d16047913960600191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610104811115610e45576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe200420181610e71576001600160a01b0384166000908152600560205260409020839055610efe565b80610e7f8560018503610a4d565b10610ebb5760405162461bcd60e51b815260040180806020018281038252603781526020018061109a6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610ee4908463ffffffff610bff16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925284825281830187905280546001810180835591855292909320610f4d9260029081029091019190611019565b5050604080514281526020810185905281516001600160a01b038716927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a250505050565b60405180604001604052806002906020820280388339509192915050565b604051806141000160405280610208906020820280388339509192915050565b8260028101928215611009579160200282015b82811115611009578251829060ff16905591602001919060010190610fe9565b50611015929150611047565b5090565b8260028101928215611009579160200282015b8281111561100957825182559160200191906001019061102c565b61106191905b80821115611015576000815560010161104d565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6ea265627a7a72315820709f2ce8b31396d4c9286e2a50d258f6d61a89fe1600c5d82bf43f62fae8df1d64736f6c63430005110032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFeePool",
							"type": "address"
						}
					],
					"name": "FeePoolUpdated",
					"type": "event",
					"signature": "0x6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb6295"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0xedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5ddb9c7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[520]",
							"name": "",
							"type": "uint256[520]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "contract IFeePool",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e5a6091"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcb5147b2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x326a3cfb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x71e780f3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			],
			"source": {
				"keccak256": "0x7ace4ed1cd922b91d46d056b87405d4e38a7e547d0a54b67b996abb6be3fe3f4",
				"urls": [
					"bzz-raw://c8fd6028a11571765e8338f6073ab66759534a565e947c597765377249b0b780",
					"dweb:/ipfs/QmVrrbvr7i2NEqAi25M6QijyAg9gFYC5vkXsJLzwrM8L3Z"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrow.sol": "RewardEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrow.sol": {
						"keccak256": "0x7ace4ed1cd922b91d46d056b87405d4e38a7e547d0a54b67b996abb6be3fe3f4",
						"urls": [
							"bzz-raw://c8fd6028a11571765e8338f6073ab66759534a565e947c597765377249b0b780",
							"dweb:/ipfs/QmVrrbvr7i2NEqAi25M6QijyAg9gFYC5vkXsJLzwrM8L3Z"
						]
					}
				},
				"version": 1
			}
		},
		"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": [
						{
							"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": "60806040819052630241ebdb60e61b815273__$4162ccbd5d91574b6bbbe632a759499ba8$__9063907af6c09060849060209060048186803b15801561004457600080fd5b505af4158015610058573d6000803e3d6000fd5b505050506040513d602081101561006e57600080fd5b505160c80260045534801561008257600080fd5b50604051611096380380611096833981810160405260608110156100a557600080fd5b5080516020820151604090920151909190826001600160a01b038116610112576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610f12806101846000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637e1b823f116100de578063be801f0111610097578063d12a701d11610071578063d12a701d14610310578063d3bd4bde14610318578063dbd3a6a714610320578063df5a9fc11461032857610173565b8063be801f01146102da578063c1b7ca11146102e2578063cc5c095c1461030857610173565b80637e1b823f1461027a5780637e7961d7146102825780638da5cb5b1461029f5780639bdd7ac7146102a7578063b3b2bcc0146102af578063badef30a146102d257610173565b806346b45af71161013057806346b45af7146101f05780634ae265211461020c5780634e070f501461022957806353a47bb71461024657806379ba50971461026a5780637c0605571461027257610173565b80631627540c146101785780631de40e49146101a057806322af2bab146101ba578063251330f1146101c257806325542064146101e057806346872a23146101e8575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b0316610330565b005b6101a861038c565b60408051918252519081900360200190f35b6101a8610397565b6101ca6103a4565b6040805160ff9092168252519081900360200190f35b6101a86103a9565b6101a86103b4565b6101f86103bb565b604080519115158252519081900360200190f35b61019e6004803603602081101561022257600080fd5b50356103db565b6101a86004803603602081101561023f57600080fd5b5035610466565b61024e610527565b604080516001600160a01b039092168252519081900360200190f35b61019e610536565b6101ca6105f2565b6101a86105f7565b6101f86004803603602081101561029857600080fd5b50356105ff565b61024e61076c565b6101a861077b565b6101a8600480360360408110156102c557600080fd5b5080359060200135610781565b6101a86108bb565b6101a86108ca565b61019e600480360360208110156102f857600080fd5b50356001600160a01b03166108d0565b6101a8610983565b61024e610ae1565b6101a8610af0565b6101a8610af6565b6101a8610b4b565b610338610b52565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b662c68af0bb1400081565b680ad78ebc5ac620000081565b602881565b6658d15e1762800081565b6201518081565b600062093a80600254420311156103d4575060016103d8565b5060005b90565b6103e3610b52565b680ad78ebc5ac620000081111561042b5760405162461bcd60e51b8152600401808060200182810382526026815260200180610eb86026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b600080610500836104f4662c68af0bb1400073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156104bc57600080fd5b505af41580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b50519063ffffffff610b9d16565b9063ffffffff610bfa16565b9050600061051f6a01316ba81b802f59713b138363ffffffff610cb616565b949350505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461057f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610dfe6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60ea81565b635c7f0d8081565b60055460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d602081101561066e57600080fd5b50516001600160a01b031633146106b65760405162461bcd60e51b8152600401808060200182810382526035815260200180610e336035913960400191505060405180910390fd5b60006106c0610af6565b6003549091506106d6908263ffffffff610ce016565b600381905561071890620151809061070c906106fb9062093a8063ffffffff610d3a16565b635c7f0d809063ffffffff610ce016565b9063ffffffff610ce016565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a150600192915050565b6000546001600160a01b031681565b60045481565b60008061081f836104f46107a36658d15e17628000603463ffffffff610d9316565b73__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e757600080fd5b505af41580156107fb573d6000803e3d6000fd5b505050506040513d602081101561081157600080fd5b50519063ffffffff610ce016565b90506108b16108a473__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561086b57600080fd5b505af415801561087f573d6000803e3d6000fd5b505050506040513d602081101561089557600080fd5b5051839063ffffffff610b9d16565b859063ffffffff610cb616565b9150505b92915050565b6a01316ba81b802f59713b1381565b60025481565b6108d8610b52565b6001600160a01b038116610929576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4094b32859be9f48a78da629a4781a3dba62f3ac0c160db0d2b16fad5b7e4570916020908290030190a150565b60008061098e6103bb565b6109995790506103d8565b60006109a3610af6565b6003549091505b8115610ad95760010160288110156109e5576109d7836a01316ba81b802f59713b1363ffffffff610ce016565b925060001990910190610ad4565b60ea8111610a2a576000610a0082602763ffffffff610b9d16565b9050610a1b610a0e82610466565b859063ffffffff610ce016565b93505060001990910190610ad4565b600554604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610a6f57600080fd5b505afa158015610a83573d6000803e3d6000fd5b505050506040513d6020811015610a9957600080fd5b505190506000610aaf828663ffffffff610ce016565b9050610acb610abe8286610781565b869063ffffffff610ce016565b94506000935050505b6109aa565b509091505090565b6005546001600160a01b031681565b60035481565b600080600060025411610b1c57610b1742635c7f0d8063ffffffff610b9d16565b610b30565b600254610b3090429063ffffffff610b9d16565b9050610b458162093a8063ffffffff610d9316565b91505090565b62093a8081565b6000546001600160a01b03163314610b9b5760405162461bcd60e51b815260040180806020018281038252602f815260200180610e68602f913960400191505060405180910390fd5b565b600082821115610bf4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c4157600080fd5b505af4158015610c55573d6000803e3d6000fd5b505050506040513d6020811015610c6b57600080fd5b505190505b8215610caf576002830615610c9257610c8f818563ffffffff610cb616565b90505b610ca2848063ffffffff610cb616565b9350600283049250610c70565b9392505050565b6000670de0b6b3a7640000610cd1848463ffffffff610d3a16565b81610cd857fe5b049392505050565b600082820183811015610caf576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082610d49575060006108b5565b82820282848281610d5657fe5b0414610caf5760405162461bcd60e51b8152600401808060200182810382526021815260200180610e976021913960400191505060405180910390fd5b6000808211610de9576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610df457fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865207065726946696e616e636520636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a723158205b302b2eaf3a64b31be9e57810240592fc71d38c8703dc7715cc140dad4e87bb64736f6c63430005110032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_lastMintEvent",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_currentWeek",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRewardAmount",
							"type": "uint256"
						}
					],
					"name": "MinterRewardUpdated",
					"type": "event",
					"signature": "0x036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d30"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newAddress",
							"type": "address"
						}
					],
					"name": "PeriFinanceProxyUpdated",
					"type": "event",
					"signature": "0x4094b32859be9f48a78da629a4781a3dba62f3ac0c160db0d2b16fad5b7e4570"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "supplyMinted",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "numberOfWeeksIssued",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lastMintEvent",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "SupplyMinted",
					"type": "event",
					"signature": "0x601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECAY_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1de40e49"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "INFLATION_START_DATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e1b823f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "INITIAL_WEEKLY_SUPPLY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbadef30a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINTER_REWARD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22af2bab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46872a23"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MINT_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdf5a9fc1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUPPLY_DECAY_END",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c060557"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUPPLY_DECAY_START",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x251330f1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TERMINAL_SUPPLY_RATE_ANNUAL",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x25542064"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isMintable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46b45af7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastMintEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbe801f01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintableSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc5c095c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterReward",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9bdd7ac7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinanceProxy",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd12a701d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "supplyMinted",
							"type": "uint256"
						}
					],
					"name": "recordMintEvent",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7e7961d7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMinterReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4ae26521"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinanceProxy",
							"type": "address"
						}
					],
					"name": "setPeriFinanceProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc1b7ca11"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numOfWeeks",
							"type": "uint256"
						}
					],
					"name": "terminalInflationSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xb3b2bcc0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "counter",
							"type": "uint256"
						}
					],
					"name": "tokenDecaySupplyForWeek",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x4e070f50"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weekCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3bd4bde"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "weeksSinceLastIssuance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd3a6a7"
				}
			],
			"source": {
				"keccak256": "0x9e562dd186cc4b163c2ea28a89f34f8ab3b6008cf2f41c3308560e6acb558ff5",
				"urls": [
					"bzz-raw://ebf917b289ff53fc31fcedbb8ab003a82aebec418d691238f51f0136169e32d3",
					"dweb:/ipfs/QmdC5HYTPd8XAf25Y16qQuwwbie6tZw3LJgFL3sttwSuoh"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SupplySchedule.sol": "SupplySchedule"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SupplySchedule.sol": {
						"keccak256": "0x9e562dd186cc4b163c2ea28a89f34f8ab3b6008cf2f41c3308560e6acb558ff5",
						"urls": [
							"bzz-raw://ebf917b289ff53fc31fcedbb8ab003a82aebec418d691238f51f0136169e32d3",
							"dweb:/ipfs/QmdC5HYTPd8XAf25Y16qQuwwbie6tZw3LJgFL3sttwSuoh"
						]
					}
				},
				"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"
				}
			]
		},
		"PurgeablePynth": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$3123cc1d66d3bdb6ad1ab810b3f0e3cac5$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051620186a002600c553480156200008857600080fd5b50604051620032c3380380620032c38339818101604052610100811015620000af57600080fd5b81516020830151604080850180519151939592948301929184640100000000821115620000db57600080fd5b908301906020820185811115620000f157600080fd5b82516401000000008111828201881017156200010c57600080fd5b82525081516020918201929091019080838360005b838110156200013b57818101518382015260200162000121565b50505050905090810190601f168015620001695780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200018d57600080fd5b908301906020820185811115620001a357600080fd5b8251640100000000811182820188101715620001be57600080fd5b82525081516020918201929091019080838360005b83811015620001ed578181015183820152602001620001d3565b50505050905090810190601f1680156200021b5780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b038116620002a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000354576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b0388161790558451620003d6906006906020880190620004db565b508351620003ec906007906020870190620004db565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397881602179055505050908916905062000471576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b038416620004c2576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620005809b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200051e57805160ff19168380011785556200054e565b828001600101855582156200054e579182015b828111156200054e57825182559160200191906001019062000531565b506200055c92915062000560565b5090565b6200057d91905b808211156200055c576000815560010162000567565b90565b612d3380620005906000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c806395d89b4111610125578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e21461068a578063eb1edd6114610692578063ec5568891461069a578063f7ea7a3d146106a2578063ffff51d6146106bf5761021c565b8063d67bdd2514610616578063dbd06c851461061e578063dd62ed3e14610626578063e73cced3146106545761021c565b80639f769807116100f45780639f76980714610502578063a9059cbb14610528578063ab59307914610554578063b014c3a3146105c4578063bc67f832146105f05761021c565b806395d89b41146104a057806397107d6d146104a85780639cbdaeb6146104ce5780639dc29fac146104d65761021c565b8063313ce567116101a857806379ba50971161017757806379ba5097146104045780637e88ac161461040c578063867904b414610414578063899ffef4146104405780638da5cb5b146104985761021c565b8063313ce567146103c657806353a47bb7146103ce57806370a08231146103d657806374185360146103fc5761021c565b80631627540c116101ef5780631627540c1461032a57806318160ddd1461035057806323b872dd1461036a5780632af64bd3146103a05780632e0f2625146103a85761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c2578063131b0ae714610302575b600080fd5b6102296106e5565b604080516001600160a01b039092168252519081900360200190f35b61024d6106f9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b038135169060200135610787565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610822565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b031661084c565b6103586108a8565b60408051918252519081900360200190f35b6102ee6004803603606081101561038057600080fd5b506001600160a01b038135811691602081013590911690604001356108ae565b6102ee6108d5565b6103b06109e7565b6040805160ff9092168252519081900360200190f35b6103b06109ec565b6102296109f5565b610358600480360360208110156103ec57600080fd5b50356001600160a01b0316610a04565b610328610a89565b610328610c66565b610358610d22565b6103286004803603604081101561042a57600080fd5b506001600160a01b038135169060200135610d28565b610448610de5565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048457818101518382015260200161046c565b505050509050019250505060405180910390f35b610229610e51565b61024d610e60565b610328600480360360208110156104be57600080fd5b50356001600160a01b0316610ebb565b610229610f17565b610328600480360360408110156104ec57600080fd5b506001600160a01b038135169060200135610f26565b6103286004803603602081101561051857600080fd5b50356001600160a01b0316610fe4565b6102ee6004803603604081101561053e57600080fd5b506001600160a01b038135169060200135611013565b6103286004803603602081101561056a57600080fd5b81019060208101813564010000000081111561058557600080fd5b82018360208201111561059757600080fd5b803590602001918460208302840111640100000000831117156105b957600080fd5b5090925090506110ab565b6102ee600480360360408110156105da57600080fd5b506001600160a01b038135169060200135611371565b6103286004803603602081101561060657600080fd5b50356001600160a01b03166114ca565b6102296114f4565b610358611503565b6103586004803603604081101561063c57600080fd5b506001600160a01b0381358116916020013516611509565b6102ee6004803603606081101561066a57600080fd5b506001600160a01b03813581169160208101359091169060400135611595565b6102296116e5565b6102296116f4565b61022961170c565b610328600480360360208110156106b857600080fd5b503561171b565b610358600480360360208110156106d557600080fd5b50356001600160a01b0316611728565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b820191906000526020600020905b81548152906001019060200180831161076257829003601f168201915b505050505081565b600061079161186b565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b505050506108168185856118c2565b60019150505b92915050565b61082a6119fb565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108546119fb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b60006108b861186b565b6108c28483611a44565b6108cd848484611bbb565b949350505050565b600060606108e1610de5565b905060005b81518110156109dd5760008282815181106108fd57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b15801561096c57600080fd5b505afa158015610980573d6000803e3d6000fd5b505050506040513d602081101561099657600080fd5b50516001600160a01b03161415806109c357506000818152600a60205260409020546001600160a01b0316155b156109d457600093505050506109e4565b506001016108e6565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a5557600080fd5b505afa158015610a69573d6000803e3d6000fd5b505050506040513d6020811015610a7f57600080fd5b505190505b919050565b6060610a93610de5565b905060005b8151811015610c62576000828281518110610aaf57fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b7a578181015183820152602001610b62565b50505050905090810190601f168015610ba75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610bc557600080fd5b505afa158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a98565b5050565b6001546001600160a01b03163314610caf5760405162461bcd60e51b8152600401808060200182810382526035815260200180612b8b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600c5481565b6000610d32611d7c565b6001600160a01b0316336001600160a01b03161490506000610d52611d96565b6001600160a01b0316336001600160a01b03161490506000610d72611dad565b6001600160a01b0316336001600160a01b03161490508280610d915750815b80610d995750805b610dd45760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b610dde8585611dc1565b5050505050565b606080610df0611eeb565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b81600081518110610e3457fe5b602002602001018181525050610e4a8282611fa7565b9250505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b610ec36119fb565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610f30611d7c565b6001600160a01b0316336001600160a01b03161490506000610f50611d96565b6001600160a01b0316336001600160a01b03161490506000610f70611dad565b6001600160a01b0316336001600160a01b03161490508280610f8f5750815b80610f975750805b610fd25760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b610fdc8585612063565b505050505050565b610fec612160565b600580546001600160a01b0319166001600160a01b03831617905561101081612210565b50565b600061101d61186b565b600454611033906001600160a01b031683611a44565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561106957611062838361234f565b905061081c565b6001600160a01b03831661108d57600454611062906001600160a01b031683612063565b6004546110a4906001600160a01b031684846124b2565b9392505050565b6110b3612160565b60006110bd6126df565b90506000816001600160a01b031663654a60ac600c54600b546040518363ffffffff1660e01b81526004018080631cd554d160e21b8152506020018381526020018281526020019250505060206040518083038186803b15801561112057600080fd5b505afa158015611134573d6000803e3d6000fd5b505050506040513d602081101561114a57600080fd5b5051600854909150811015806111ce5750816001600160a01b031663af3aea86600b546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111a157600080fd5b505afa1580156111b5573d6000803e3d6000fd5b505050506040513d60208110156111cb57600080fd5b50515b6112095760405162461bcd60e51b8152600401808060200182810382526047815260200180612cb86047913960600191505060405180910390fd5b60005b83811015610dde57600085858381811061122257fe5b600554604080516370a0823160e01b8152602093840295909501356001600160a01b03908116600487018190529151919650600095921693506370a0823192602480840193919291829003018186803b15801561127e57600080fd5b505afa158015611292573d6000803e3d6000fd5b505050506040513d60208110156112a857600080fd5b505190508015611367576112ba611d96565b600b5460408051630a1e187d60e01b81526001600160a01b0386811660048301819052602483019490945260448201869052631cd554d160e21b6064830152608482019390935290519290911691630a1e187d9160a4808201926020929091908290030181600087803b15801561133057600080fd5b505af1158015611344573d6000803e3d6000fd5b505050506040513d602081101561135a57600080fd5b50611367905082826126fa565b505060010161120c565b600061137b61186b565b6000611385611d96565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156113e057600080fd5b505af11580156113f4573d6000803e3d6000fd5b505050506040513d606081101561140a57600080fd5b506040015190508281156114985760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561146957600080fd5b505afa15801561147d573d6000803e3d6000fd5b505050506040513d602081101561149357600080fd5b505190505b8084116114a557836114a7565b805b6004549094506114c1906001600160a01b031686866124b2565b95945050505050565b6114d261283b565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561156257600080fd5b505afa158015611576573d6000803e3d6000fd5b505050506040513d602081101561158c57600080fd5b50519392505050565b600061159f61186b565b60006115a9611d96565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561160a57600080fd5b505af115801561161e573d6000803e3d6000fd5b505050506040513d606081101561163457600080fd5b506040015190508281156116be57600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561168f57600080fd5b505afa1580156116a3573d6000803e3d6000fd5b505050506040513d60208110156116b957600080fd5b505190505b808410156116cc57836116ce565b805b93506116db868686611bbb565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611723612160565b600855565b600080611733611d96565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561179257600080fd5b505afa1580156117a6573d6000803e3d6000fd5b505050506040513d60608110156117bc57600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b15801561181157600080fd5b505afa158015611825573d6000803e3d6000fd5b505050506040513d602081101561183b57600080fd5b505190508082111561185257600092505050610a84565b611862818363ffffffff6128af16565b92505050610a84565b6002546001600160a01b0316331480159061189157506003546001600160a01b03163314155b80156118a857506004546001600160a01b03163314155b156118c057600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c518239602101905060405180910390206119158861290c565b61191e8861290c565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561198d578181015183820152602001611975565b50505050905090810190601f1680156119ba5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156119de57600080fd5b505af11580156119f2573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146118c05760405162461bcd60e51b815260040180806020018281038252602f815260200180612c22602f913960400191505060405180910390fd5b611a4c611d96565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611aab57600080fd5b505afa158015611abf573d6000803e3d6000fd5b505050506040513d6020811015611ad557600080fd5b505115611b135760405162461bcd60e51b8152600401808060200182810382526025815260200180612c726025913960400191505060405180910390fd5b80611b1d83611728565b1015611b5a5760405162461bcd60e51b815260040180806020018281038252602f815260200180612bc0602f913960400191505060405180910390fd5b611b62612918565b6001600160a01b03166342a28e21600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611ba757600080fd5b505afa158015610fdc573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b158015611c1957600080fd5b505afa158015611c2d573d6000803e3d6000fd5b505050506040513d6020811015611c4357600080fd5b505114611d71576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c928892611cf0918891879163dd62ed3e91604480820192602092909190829003018186803b158015611cb857600080fd5b505afa158015611ccc573d6000803e3d6000fd5b505050506040513d6020811015611ce257600080fd5b50519063ffffffff6128af16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611d5857600080fd5b505af1158015611d6c573d6000803e3d6000fd5b505050505b6108cd8484846124b2565b6000611d9166119959541bdbdb60ca1b61292e565b905090565b6000611d916822bc31b430b733b2b960b91b61292e565b6000611d916524b9b9bab2b960d11b61292e565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611e5791869186916370a0823191602480820192602092909190829003018186803b158015611e1f57600080fd5b505afa158015611e33573d6000803e3d6000fd5b505050506040513d6020811015611e4957600080fd5b50519063ffffffff612a0b16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611ea657600080fd5b505af1158015611eba573d6000803e3d6000fd5b5050600854611ed2925090508263ffffffff612a0b16565b600855611ee160008383612a65565b610c628282612ab8565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110611f2b57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611f5157fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611f7457fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611f9857fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611fd7578160200160208202803883390190505b50905060005b835181101561201957838181518110611ff257fe5b602002602001015182828151811061200657fe5b6020908102919091010152600101611fdd565b5060005b825181101561205c5782818151811061203257fe5b602002602001015182828651018151811061204957fe5b602090810291909101015260010161201d565b5092915050565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f69186916120c391879186916370a08231916024808301926020929190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561211257600080fd5b505af1158015612126573d6000803e3d6000fd5b505060085461213e925090508363ffffffff6128af16565b60085561214d83600084612a65565b6121578383612b21565b50600192915050565b6002546001600160a01b0316331480159061218657506003546001600160a01b03163314155b801561219d57506004546001600160a01b03163314155b156121b557600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146118c0576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b838110156122ea5781810151838201526020016122d2565b50505050905090810190601f1680156123175780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561233b57600080fd5b505af1158015610dde573d6000803e3d6000fd5b600080600b54631cd554d160e21b14156123835750600454829061237d906001600160a01b031685836124b2565b50612443565b61238b611d96565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631cd554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b15801561241457600080fd5b505af1158015612428573d6000803e3d6000fd5b505050506040513d602081101561243e57600080fd5b505190505b61244b611d7c565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561249057600080fd5b505af11580156124a4573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906124d557506001600160a01b0383163014155b80156124ef57506002546001600160a01b03848116911614155b612540576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161259e91879186916370a0823191602480820192602092909190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156125ed57600080fd5b505af1158015612601573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f69250869161266391879186916370a0823191602480820192602092909190829003018186803b158015611e1f57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156126b257600080fd5b505af11580156126c6573d6000803e3d6000fd5b505050506126d5848484612a65565b5060019392505050565b6000611d916c45786368616e6765526174657360981b61292e565b60028054604080516020808201869052825180830390910181528183018084527f50757267656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156127d65781810151838201526020016127be565b50505050905090810190601f1680156128035780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561282757600080fd5b505af1158015610fdc573d6000803e3d6000fd5b6002546001600160a01b031633148061285e57506003546001600160a01b031633145b6118c0576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b600082821115612906576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611d916b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161205c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129d05781810151838201526020016129b8565b50505050905090810190601f1680156129fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000828201838110156110a4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c978239602101905060405180910390206119158861290c565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c565b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127638761290c56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e743235362943616e6e6f7420707572676520617320746f74616c20737570706c792069732061626f7665207468726573686f6c6420616e642072617465206973206e6f742066726f7a656e2ea265627a7a72315820f6088d5407655381a495325cc1f9dde82bbcbbfe87f20e9ab2f2f7dd592d577a64736f6c63430005100032",
			"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": "transferablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f4dab2f"
				}
			],
			"source": {
				"keccak256": "0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18",
				"urls": [
					"bzz-raw://a3a65b9a0dc1ddd5caa5cc2806cdfb18837eff885da1b06737e6fb33d14b5202",
					"dweb:/ipfs/QmZX5jJ9t3tNHzvXCtcmqKvKbRZwaKopZZXPUbKnDf2EHW"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PurgeablePynth.sol": "PurgeablePynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PurgeablePynth.sol": {
						"keccak256": "0x8eba20fb0acca6ab8f2186ec8180cc072e41d70fef7589a27738e968b3351e18",
						"urls": [
							"bzz-raw://a3a65b9a0dc1ddd5caa5cc2806cdfb18837eff885da1b06737e6fb33d14b5202",
							"dweb:/ipfs/QmZX5jJ9t3tNHzvXCtcmqKvKbRZwaKopZZXPUbKnDf2EHW"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158207e71fbc4c3609b3e0049ec9572b9d913945d5d56831f8f21c8238e99d35acfb264736f6c63430005110032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				}
			],
			"source": {
				"keccak256": "0xcbd1766eaccc6624bccabe642981c1c99272046dd7115f9a282444988eed4b20",
				"urls": [
					"bzz-raw://af01962342af798f6d614c372722fdbe81a335f55c8dd561061eae3deb2bef52",
					"dweb:/ipfs/QmPjcUBfQZM8YwzUTWvSMCPftAhMb2g5zZxNitvKAGP3Da"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyERC20.sol": "ProxyERC20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ProxyERC20.sol": {
						"keccak256": "0xcbd1766eaccc6624bccabe642981c1c99272046dd7115f9a282444988eed4b20",
						"urls": [
							"bzz-raw://af01962342af798f6d614c372722fdbe81a335f55c8dd561061eae3deb2bef52",
							"dweb:/ipfs/QmPjcUBfQZM8YwzUTWvSMCPftAhMb2g5zZxNitvKAGP3Da"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "608060405234801561001057600080fd5b5060405161129b38038061129b833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b031991821617909155600380549486169482169490941790935560048054928516928416929092179091556005805491909316911617905550611136806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063c1b7ca1111610071578063c1b7ca11146102a7578063c9e9cc4d146102cd578063d12a701d146102d5578063d8297e44146102dd578063e54c16711461030357610116565b8063817a6951146102725780638da5cb5b1461028f578063a430be6c14610297578063bf7e214f1461029f57610116565b806359974e38116100e957806359974e38146101c15780635de39934146101f257806360eb3ff21461021857806379ba5097146102445780637a9e5e4b1461024c57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019d575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61017a6004803603602081101561017357600080fd5b5035610398565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101a56103cd565b604080516001600160a01b039092168252519081900360200190f35b6101de600480360360208110156101d757600080fd5b50356103dc565b604080519115158252519081900360200190f35b61015b6004803603602081101561020857600080fd5b50356001600160a01b0316610a2f565b6101de6004803603604081101561022e57600080fd5b506001600160a01b038135169060200135610a59565b61015b610bfc565b61015b6004803603602081101561026257600080fd5b50356001600160a01b0316610cb8565b61015b6004803603602081101561028857600080fd5b5035610ce2565b6101a5610dcd565b6101a5610ddc565b6101a5610deb565b61015b600480360360208110156102bd57600080fd5b50356001600160a01b0316610dfa565b6101a5610e24565b6101a5610e33565b61015b600480360360208110156102f357600080fd5b50356001600160a01b0316610e42565b6101de6004803603606081101561031957600080fd5b508035906001600160a01b036020820135169060400135610e6c565b6006545b90565b610344610f38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103a557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b600080821161042a576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610489576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b03166104e6576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b0316610543576040805162461bcd60e51b815260206004820152601b60248201527f5065726946696e616e636550726f7879206973206e6f74207365740000000000604482015290519081900360640190fd5b6005546001600160a01b03166105a0576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505110156106535760405162461bcd60e51b815260040180806020018281038252604681526020018061108d6046913960600191505060405180910390fd5b8160005b6006548110156109065760006001600160a01b03166006828154811061067957fe5b60009182526020909120600290910201546001600160a01b03161415806106bf5750600681815481106106a857fe5b906000526020600020906002020160010154600014155b156108fe576106f5600682815481106106d457fe5b90600052602060002090600202016001015483610f8390919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061071c57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061074757fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d60208110156107d257600080fd5b50506006805460609190839081106107e657fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b17905260068054919350908490811061084457fe5b60009182526020918290206002909102015460405184516001600160a01b0390921692859282918401908083835b602083106108915780518252601f199092019160209182019101610872565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b50505050505b600101610657565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b505050506040513d602081101561098b57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b1580156109da57600080fd5b505af11580156109ee573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610a37610f38565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a63610f38565b6001600160a01b038316610abe576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610b09576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610b11610fe0565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610c455760405162461bcd60e51b81526004018080602001828103825260358152602001806110586035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610cc0610f38565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610cea610f38565b60065460001901811115610d3b576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610db55760068160010181548110610d5b57fe5b906000526020600020906002020160068281548110610d7657fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610d3d565b506006805490610dc9906000198301610ff7565b5050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6002546001600160a01b031681565b610e02610f38565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031681565b6003546001600160a01b031681565b610e4a610f38565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e76610f38565b60065460001901841115610ec7576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b8260068581548110610ed557fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610f1857fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b03163314610f815760405162461bcd60e51b815260040180806020018281038252602f8152602001806110d3602f913960400191505060405180910390fd5b565b600082821115610fda576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b815481835581811115611023576002028160020283600052602060002091820191016110239190611028565b505050565b61033991905b808211156110535780546001600160a01b03191681556000600182015560020161102e565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158208bf74a74da9fd3ae928f417552ede0fd0b9eb0087c6327374e97160242096cce64736f6c63430005110032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_periFinanceProxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardDistributionAdded",
					"type": "event",
					"signature": "0x08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardsDistributed",
					"type": "event",
					"signature": "0x6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be442"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "addRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x60eb3ff2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "authority",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbf7e214f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "distributeRewards",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59974e38"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "distributions",
					"outputs": [
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4487d3df"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "distributionsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x060ca250"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "destination",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "editRewardDistribution",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe54c1671"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePoolProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9e9cc4d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinanceProxy",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd12a701d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "removeRewardDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x817a6951"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardEscrow",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa430be6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_authority",
							"type": "address"
						}
					],
					"name": "setAuthority",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7a9e5e4b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_feePoolProxy",
							"type": "address"
						}
					],
					"name": "setFeePoolProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8297e44"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_periFinanceProxy",
							"type": "address"
						}
					],
					"name": "setPeriFinanceProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc1b7ca11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardEscrow",
							"type": "address"
						}
					],
					"name": "setRewardEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5de39934"
				}
			],
			"source": {
				"keccak256": "0x69d2f0ff83be3ce5c5fa02b03f5d4d8e9b581188185c2530cfc3ada37e1c1cd5",
				"urls": [
					"bzz-raw://2ae4f8508819de953cb33bafcfacbfdc2979558c1afaa91551e3318189f2574b",
					"dweb:/ipfs/QmXkMSL8LbxDMNPiURx9JhCByPy47Tpfaox3Gpwojh6Arz"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardsDistribution.sol": "RewardsDistribution"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardsDistribution.sol": {
						"keccak256": "0x69d2f0ff83be3ce5c5fa02b03f5d4d8e9b581188185c2530cfc3ada37e1c1cd5",
						"urls": [
							"bzz-raw://2ae4f8508819de953cb33bafcfacbfdc2979558c1afaa91551e3318189f2574b",
							"dweb:/ipfs/QmXkMSL8LbxDMNPiURx9JhCByPy47Tpfaox3Gpwojh6Arz"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820729b06016b022b8392f6680c1cbb3a50b12d651c04bbbca4701b8f123b3cd61064736f6c63430005100032",
			"abi": [],
			"source": {
				"keccak256": "0x76224213382f40a482e895bc6455be852154e6b78e3afb6b5ddd4bf50d47b5a9",
				"urls": [
					"bzz-raw://ced2d855d7abbbc9c45462645e72152b0c1fc79de08a2ada734d81c4e31e6418",
					"dweb:/ipfs/QmdMKHZbGK5D7MZjS5Wv2q5ctRcPcLcBDC4CnUK8jr5QK4"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Math.sol": "Math"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Math.sol": {
						"keccak256": "0x76224213382f40a482e895bc6455be852154e6b78e3afb6b5ddd4bf50d47b5a9",
						"urls": [
							"bzz-raw://ced2d855d7abbbc9c45462645e72152b0c1fc79de08a2ada734d81c4e31e6418",
							"dweb:/ipfs/QmdMKHZbGK5D7MZjS5Wv2q5ctRcPcLcBDC4CnUK8jr5QK4"
						]
					}
				},
				"version": 1
			}
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba5097146101a257806382b4c11c146101aa5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f57806353a47bb71461012c578063766f781514610134575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f3610466565b6100d46004803603602081101561014a57600080fd5b810190602081018135600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460208302840111600160201b8311171561019757600080fd5b509092509050610475565b6100d46104ff565b6100f3600480360360208110156101c057600080fd5b50356105bb565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6001546001600160a01b031681565b60005b818110156104fa5782828281811061048c57fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104d657600080fd5b505af11580156104ea573d6000803e3d6000fd5b5050600190920191506104789050565b505050565b6001546001600160a01b031633146105485760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b03168061064c576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166357ad4663846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d60208110156106ba57600080fd5b50519392505050565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582084dc7f212099b3e049216318ce54a81646b5580430f9030f4aa4e59ffb34d31064736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "AddressImported",
					"type": "event",
					"signature": "0xefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa91"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "areAddressesImported",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f42102f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						}
					],
					"name": "getAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f8a721"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "key",
							"type": "bytes32"
						}
					],
					"name": "getPynth",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x82b4c11c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "names",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "importAddresses",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab0b8f77"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract MixinResolver[]",
							"name": "destinations",
							"type": "address[]"
						}
					],
					"name": "rebuildCaches",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x766f7815"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "repository",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x187f7935"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "reason",
							"type": "string"
						}
					],
					"name": "requireAndGetAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdacb2d01"
				}
			],
			"source": {
				"keccak256": "0xa6ebe5c4a042517f82a7c604f2eb12a9ecb74a6a4bfbf529dcdba801da240349",
				"urls": [
					"bzz-raw://0786e28da01446b7f4aa29fb461b626756da0c5cb0837617e164b1362f31d375",
					"dweb:/ipfs/QmPPUAgMH7JQtVTBcRcT6Cox8Ys7KmPte2b9E1sTBnNrRo"
				]
			},
			"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": "0xa6ebe5c4a042517f82a7c604f2eb12a9ecb74a6a4bfbf529dcdba801da240349",
						"urls": [
							"bzz-raw://0786e28da01446b7f4aa29fb461b626756da0c5cb0837617e164b1362f31d375",
							"dweb:/ipfs/QmPPUAgMH7JQtVTBcRcT6Cox8Ys7KmPte2b9E1sTBnNrRo"
						]
					}
				},
				"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": "isPynthRateInvalid",
					"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": "setLastExchangeRateForPynth",
					"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": "suspendPynthWithInvalidRate",
					"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": "60806040523480156200001157600080fd5b506040516200482638038062004826833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050506146fa806200012c6000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c806372cb051f11610146578063a5fdc5de116100c3578063bff4fdfc11610087578063bff4fdfc1461080c578063c897713214610832578063d37c4d8b14610858578063dbf6334014610884578063dd3d2b2e1461088c578063fd864ccf146108b257610253565b8063a5fdc5de1461073d578063a63c4df414610763578063ae3bbbbb146107b2578063b06e8c65146107d8578063b410a0341461080457610253565b8063849cf5881161010a578063849cf588146106ab578063899ffef4146106d15780638da5cb5b146106d95780639a5154b4146106e1578063a311c7c21461071757610253565b806372cb051f14610651578063741853601461065957806379ba5097146106615780637b1001b714610669578063835e119c1461068e57610253565b806332608039116101d45780634e99bda9116101985780634e99bda91461058657806353a47bb71461058e578063614d08f8146105965780636bed04151461059e5780637168d2c2146105e357610253565b806332608039146103e15780633b6afe40146103fe57806344ec6b62146104bc57806347a9b6db146104f2578063497d704a1461056057610253565b80631627540c1161021b5780631627540c1461034357806316b2213f14610369578063242df9e11461038f5780632af64bd3146103975780632b3f41aa146103b357610253565b8063042e06881461025857806304f3bcec1461028657806305b3c1c9146102aa5780630b887dae146102e25780631137aedf146102ff575b600080fd5b6102846004803603604081101561026e57600080fd5b506001600160a01b0381351690602001356108e0565b005b61028e6108f8565b604080516001600160a01b039092168252519081900360200190f35b6102d0600480360360208110156102c057600080fd5b50356001600160a01b0316610907565b60408051918252519081900360200190f35b610284600480360360208110156102f857600080fd5b503561091b565b6103256004803603602081101561031557600080fd5b50356001600160a01b03166109ff565b60408051938452602084019290925282820152519081900360600190f35b6102846004803603602081101561035957600080fd5b50356001600160a01b0316610a1b565b6102d06004803603602081101561037f57600080fd5b50356001600160a01b0316610a77565b6102d0610a89565b61039f610a99565b604080519115158252519081900360200190f35b610284600480360360408110156103c957600080fd5b506001600160a01b0381358116916020013516610ba3565b61028e600480360360208110156103f757600080fd5b5035610bc2565b61046c6004803603602081101561041457600080fd5b810190602081018135600160201b81111561042e57600080fd5b82018360208201111561044057600080fd5b803590602001918460208302840111600160201b8311171561046157600080fd5b509092509050610bdd565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104a8578181015183820152602001610490565b505050509050019250505060405180910390f35b610284600480360360608110156104d257600080fd5b506001600160a01b03813581169160208101359091169060400135610c8b565b6102846004803603602081101561050857600080fd5b810190602081018135600160201b81111561052257600080fd5b82018360208201111561053457600080fd5b803590602001918460208302840111600160201b8311171561055557600080fd5b509092509050610cae565b6102846004803603602081101561057657600080fd5b50356001600160a01b0316610d5e565b61039f610d76565b61028e610edc565b6102d0610eeb565b6105ca600480360360408110156105b457600080fd5b506001600160a01b038135169060200135610ef8565b6040805192835290151560208301528051918290030190f35b610284600480360360208110156105f957600080fd5b810190602081018135600160201b81111561061357600080fd5b82018360208201111561062557600080fd5b803590602001918460208302840111600160201b8311171561064657600080fd5b509092509050610f5c565b61046c611107565b610284611113565b6102846112d7565b6102d06004803603604081101561067f57600080fd5b50803590602001351515611393565b61028e600480360360208110156106a457600080fd5b503561139f565b610284600480360360208110156106c157600080fd5b50356001600160a01b03166113c6565b61046c611444565b61028e6116aa565b610284600480360360608110156106f757600080fd5b506001600160a01b038135811691602081013590911690604001356116b9565b6102d06004803603602081101561072d57600080fd5b50356001600160a01b03166116d7565b6102d06004803603602081101561075357600080fd5b50356001600160a01b03166116e9565b6107996004803603606081101561077957600080fd5b506001600160a01b038135811691602081013591604090910135166116f4565b6040805192835260208301919091528051918290030190f35b6105ca600480360360208110156107c857600080fd5b50356001600160a01b0316611d31565b610284600480360360408110156107ee57600080fd5b506001600160a01b038135169060200135611d47565b6102d0611d5b565b61039f6004803603602081101561082257600080fd5b50356001600160a01b0316611d65565b6102846004803603602081101561084857600080fd5b50356001600160a01b0316611d70565b6102d06004803603604081101561086e57600080fd5b506001600160a01b038135169060200135611d85565b6102d0611e2f565b6102d0600480360360208110156108a257600080fd5b50356001600160a01b0316611e35565b610284600480360360408110156108c857600080fd5b506001600160a01b0381358116916020013516611e40565b6108e8611e5f565b6108f482826000611eb8565b5050565b6002546001600160a01b031681565b600080610913836120d2565b509392505050565b61092361218d565b600061092d6121d6565b9050806001600160a01b031663d685743a8360006040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561097e57600080fd5b505af1158015610992573d6000803e3d6000fd5b5050604080516304bd11e560e01b81526001600482015290516001600160a01b03851693506304bd11e59250602480830192600092919082900301818387803b1580156109de57600080fd5b505af11580156109f2573d6000803e3d6000fd5b505050506108f4826121ed565b6000806000610a0d846124a8565b509196909550909350915050565b610a2361218d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60066020526000908152604090205481565b6000610a93612510565b90505b90565b60006060610aa5611444565b905060005b8151811015610b9a576000828281518110610ac157fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610b2957600080fd5b505afa158015610b3d573d6000803e3d6000fd5b505050506040513d6020811015610b5357600080fd5b50516001600160a01b0316141580610b8057506000818152600360205260409020546001600160a01b0316155b15610b915760009350505050610a96565b50600101610aaa565b50600191505090565b610bab611e5f565b610bb582826125ba565b6108f48260006001612692565b6005602052600090815260409020546001600160a01b031681565b60408051828152602080840282010190915260609082908290828015610c0d578160200160208202803883390190505b50905060005b82811015610c805760056000878784818110610c2b57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610c6057fe5b6001600160a01b0390921660209283029190910190910152600101610c13565b509150505b92915050565b610c93611e5f565b610c9d838361298c565b610ca983826000611eb8565b505050565b610cb661218d565b8060005b81811015610cee57610ce6848483818110610cd157fe5b905060200201356001600160a01b03166129e7565b600101610cba565b50610cf76121d6565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b158015610d4157600080fd5b505af1158015610d55573d6000803e3d6000fd5b50505050505050565b610d66611e5f565b610d738160006001612692565b50565b6000610d80612bc4565b6001600160a01b031663c8e5bbd5610d986001612bdf565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015610de7578181015183820152602001610dcf565b505050509050019250505060006040518083038186803b158015610e0a57600080fd5b505afa158015610e1e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610e4757600080fd5b8101908080516040519392919084600160201b821115610e6657600080fd5b908301906020820185811115610e7b57600080fd5b82518660208202830111600160201b82111715610e9757600080fd5b82525081516020918201928201910280838360005b83811015610ec4578181015183820152602001610eac565b50505050919091016040525060200151949350505050565b6001546001600160a01b031681565b6524b9b9bab2b960d11b81565b6000806000610f0d85620a69cb60eb1b612cbb565b935090915060009050610f2e610f21612ea5565b839063ffffffff612f1b16565b9050848110610f405760009350610f53565b610f50858263ffffffff612f3716565b93505b50509250929050565b610f6461218d565b806000610f6f6121d6565b9050606082604051908082528060200260200182016040528015610f9d578160200160208202803883390190505b509050816001600160a01b03166317b38db48686846040518463ffffffff1660e01b815260040180806020018060200183810383528686828181526020019250602002808284376000838201819052601f909101601f1916909201858103845286518152865160209182019382890193509102908190849084905b83811015611030578181015183820152602001611018565b5050505090500195505050505050600060405180830381600087803b15801561105857600080fd5b505af115801561106c573d6000803e3d6000fd5b5050604080516304bd11e560e01b81526001600482015290516001600160a01b03861693506304bd11e59250602480830192600092919082900301818387803b1580156110b857600080fd5b505af11580156110cc573d6000803e3d6000fd5b506000925050505b838110156110ff576110f78686838181106110eb57fe5b905060200201356121ed565b6001016110d4565b505050505050565b6060610a936000612bdf565b606061111d611444565b905060005b81518110156108f457600082828151811061113957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156111ef5781810151838201526020016111d7565b50505050905090810190601f16801561121c5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561123a57600080fd5b505afa15801561124e573d6000803e3d6000fd5b505050506040513d602081101561126457600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611122565b6001546001600160a01b031633146113205760405162461bcd60e51b81526004018080602001828103825260358152602001806146066035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006109138383612f94565b600481815481106113ac57fe5b6000918252602090912001546001600160a01b0316905081565b6113ce61218d565b6113d7816129e7565b6113df6121d6565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b15801561142957600080fd5b505af115801561143d573d6000803e3d6000fd5b5050505050565b60608061144f613339565b60408051600d8082526101c0820190925291925060609190602082016101a080388339019050509050680a6f2dce8d0cae8d2f60bb1b8160008151811061149257fe5b6020026020010181815250506822bc31b430b733b2b960b91b816001815181106114b857fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106114e257fe5b6020026020010181815250506d53796e746865746978537461746560901b8160038151811061150d57fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061153157fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b8160058151811061155f57fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b8160068151811061158b57fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1cd554d1606a1b816007815181106115bb57fe5b6020026020010181815250506b526577617264457363726f7760a01b816008815181106115e457fe5b6020026020010181815250506e53796e746865746978457363726f7760881b8160098151811061161057fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b81600a8151811061163957fe5b6020026020010181815250506844656274436163686560b81b81600b8151811061165f57fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600c8151811061168d57fe5b6020026020010181815250506116a3828261338a565b9250505090565b6000546001600160a01b031681565b6116c1611e5f565b6116cb83836125ba565b610ca983826000612692565b60006116e28261343f565b5092915050565b6000610c8582613499565b6000806116ff611e5f565b6117076135fe565b6001600160a01b031663d6f32e0684631cd554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561176b57600080fd5b505afa15801561177f573d6000803e3d6000fd5b505050506040513d602081101561179557600080fd5b5051156117e9576040805162461bcd60e51b815260206004820152601860248201527f73555344206e6565647320746f20626520736574746c65640000000000000000604482015290519081900360640190fd5b6117f1613615565b6001600160a01b031663c49e80a6866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561184657600080fd5b505afa15801561185a573d6000803e3d6000fd5b505050506040513d602081101561187057600080fd5b50516118c3576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e74206e6f74206f70656e20666f72206c69717569646174696f6e604482015290519081900360640190fd5b631cd554d160e21b600052600560209081527f74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823f54604080516370a0823160e01b81526001600160a01b0387811660048301529151889492909316926370a0823192602480840193919291829003018186803b15801561194157600080fd5b505afa158015611955573d6000803e3d6000fd5b505050506040513d602081101561196b57600080fd5b505110156119b2576040805162461bcd60e51b815260206004820152600f60248201526e139bdd08195b9bdd59da081cd554d1608a1b604482015290519081900360640190fd5b60006119bc613615565b6001600160a01b03166323f5589a6040518163ffffffff1660e01b815260040160206040518083038186803b1580156119f457600080fd5b505afa158015611a08573d6000803e3d6000fd5b505050506040513d6020811015611a1e57600080fd5b5051905060008080611a3789631cd554d160e21b612cbb565b925092509250600080611a48612bc4565b6001600160a01b0316630c71cd23620a69cb60eb1b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015611a9057600080fd5b505afa158015611aa4573d6000803e3d6000fd5b505050506040513d6040811015611aba57600080fd5b5080516020909101519092509050611ad98380611ad45750815b61362f565b6000611ae48c613499565b90506000611af0613615565b6001600160a01b0316630ac045d588611b098588613682565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611b4457600080fd5b505afa158015611b58573d6000803e3d6000fd5b505050506040513d6020811015611b6e57600080fd5b505190508b8110611b7f578b611b81565b805b98506000611b8f8a86613694565b9050611c21611c148a73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611bdc57600080fd5b505af4158015611bf0573d6000803e3d6000fd5b505050506040513d6020811015611c0657600080fd5b50519063ffffffff6136a616565b829063ffffffff61370016565b9a50828b1115611c9257829a50611c8f611c89611c7c8b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611bdc57600080fd5b859063ffffffff61372a16565b86613682565b99505b611c9f8e8d8c8b8b613754565b50818a1415611d2057611cb0613615565b6001600160a01b031663974e9e7f8f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015611d0757600080fd5b505af1158015611d1b573d6000803e3d6000fd5b505050505b505050505050505050935093915050565b600080611d3d8361343f565b915091505b915091565b611d4f611e5f565b6108f482826000612692565b6000610a93612ea5565b6000610c858261390b565b611d78611e5f565b610d738160006001611eb8565b600080611d90613936565b60408051631167f01160e31b81526001600160a01b038781166004830152825193945060009390851692638b3f80889260248082019391829003018186803b158015611ddb57600080fd5b505afa158015611def573d6000803e3d6000fd5b505050506040513d6040811015611e0557600080fd5b5051905080611e1957600092505050610c85565b611e238585612cbb565b50909695505050505050565b60045490565b6000610c8582613952565b611e48611e5f565b611e52828261298c565b6108f48260006001611eb8565b611e67613a36565b6001600160a01b0316336001600160a01b031614611eb65760405162461bcd60e51b815260040180806020018281038252603b81526020018061463b603b913960400191505060405180910390fd5b565b600080600080611ec7876124a8565b9350935093509350611ed88161362f565b84611f2a5783861115611f25576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b611f2e565b8395505b611f3a87878585613a4d565b611f4387613e22565b631cd554d160e21b600090815260056020527f74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823f546040805163219e412d60e21b81526001600160a01b038b81166004830152602482018b90529151919092169263867904b4926044808201939182900301818387803b158015611fc557600080fd5b505af1158015611fd9573d6000803e3d6000fd5b50505050611fe56121d6565b6001600160a01b031663d685743a631cd554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561203f57600080fd5b505af4158015612053573d6000803e3d6000fd5b505050506040513d602081101561206957600080fd5b5051604080516001600160e01b031960e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b1580156120b157600080fd5b505af11580156120c5573d6000803e3d6000fd5b50505050610d5587613ed4565b6000806000806120e0612bc4565b6001600160a01b0316630c71cd23620a69cb60eb1b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561212857600080fd5b505afa15801561213c573d6000803e3d6000fd5b505050506040513d604081101561215257600080fd5b5080516020909101519092509050600061217461216e87613499565b84613682565b9050612181611c14612ea5565b94509092505050915091565b6000546001600160a01b03163314611eb65760405162461bcd60e51b815260040180806020018281038252602f815260200180614676602f913960400191505060405180910390fd5b6000610a936844656274436163686560b81b613fcc565b6000818152600560205260409020546001600160a01b03168061224e576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561228757600080fd5b505afa15801561229b573d6000803e3d6000fd5b505050506040513d60208110156122b157600080fd5b5051156122fb576040805162461bcd60e51b815260206004820152601360248201527253796e746820737570706c792065786973747360681b604482015290519081900360640190fd5b631cd554d160e21b82141561234d576040805162461bcd60e51b8152602060048201526013602482015272086c2dcdcdee840e4cadadeecca40e6f2dce8d606b1b604482015290519081900360640190fd5b60005b60045481101561243457816001600160a01b03166004828154811061237157fe5b6000918252602090912001546001600160a01b0316141561242c576004818154811061239957fe5b600091825260209091200180546001600160a01b03191690556004805460001981019081106123c457fe5b600091825260209091200154600480546001600160a01b0390921691839081106123ea57fe5b600091825260209091200180546001600160a01b0319166001600160a01b039290921691909117905560048054906124269060001983016145c8565b50612434565b600101612350565b506001600160a01b0381166000818152600660209081526040808320839055858352600582529182902080546001600160a01b031916905581518581529081019290925280517f6166f5c475cc1cd535c6cdf14a6d5edb811e34117031fc2863392a136eb655d09281900390910190a15050565b6000806000806124bf85631cd554d160e21b612cbb565b919450925090506000806124d2876120d2565b9150915081955082806124e25750805b92508585106124f45760009550612507565b612504868663ffffffff612f3716565b95505b50509193509193565b600061251a6140a9565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561258957600080fd5b505afa15801561259d573d6000803e3d6000fd5b505050506040513d60208110156125b357600080fd5b5051905090565b6125c26140c6565b60408051633e9f85d160e11b81526001600160a01b038581166004830152848116602483015291519290911691637d3f0ba291604480820192602092909190829003018186803b15801561261557600080fd5b505afa158015612629573d6000803e3d6000fd5b505050506040513d602081101561263f57600080fd5b50516108f4576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b80612843576126a08361390b565b6126f1576040805162461bcd60e51b815260206004820152601e60248201527f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000604482015290519081900360640190fd5b6000806126fc6135fe565b6001600160a01b0316631b16802c86631cd554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561276257600080fd5b505af1158015612776573d6000803e3d6000fd5b505050506040513d606081101561278c57600080fd5b50602081015160409091015190925090508015612840576127ab6135fe565b60408051630984d1f960e31b81526001600160a01b038881166004830152631cd554d160e21b6024830152604482018890526064820186905291519290911691634c268fc891608480820192602092909190829003018186803b15801561281157600080fd5b505afa158015612825573d6000803e3d6000fd5b505050506040513d602081101561283b57600080fd5b505193505b50505b600080600061285986631cd554d160e21b612cbb565b92509250925060008061286b886120d2565b9150915061287f8380611ad457508161362f565b600085116128c9576040805162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b604482015290519081900360640190fd5b85156128e2576128df858363ffffffff612f3716565b96505b60006128f1898a8a8989613754565b905082612904878363ffffffff612f3716565b1161298157612911613615565b6001600160a01b031663974e9e7f8a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561296857600080fd5b505af115801561297c573d6000803e3d6000fd5b505050505b505050505050505050565b6129946140c6565b60408051630487261760e01b81526001600160a01b038581166004830152848116602483015291519290911691630487261791604480820192602092909190829003018186803b15801561261557600080fd5b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015612a2257600080fd5b505afa158015612a36573d6000803e3d6000fd5b505050506040513d6020811015612a4c57600080fd5b50516000818152600560205260409020549091506001600160a01b031615612aaa576040805162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015290519081900360640190fd5b6001600160a01b03821660009081526006602052604090205415612b15576040805162461bcd60e51b815260206004820152601c60248201527f53796e7468206164647265737320616c72656164792065786973747300000000604482015290519081900360640190fd5b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0384166001600160a01b03199182168117909255600083815260056020908152604080832080549094168517909355838252600681529082902084905581518481529081019290925280517f0a2b6ebf143b3e9fcd67e17748ad315174746100c27228468b2c98c302c628849281900390910190a15050565b6000610a936c45786368616e6765526174657360981b613fcc565b60608082612bee576000612bf1565b60015b60ff1660048054905001604051908082528060200260200182016040528015612c24578160200160208202803883390190505b50905060005b600454811015612c8b576006600060048381548110612c4557fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548251839083908110612c7857fe5b6020908102919091010152600101612c2a565b508215610c85576004548151620a69cb60eb1b9183918110612ca957fe5b60200260200101818152505092915050565b600080600080612cc9613936565b9050600080826001600160a01b0316638b3f8088896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050604080518083038186803b158015612d2357600080fd5b505afa158015612d37573d6000803e3d6000fd5b505050506040513d6040811015612d4d57600080fd5b5080516020909101519092509050612d66876001612f94565b909550935081612d7d575060009450612e9e915050565b6000612e7a83612e6e866001600160a01b03166308d95cd5866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612dca57600080fd5b505afa158015612dde573d6000803e3d6000fd5b505050506040513d6020811015612df457600080fd5b505160408051632318bb8960e11b815290516001600160a01b038a16916346317712916004808301926020929190829003018186803b158015612e3657600080fd5b505afa158015612e4a573d6000803e3d6000fd5b505050506040513d6020811015612e6057600080fd5b50519063ffffffff6140e516565b9063ffffffff6140fe16565b90506000612e8b82612e6e89614117565b9050612e968161412d565b975050505050505b9250925092565b6000612eaf6140a9565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561258957600080fd5b6000612f308383670de0b6b3a764000061414f565b9392505050565b600082821115612f8e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000806000806000612fa46121d6565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015612fdc57600080fd5b505afa158015612ff0573d6000803e3d6000fd5b505050506040513d608081101561300657600080fd5b5080516040820151606090920151909450909250905081806130255750805b93506000613031612bc4565b90508661327557600080613043614187565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561307a57600080fd5b505afa15801561308e573d6000803e3d6000fd5b505050506040513d60408110156130a457600080fd5b50805160209091015190925090506130c2868363ffffffff6136a616565b955086806130cd5750805b965061314b6130da6141a6565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561311257600080fd5b505afa158015613126573d6000803e3d6000fd5b505050506040513d602081101561313c57600080fd5b5051879063ffffffff6136a616565b9550600080846001600160a01b0316630c71cd23630e68aa8960e31b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561319a57600080fd5b505afa1580156131ae573d6000803e3d6000fd5b505050506040513d60408110156131c457600080fd5b50805160209091015190925090506000613250836131e06141c7565b6001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561321857600080fd5b505afa15801561322c573d6000803e3d6000fd5b505050506040513d602081101561324257600080fd5b50519063ffffffff6141e416565b9050613262898263ffffffff6136a616565b9850898061326d5750815b995050505050505b631cd554d160e21b8814156132905750919350613332915050565b600080826001600160a01b0316630c71cd238b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156132d657600080fd5b505afa1580156132ea573d6000803e3d6000fd5b505050506040513d604081101561330057600080fd5b508051602090910151909250905061331e868363ffffffff612f1b16565b87806133275750815b975097505050505050505b9250929050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061337b57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156133ba578160200160208202803883390190505b50905060005b83518110156133fc578381815181106133d557fe5b60200260200101518282815181106133e957fe5b60209081029190910101526001016133c0565b5060005b82518110156116e25782818151811061341557fe5b602002602001015182828651018151811061342c57fe5b6020908102919091010152600101613400565b600080600061344d84613499565b905060008061346286620a69cb60eb1b612cbb565b9250509150826000141561347e57600094509250611d42915050565b61348e828463ffffffff612f1b16565b945092505050915091565b6000806134a4613a36565b6001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156134f957600080fd5b505afa15801561350d573d6000803e3d6000fd5b505050506040513d602081101561352357600080fd5b5051905060006135316141f9565b6001600160a01b0316146135db576135d861354a6141f9565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561359f57600080fd5b505afa1580156135b3573d6000803e3d6000fd5b505050506040513d60208110156135c957600080fd5b5051829063ffffffff6136a616565b90505b60006135e5614216565b6001600160a01b031614610c8557612f3061354a614216565b6000610a936822bc31b430b733b2b960b91b613fcc565b6000610a936b4c69717569646174696f6e7360a01b613fcc565b8015610d73576040805162461bcd60e51b815260206004820152601e60248201527f412073796e7468206f7220534e58207261746520697320696e76616c69640000604482015290519081900360640190fd5b6000612f30838363ffffffff6141e416565b6000612f30838363ffffffff612f1b16565b600082820183811015612f30576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000670de0b6b3a764000061371b848463ffffffff61423016565b8161372257fe5b049392505050565b6000612f308261374885670de0b6b3a764000063ffffffff61423016565b9063ffffffff61428916565b60008383106137635783613765565b825b9050613773868285856142f3565b631cd554d160e21b600090815260056020527f74c62d09fbc50aefae0794a9a068f786a692826fbdfe63828ec23a875865823f5460408051632770a7eb60e21b81526001600160a01b0389811660048301526024820186905291519190921692639dc29fac926044808201939182900301818387803b1580156137f557600080fd5b505af1158015613809573d6000803e3d6000fd5b505050506138156121d6565b6001600160a01b031663d685743a631cd554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561386f57600080fd5b505af4158015613883573d6000803e3d6000fd5b505050506040513d602081101561389957600080fd5b5051604080516001600160e01b031960e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b1580156138e157600080fd5b505af11580156138f5573d6000803e3d6000fd5b5050505061390286613ed4565b95945050505050565b600061392d613918612510565b61392184613952565b9063ffffffff6136a616565b42101592915050565b6000610a936d53796e746865746978537461746560901b613fcc565b600061395c6140a9565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613a0457600080fd5b505afa158015613a18573d6000803e3d6000fd5b505050506040513d6020811015613a2e57600080fd5b505192915050565b6000610a93680a6f2dce8d0cae8d2f60bb1b613fcc565b6000613a57613936565b90506000613a6b858463ffffffff6136a616565b90506000613a7f868363ffffffff6140e516565b90506000613b038273__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015613acb57600080fd5b505af4158015613adf573d6000803e3d6000fd5b505050506040513d6020811015613af557600080fd5b50519063ffffffff612f3716565b90508515613b3257613b2b83613b1f898963ffffffff6136a616565b9063ffffffff6140e516565b9150613b86565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b8152600401600060405180830381600087803b158015613b6d57600080fd5b505af1158015613b81573d6000803e3d6000fd5b505050505b836001600160a01b031663a764eb4589846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613be657600080fd5b505af1158015613bfa573d6000803e3d6000fd5b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015613c3957600080fd5b505afa158015613c4d573d6000803e3d6000fd5b505050506040513d6020811015613c6357600080fd5b50511115613d4257836001600160a01b0316633d31e97b613cef83876001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b158015613cb757600080fd5b505afa158015613ccb573d6000803e3d6000fd5b505050506040513d6020811015613ce157600080fd5b50519063ffffffff6140fe16565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613d2557600080fd5b505af1158015613d39573d6000803e3d6000fd5b50505050613e18565b836001600160a01b0316633d31e97b73__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015613d9557600080fd5b505af4158015613da9573d6000803e3d6000fd5b505050506040513d6020811015613dbf57600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b158015613dff57600080fd5b505af1158015613e13573d6000803e3d6000fd5b505050505b5050505050505050565b613e2a6140a9565b604080516d1b185cdd125cdcdd59515d995b9d60921b6020808301919091526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526524b9b9bab2b960d11b6058830152607882015242609882015290516001600160a01b039290921691631d5b277f9160b88082019260009290919082900301818387803b15801561142957600080fd5b600080613edf613936565b60408051631167f01160e31b81526001600160a01b0386811660048301528251931692638b3f808892602480840193919291829003018186803b158015613f2557600080fd5b505afa158015613f39573d6000803e3d6000fd5b505050506040513d6040811015613f4f57600080fd5b5080516020909101519092509050613f65614588565b6001600160a01b031663866452748484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015610d4157600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816116e25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561406e578181015183820152602001614056565b50505050905090810190601f16801561409b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610a936e466c657869626c6553746f7261676560881b613fcc565b6000610a937044656c6567617465417070726f76616c7360781b613fcc565b6000612f3083836b033b2e3c9fd0803ce800000061414f565b6000612f3083836b033b2e3c9fd0803ce800000061459d565b6000610c8582633b9aca0063ffffffff61423016565b60006305f5e10082046005600a82061061414557600a015b600a900492915050565b6000806141698461374887600a870263ffffffff61423016565b90506005600a825b061061417b57600a015b600a9004949350505050565b6000610a937021b7b63630ba32b930b626b0b730b3b2b960791b613fcc565b6000610a9372115d1a195c90dbdb1b185d195c985b1cd554d1606a1b613fcc565b6000610a936e115d1a195c90dbdb1b185d195c985b608a1b613fcc565b6000612f308383670de0b6b3a764000061459d565b6000610a936e53796e746865746978457363726f7760881b613fcc565b6000610a936b526577617264457363726f7760a01b613fcc565b60008261423f57506000610c85565b8282028284828161424c57fe5b0414612f305760405162461bcd60e51b81526004018080602001828103825260218152602001806146a56021913960400191505060405180910390fd5b60008082116142df576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816142ea57fe5b04949350505050565b60006142fd613936565b90506000614311838663ffffffff612f3716565b90506000811561437b57600061432d878463ffffffff6140e516565b90506143778173__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015611bdc57600080fd5b9150505b84861415614442576040805163a764eb4560e01b81526001600160a01b03898116600483015260006024830181905292519086169263a764eb45926044808201939182900301818387803b1580156143d257600080fd5b505af11580156143e6573d6000803e3d6000fd5b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561442557600080fd5b505af1158015614439573d6000803e3d6000fd5b505050506144e5565b6000614454868863ffffffff612f3716565b90506000614468828563ffffffff6140e516565b9050846001600160a01b031663a764eb458a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156144ca57600080fd5b505af11580156144de573d6000803e3d6000fd5b5050505050505b826001600160a01b0316633d31e97b61453183866001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b158015613cb757600080fd5b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561456757600080fd5b505af115801561457b573d6000803e3d6000fd5b5050505050505050505050565b6000610a9366119959541bdbdb60ca1b613fcc565b600080600a83046145b4868663ffffffff61423016565b816145bb57fe5b0490506005600a82614171565b815481835581811115610ca957600083815260209020610ca9918101908301610a9691905b8082111561460157600081556001016145ed565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704973737565723a204f6e6c79207468652073796e74686574697820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a7231582075e2e60fb0792b54d507265b3ae23a47d67dd1f0641d741b7b498a14838c9d4864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "PynthAdded",
					"type": "event",
					"signature": "0xe82414a85733a2b51473d0ab66a73f2af64f044531104dc04ca01db8c9c5f5cf"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "PynthRemoved",
					"type": "event",
					"signature": "0x1f2a4e9868db18b9d103e44efacb2690000d9d78bd600bf5f24757e13f0f891b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth",
							"name": "pynth",
							"type": "address"
						}
					],
					"name": "addPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x156b4ff6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "pynthsToAdd",
							"type": "address[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5543dadc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf5adc4f5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd99947de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9df95f9f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095314a8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe71c452f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnPynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x56c25f82"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "burnPynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4669106a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnPynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ae78fdb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatioAndAnyRatesInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae3bbbbb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "getPynths",
					"outputs": [
						{
							"internalType": "contract IPynth[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1db63a33"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf0617e5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						}
					],
					"name": "issueMaxPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x30662ab9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba921223"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdaa01015"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "lastIssueEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd3d2b2e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa63c4df4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b09280a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c29b0af"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6017c458"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57ad4663"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9a2f3ad"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeEtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf023e8db"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferablePeriFinanceAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8d542eb3"
				}
			],
			"source": {
				"keccak256": "0x0df620a435ec41cafde34c49b7de45034cb5ad61218f262f26a7f6c7dd358184",
				"urls": [
					"bzz-raw://47b4fa0f68f62ac5ec3ff7f5ed73779ac78010e2ce917ed1af3bec670ef360b3",
					"dweb:/ipfs/QmR2td7mMMK7rehMNoBpUMwk6P8ftuMvjamWUbLJ3z7WpL"
				]
			},
			"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": "0x0df620a435ec41cafde34c49b7de45034cb5ad61218f262f26a7f6c7dd358184",
						"urls": [
							"bzz-raw://47b4fa0f68f62ac5ec3ff7f5ed73779ac78010e2ce917ed1af3bec670ef360b3",
							"dweb:/ipfs/QmR2td7mMMK7rehMNoBpUMwk6P8ftuMvjamWUbLJ3z7WpL"
						]
					}
				},
				"version": 1
			}
		},
		"MultiCollateralPynth": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620030d4380380620030d483398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b03811662000232576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002dd576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035f90600690602088019062000464565b5083516200037590600790602087019062000464565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003fa576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b0384166200044b576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620005099b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004a757805160ff1916838001178555620004d7565b82800160010185558215620004d7579182015b82811115620004d7578251825591602001919060010190620004ba565b50620004e5929150620004e9565b5090565b6200050691905b80821115620004e55760008155600101620004f0565b90565b612bbb80620005196000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c806395d89b411161011a578063d67bdd25116100ad578063e90dd9e21161007c578063e90dd9e2146105fc578063eb1edd6114610604578063ec5568891461060c578063f7ea7a3d14610614578063ffff51d61461063157610206565b8063d67bdd2514610588578063dbd06c8514610590578063dd62ed3e14610598578063e73cced3146105c657610206565b80639f769807116100e95780639f769807146104e4578063a9059cbb1461050a578063b014c3a314610536578063bc67f8321461056257610206565b806395d89b411461048257806397107d6d1461048a5780639cbdaeb6146104b05780639dc29fac146104b857610206565b80632e0f26251161019d578063741853601161016c57806374185360146103e657806379ba5097146103ee578063867904b4146103f6578063899ffef4146104225780638da5cb5b1461047a57610206565b80632e0f262514610392578063313ce567146103b057806353a47bb7146103b857806370a08231146103c057610206565b80631627540c116101d95780631627540c1461031457806318160ddd1461033a57806323b872dd146103545780632af64bd31461038a57610206565b806304f3bcec1461020b57806306fdde031461022f578063095ea7b3146102ac578063131b0ae7146102ec575b600080fd5b610213610657565b604080516001600160a01b039092168252519081900360200190f35b61023761066b565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610271578181015183820152602001610259565b50505050905090810190601f16801561029e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360408110156102c257600080fd5b506001600160a01b0381351690602001356106f9565b604080519115158252519081900360200190f35b6103126004803603602081101561030257600080fd5b50356001600160a01b0316610794565b005b6103126004803603602081101561032a57600080fd5b50356001600160a01b03166107be565b61034261081a565b60408051918252519081900360200190f35b6102d86004803603606081101561036a57600080fd5b506001600160a01b03813581169160208101359091169060400135610820565b6102d8610847565b61039a610959565b6040805160ff9092168252519081900360200190f35b61039a61095e565b610213610967565b610342600480360360208110156103d657600080fd5b50356001600160a01b0316610976565b6103126109fb565b610312610bd8565b6103126004803603604081101561040c57600080fd5b506001600160a01b038135169060200135610c94565b61042a610e39565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561046657818101518382015260200161044e565b505050509050019250505060405180910390f35b610213610f05565b610237610f14565b610312600480360360208110156104a057600080fd5b50356001600160a01b0316610f6f565b610213610fcb565b610312600480360360408110156104ce57600080fd5b506001600160a01b038135169060200135610fda565b610312600480360360208110156104fa57600080fd5b50356001600160a01b0316611180565b6102d86004803603604081101561052057600080fd5b506001600160a01b0381351690602001356111af565b6102d86004803603604081101561054c57600080fd5b506001600160a01b038135169060200135611247565b6103126004803603602081101561057857600080fd5b50356001600160a01b03166113a0565b6102136113ca565b6103426113d9565b610342600480360360408110156105ae57600080fd5b506001600160a01b03813581169160200135166113df565b6102d8600480360360608110156105dc57600080fd5b506001600160a01b0381358116916020810135909116906040013561146b565b6102136115bb565b6102136115ca565b6102136115e2565b6103126004803603602081101561062a57600080fd5b50356115f1565b6103426004803603602081101561064757600080fd5b50356001600160a01b03166115fe565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b820191906000526020600020905b8154815290600101906020018083116106d457829003601f168201915b505050505081565b6000610703611741565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b15801561076557600080fd5b505af1158015610779573d6000803e3d6000fd5b50505050610788818585611798565b60019150505b92915050565b61079c6118d1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6107c66118d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b600061082a611741565b610834848361191a565b61083f848484611a99565b949350505050565b60006060610853610e39565b905060005b815181101561094f57600082828151811061086f57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b50516001600160a01b031614158061093557506000818152600a60205260409020546001600160a01b0316155b156109465760009350505050610956565b50600101610858565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d60208110156109f157600080fd5b505190505b919050565b6060610a05610e39565b905060005b8151811015610bd4576000828281518110610a2157fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610aec578181015183820152602001610ad4565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d6020811015610b6157600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a0a565b5050565b6001546001600160a01b03163314610c215760405162461bcd60e51b8152600401808060200182810382526035815260200180612a496035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610c9e611c5a565b6001600160a01b0316336001600160a01b03161490506000610cbe611c74565b6001600160a01b0316336001600160a01b03161490506000610cde611c8b565b6001600160a01b0316336001600160a01b03161490506000610cfe611c9f565b6001600160a01b0316336001600160a01b03161490506000610d1e611cbc565b6001600160a01b0316336001600160a01b03161490506000610d3e611cdd565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d9357600080fd5b505afa158015610da7573d6000803e3d6000fd5b505050506040513d6020811015610dbd57600080fd5b505190508580610dca5750845b80610dd25750835b80610dda5750825b80610de25750815b80610dea5750805b610e255760405162461bcd60e51b8152600401808060200182810382526044815260200180612aad6044913960600191505060405180910390fd5b610e2f8888611cfc565b5050505050505050565b606080610e44611e26565b60408051600380825260808201909252919250606091906020820183803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610e8c57fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600181518110610eb857fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1cd554d1606a1b81600281518110610ee857fe5b602002602001018181525050610efe8282611ee2565b9250505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b610f776118d1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000610fe4611c5a565b6001600160a01b0316336001600160a01b03161490506000611004611c74565b6001600160a01b0316336001600160a01b03161490506000611024611c8b565b6001600160a01b0316336001600160a01b03161490506000611044611c9f565b6001600160a01b0316336001600160a01b03161490506000611064611cbc565b6001600160a01b0316336001600160a01b03161490506000611084611cdd565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110d957600080fd5b505afa1580156110ed573d6000803e3d6000fd5b505050506040513d602081101561110357600080fd5b5051905085806111105750845b806111185750835b806111205750825b806111285750815b806111305750805b61116b5760405162461bcd60e51b8152600401808060200182810382526044815260200180612aad6044913960600191505060405180910390fd5b6111758888611f9e565b505050505050505050565b61118861209b565b600580546001600160a01b0319166001600160a01b0383161790556111ac8161214b565b50565b60006111b9611741565b6004546111cf906001600160a01b03168361191a565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef1415611205576111fe8383612291565b905061078e565b6001600160a01b038316611229576004546111fe906001600160a01b031683611f9e565b600454611240906001600160a01b031684846123f4565b9392505050565b6000611251611741565b600061125b611c74565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156112b657600080fd5b505af11580156112ca573d6000803e3d6000fd5b505050506040513d60608110156112e057600080fd5b5060400151905082811561136e5760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561133f57600080fd5b505afa158015611353573d6000803e3d6000fd5b505050506040513d602081101561136957600080fd5b505190505b80841161137b578361137d565b805b600454909450611397906001600160a01b031686866123f4565b95945050505050565b6113a8612621565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561143857600080fd5b505afa15801561144c573d6000803e3d6000fd5b505050506040513d602081101561146257600080fd5b50519392505050565b6000611475611741565b600061147f611c74565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b1580156114e057600080fd5b505af11580156114f4573d6000803e3d6000fd5b505050506040513d606081101561150a57600080fd5b5060400151905082811561159457600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561156557600080fd5b505afa158015611579573d6000803e3d6000fd5b505050506040513d602081101561158f57600080fd5b505190505b808410156115a257836115a4565b805b93506115b1868686611a99565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b6115f961209b565b600855565b600080611609611c74565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561166857600080fd5b505afa15801561167c573d6000803e3d6000fd5b505050506040513d606081101561169257600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b1580156116e757600080fd5b505afa1580156116fb573d6000803e3d6000fd5b505050506040513d602081101561171157600080fd5b5051905080821115611728576000925050506109f6565b611738818363ffffffff61269516565b925050506109f6565b6002546001600160a01b0316331480159061176757506003546001600160a01b03163314155b801561177e57506004546001600160a01b03163314155b1561179657600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612b208239602101905060405180910390206117eb886126f2565b6117f4886126f2565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561186357818101518382015260200161184b565b50505050905090810190601f1680156118905780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156118b457600080fd5b505af11580156118c8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146117965760405162461bcd60e51b815260040180806020018281038252602f815260200180612af1602f913960400191505060405180910390fd5b611922611c74565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561198157600080fd5b505afa158015611995573d6000803e3d6000fd5b505050506040513d60208110156119ab57600080fd5b5051156119e95760405162461bcd60e51b8152600401808060200182810382526025815260200180612b416025913960400191505060405180910390fd5b806119f3836115fe565b1015611a305760405162461bcd60e51b815260040180806020018281038252602f815260200180612a7e602f913960400191505060405180910390fd5b611a386126fe565b6001600160a01b03166342a28e21600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611a7d57600080fd5b505afa158015611a91573d6000803e3d6000fd5b505050505050565b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b158015611af757600080fd5b505afa158015611b0b573d6000803e3d6000fd5b505050506040513d6020811015611b2157600080fd5b505114611c4f576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c928892611bce918891879163dd62ed3e91604480820192602092909190829003018186803b158015611b9657600080fd5b505afa158015611baa573d6000803e3d6000fd5b505050506040513d6020811015611bc057600080fd5b50519063ffffffff61269516565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611c3657600080fd5b505af1158015611c4a573d6000803e3d6000fd5b505050505b61083f8484846123f4565b6000611c6f66119959541bdbdb60ca1b612714565b905090565b6000611c6f6822bc31b430b733b2b960b91b612714565b6000611c6f6524b9b9bab2b960d11b612714565b6000611c6f6e115d1a195c90dbdb1b185d195c985b608a1b612714565b6000611c6f72115d1a195c90dbdb1b185d195c985b1cd554d1606a1b612714565b6000611c6f7021b7b63630ba32b930b626b0b730b3b2b960791b612714565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611d9291869186916370a0823191602480820192602092909190829003018186803b158015611d5a57600080fd5b505afa158015611d6e573d6000803e3d6000fd5b505050506040513d6020811015611d8457600080fd5b50519063ffffffff6127f116565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611de157600080fd5b505af1158015611df5573d6000803e3d6000fd5b5050600854611e0d925090508263ffffffff6127f116565b600855611e1c6000838361284b565b610bd4828261289e565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110611e6657fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611e8c57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611eaf57fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611ed357fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611f12578160200160208202803883390190505b50905060005b8351811015611f5457838181518110611f2d57fe5b6020026020010151828281518110611f4157fe5b6020908102919091010152600101611f18565b5060005b8251811015611f9757828181518110611f6d57fe5b6020026020010151828286510181518110611f8457fe5b6020908102919091010152600101611f58565b5092915050565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611ffe91879186916370a08231916024808301926020929190829003018186803b158015611b9657600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561204d57600080fd5b505af1158015612061573d6000803e3d6000fd5b5050600854612079925090508363ffffffff61269516565b6008556120888360008461284b565b61209283836129df565b50600192915050565b6002546001600160a01b031633148015906120c157506003546001600160a01b03163314155b80156120d857506004546001600160a01b03163314155b156120f057600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614611796576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b8381101561222557818101518382015260200161220d565b50505050905090810190601f1680156122525780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561227657600080fd5b505af115801561228a573d6000803e3d6000fd5b5050505050565b600080600b54631cd554d160e21b14156122c5575060045482906122bf906001600160a01b031685836123f4565b50612385565b6122cd611c74565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631cd554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b15801561235657600080fd5b505af115801561236a573d6000803e3d6000fd5b505050506040513d602081101561238057600080fd5b505190505b61238d611c5a565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156123d257600080fd5b505af11580156123e6573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061241757506001600160a01b0383163014155b801561243157506002546001600160a01b03848116911614155b612482576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f69187916124e091879186916370a0823191602480820192602092909190829003018186803b158015611b9657600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561252f57600080fd5b505af1158015612543573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916125a591879186916370a0823191602480820192602092909190829003018186803b158015611d5a57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156125f457600080fd5b505af1158015612608573d6000803e3d6000fd5b5050505061261784848461284b565b5060019392505050565b6002546001600160a01b031633148061264457506003546001600160a01b031633145b611796576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6000828211156126ec576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6001600160a01b031690565b6000611c6f6b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611f975760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127b657818101518382015260200161279e565b50505050905090810190601f1680156127e35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082820183811015611240576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612b668239602101905060405180910390206117eb886126f2565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612907876126f2565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561297a578181015183820152602001612962565b50505050905090810190601f1680156129a75780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156129cb57600080fd5b505af1158015611a91573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612907876126f256fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e6765722c20497373756572206f72204d756c7469436f6c6c61746572616c20636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a72315820d87d23fed45ca6812824405f423d61133548cc71a55c2920b5ebb52bd477a5b264736f6c63430005100032",
			"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": "transferablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f4dab2f"
				}
			],
			"source": {
				"keccak256": "0x14571b22f2a34a60434c0954c2dd071b0bf65aec24a5869d2b5017ab8b7dd9a8",
				"urls": [
					"bzz-raw://52676db76b88cc62effbf2d3992f801dd03ae7c29f1268ced1e681e29983654d",
					"dweb:/ipfs/QmZ1GSKK9NPoG8Q57kJxWW6YZEEbFqokzneuReHqadBxr9"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"MultiCollateralPynth.sol": "MultiCollateralPynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"MultiCollateralPynth.sol": {
						"keccak256": "0x14571b22f2a34a60434c0954c2dd071b0bf65aec24a5869d2b5017ab8b7dd9a8",
						"urls": [
							"bzz-raw://52676db76b88cc62effbf2d3992f801dd03ae7c29f1268ced1e681e29983654d",
							"dweb:/ipfs/QmZ1GSKK9NPoG8Q57kJxWW6YZEEbFqokzneuReHqadBxr9"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateral": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$09231a05ed34b6851f1018822ecfa0dcb8$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051607d0260085560408051630241ebdb60e61b8152905160649173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600955620001266301e133806009546200059360201b620023101790919060201c565b600a556103e873__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600b5573__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b505161138802600c5560408051630241ebdb60e61b8152905173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c0916004808301926020929190829003018186803b1580156200027457600080fd5b505af415801562000289573d6000803e3d6000fd5b505050506040513d6020811015620002a057600080fd5b5051600d556032600e55600f805460ff191690556040805160a0810182526b53797374656d53746174757360a01b8152680a6f2dce8d0e68aa8960bb1b60208201526814de5b9d1a1cd554d160ba1b918101919091526411195c1bdd60da1b60608201526c45786368616e6765526174657360981b60808201526200032a906016906005620005ff565b503480156200033857600080fd5b50604051620037e5380380620037e5833981810160405260408110156200035e57600080fd5b50805160209091015160408051610300810191829052829160169060189082845b8154815260200190600101908083116200037f57508793505050506001600160a01b038116620003f6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620004a1576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60016004556000546001600160a01b0316620004f8576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620005605760008282601881106200051457fe5b602002015114620005515760078282601881106200052e57fe5b602090810291909101518254600181018455600093845291909220015562000557565b62000560565b600101620004fb565b5050600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a000160105562000662565b6000808211620005ea576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620005f657fe5b04949350505050565b826018810192821562000630579160200282015b828111156200063057825182559160200191906001019062000613565b506200063e92915062000642565b5090565b6200065f91905b808211156200063e576000815560010162000649565b90565b61317380620006726000396000f3fe6080604052600436106102885760003560e01c80638c4638691161015a578063c6c9d828116100c1578063e3c1e58c1161007a578063e3c1e58c146109f8578063e40108ed14610a0d578063e5829d2014610a22578063ee5f3f5c14610a4c578063eea8f5da14610a61578063f53dfb8414610a7657610288565b8063c6c9d8281461092c578063cf09b4ae14610956578063d05951a01461096b578063dcaf9c4414610995578063e220a811146109aa578063e3235c91146109e357610288565b8063a2e1734211610113578063a2e17342146107cd578063a76cdfa5146107fd578063aa754a2a14610827578063ab49848c1461089d578063b410a034146108eb578063bb8c6d6c1461090057610288565b80638c463869146106a75780638da5cb5b146106e05780638fdc8f3b146106f557806391b4ded91461071f5780639f7d568814610734578063a1c515861461074957610288565b80634f069f66116101fe578063631e1444116101b7578063631e14441461058d5780636b231938146105c057806379ba5097146105c85780637c3a00fd146105dd5780637cc1f867146105f257806389c937de1461066e57610288565b80634f069f66146104a757806350e3b2e7146104d157806353a47bb7146104fb5780635c975abb146105105780635d1a2229146105395780635f84f3021461056357610288565b806323aa7f0f1161025057806323aa7f0f1461037957806327cff2e51461038e5780632f2bf15b146103c7578063361e20861461044a5780633be99e6f1461045f5780634189bb491461049257610288565b806304f3bcec1461028d578063089f7fb4146102be5780631474b279146103035780631627540c1461031857806316c38b3c1461034d575b600080fd5b34801561029957600080fd5b506102a2610aa0565b604080516001600160a01b039092168252519081900360200190f35b3480156102ca57600080fd5b506102f1600480360360208110156102e157600080fd5b50356001600160a01b0316610aaf565b60408051918252519081900360200190f35b34801561030f57600080fd5b506102f1610ac1565b34801561032457600080fd5b5061034b6004803603602081101561033b57600080fd5b50356001600160a01b0316610ac7565b005b34801561035957600080fd5b5061034b6004803603602081101561037057600080fd5b50351515610b64565b34801561038557600080fd5b506102f1610c1f565b34801561039a57600080fd5b506102f1600480360360408110156103b157600080fd5b506001600160a01b038135169060200135610c25565b3480156103d357600080fd5b506103fa600480360360208110156103ea57600080fd5b50356001600160a01b0316610c4e565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043657818101518382015260200161041e565b505050509050019250505060405180910390f35b34801561045657600080fd5b506102f1610e0e565b34801561046b57600080fd5b5061034b6004803603602081101561048257600080fd5b50356001600160a01b0316610e14565b34801561049e57600080fd5b506102f1610f82565b3480156104b357600080fd5b5061034b600480360360208110156104ca57600080fd5b5035610f88565b3480156104dd57600080fd5b5061034b600480360360208110156104f457600080fd5b503561100c565b34801561050757600080fd5b506102a2611090565b34801561051c57600080fd5b5061052561109f565b604080519115158252519081900360200190f35b34801561054557600080fd5b5061034b6004803603602081101561055c57600080fd5b50356110a8565b34801561056f57600080fd5b5061034b6004803603602081101561058657600080fd5b503561116e565b34801561059957600080fd5b50610525600480360360208110156105b057600080fd5b50356001600160a01b03166112fb565b6102f1611416565b3480156105d457600080fd5b5061034b6118ab565b3480156105e957600080fd5b506102f1611967565b3480156105fe57600080fd5b5061060761196d565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b34801561067a57600080fd5b506102f16004803603604081101561069157600080fd5b506001600160a01b0381351690602001356119d8565b3480156106b357600080fd5b506102f1600480360360408110156106ca57600080fd5b506001600160a01b038135169060200135611a12565b3480156106ec57600080fd5b506102a2611a31565b34801561070157600080fd5b506102f16004803603602081101561071857600080fd5b5035611a40565b34801561072b57600080fd5b506102f1611a5a565b34801561074057600080fd5b506102f1611a60565b34801561075557600080fd5b506107826004803603604081101561076c57600080fd5b506001600160a01b038135169060200135611a66565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156107d957600080fd5b506102f1600480360360408110156107f057600080fd5b5080359060200135611aed565b34801561080957600080fd5b5061034b6004803603602081101561082057600080fd5b5035611b1b565b34801561083357600080fd5b506108606004803603604081101561084a57600080fd5b506001600160a01b038135169060200135611b9f565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b3480156108a957600080fd5b506108b2611bfa565b604051808261030080838360005b838110156108d85781810151838201526020016108c0565b5050505090500191505060405180910390f35b3480156108f757600080fd5b506102f1611c40565b34801561090c57600080fd5b5061034b6004803603602081101561092357600080fd5b50351515611c65565b34801561093857600080fd5b506102f16004803603602081101561094f57600080fd5b5035611d50565b34801561096257600080fd5b506102f1611d6e565b34801561097757600080fd5b5061034b6004803603602081101561098e57600080fd5b5035611d74565b3480156109a157600080fd5b506102f1611eae565b3480156109b657600080fd5b5061034b600480360360408110156109cd57600080fd5b506001600160a01b038135169060200135611eb4565b3480156109ef57600080fd5b506102f161208c565b348015610a0457600080fd5b50610525612091565b348015610a1957600080fd5b506102f161209a565b348015610a2e57600080fd5b5061034b60048036036020811015610a4557600080fd5b50356120a0565b348015610a5857600080fd5b506102f16121b5565b348015610a6d57600080fd5b506102f16121bb565b348015610a8257600080fd5b506102f160048036036020811015610a9957600080fd5b50356121c1565b6005546001600160a01b031681565b60156020526000908152604090205481565b600e5481565b6000546001600160a01b03163314610b105760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000546001600160a01b03163314610bad5760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b60035460ff1615158115151415610bc357610c1c565b6003805460ff1916821515179081905560ff1615610be057426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60125481565b6000610c2f612ea5565b610c3984846121e4565b9050610c44816122f5565b9150505b92915050565b6001600160a01b03811660009081526014602090815260408083208054825181850281018501909352808352606094859484015b82821015610cf35760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101610c82565b50505050905060608151604051908082528060200260200182016040528015610d26578160200160208202803883390190505b5090506000805b8351811015610d9457838181518110610d4257fe5b602002602001015160a0015160001415610d8c57838181518110610d6257fe5b602002602001015160800151838381518110610d7a57fe5b60209081029190910101526001909101905b600101610d2d565b50606081604051908082528060200260200182016040528015610dc1578160200160208202803883390190505b50905060005b82811015610e0257838181518110610ddb57fe5b6020026020010151828281518110610def57fe5b6020908102919091010152600101610dc7565b5093505050505b919050565b600b5481565b6000546001600160a01b03163314610e5d5760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b600580546001600160a01b0319166001600160a01b03831617905560005b600754811015610f7e57600060078281548110610e9457fe5b600091825260209182902001546005546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b158015610f1e57600080fd5b505afa158015610f32573d6000803e3d6000fd5b505050506040513d6020811015610f4857600080fd5b505160009182526006602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101610e7b565b5050565b60135481565b6000546001600160a01b03163314610fd15760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b600c8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b6000546001600160a01b031633146110555760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b600d8190556040805182815290517f8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d5288399181900360200190a150565b6001546001600160a01b031681565b60035460ff1681565b6000546001600160a01b031633146110f15760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b6103e88082106111325760405162461bcd60e51b8152600401808060200182810382526025815260200180612f396025913960400191505060405180910390fd5b600e8290556040805183815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a15050565b6000546001600160a01b031633146111b75760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b6301e1338081116111f95760405162461bcd60e51b81526004018080602001828103825260378152602001806131086037913960400191505060405180910390fd5b73__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561123d57600080fd5b505af4158015611251573d6000803e3d6000fd5b505050506040513d602081101561126757600080fd5b50518111156112a75760405162461bcd60e51b815260040180806020018281038252602581526020018061306d6025913960400191505060405180910390fd5b60098190556112c0816301e1338063ffffffff61231016565b600a5560095460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b6005546000906001600160a01b0383811691161461131b57506000610e09565b60005b60075481101561140d5760006007828154811061133757fe5b6000918252602080832090910154808352600682526040928390205460055484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b15801561139d57600080fd5b505afa1580156113b1573d6000803e3d6000fd5b505050506040513d60208110156113c757600080fd5b50516001600160a01b03161415806113f457506000818152600660205260409020546001600160a01b0316155b1561140457600092505050610e09565b5060010161131e565b50600192915050565b60035460009060ff161561145b5760405162461bcd60e51b815260040180806020018281038252603c815260200180613031603c913960400191505060405180910390fd5b600480546001019081905561146e61237a565b6001600160a01b0316629919c06040518163ffffffff1660e01b81526004018080630e68aa8960e31b815250602001905060206040518083038186803b1580156114b757600080fd5b505afa1580156114cb573d6000803e3d6000fd5b505050506040513d60208110156114e157600080fd5b505115611535576040805162461bcd60e51b815260206004820152601d60248201527f426c6f636b656420617320734554482072617465206973207374616c65000000604482015290519081900360640190fd5b61153d6123cb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561157557600080fd5b505afa158015611589573d6000803e3d6000fd5b50505050600d543410156115ce5760405162461bcd60e51b815260040180806020018281038252603e815260200180612ff3603e913960400191505060405180910390fd5b600f5460ff1615611626576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600e5433600090815260146020526040902054106116755760405162461bcd60e51b8152600401808060200182810382526022815260200180612f5e6022913960400191505060405180910390fd5b600061168034611a40565b9050600c5461169a8260115461241b90919063ffffffff16565b106116d65760405162461bcd60e51b8152600401808060200182810382526023815260200180612f806023913960400191505060405180910390fd5b6116de612475565b92506116e8612ea5565b506040805160c081018252338082523460208084019182528385018681524260608601908152608086018a8152600060a0880181815296815260148552978820805460018082018355918a5294909820875160069095020180546001600160a01b0319166001600160a01b039095169490941784559351968301969096555160028201559351600385015551600484015551600590920191909155601154611790908361241b565b60115561179b6124ad565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156117fa57600080fd5b505af115801561180e573d6000803e3d6000fd5b5050604080518781526020810186905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505060045481146118a7576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b6001546001600160a01b031633146118f45760405162461bcd60e51b8152600401808060200182810382526035815260200180612f046035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b60085460008080808080808080808080611985611c40565b9b506009549a50600a549950600b549850600c549750600d5496506011549550601254945060135493504792506010549150600f60009054906101000a900460ff169050909192939495969798999a9b9c565b60006119e2612ea5565b6119ec84846121e4565b905060006119f9826124fa565b9050611a09826040015182611aed565b95945050505050565b6000611a1c612ea5565b611a2684846121e4565b9050610c44816124fa565b6000546001600160a01b031681565b6000610c48611a4d611c40565b839063ffffffff61253d16565b60025481565b60105481565b600080600080600080600080611a7a612ea5565b611a848b8b6121e4565b8051602082015160408301516060840151608085015160a0860151949e50929c50909a509850965094509050611ac287611abd836124fa565b611aed565b9250611add611ad0826122f5565b849063ffffffff61241b16565b9150509295985092959890939650565b6000611b14611b0783600a5461256790919063ffffffff16565b849063ffffffff6125c016565b9392505050565b6000546001600160a01b03163314611b645760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b600b8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b60146020528160005260406000208181548110611bb857fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b03909416965091945092909186565b611c02612ee4565b60005b6007548110156118a75760078181548110611c1c57fe5b9060005260206000200154828260188110611c3357fe5b6020020152600101611c05565b6000611c6060085468056bc75e2d631000006125d590919063ffffffff16565b905090565b6000546001600160a01b03163314611cae5760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b6010544211611d04576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600f805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b60078181548110611d5d57fe5b600091825260209091200154905081565b600d5481565b6004805460010190819055611d8761237a565b6001600160a01b0316629919c06040518163ffffffff1660e01b81526004018080630e68aa8960e31b815250602001905060206040518083038186803b158015611dd057600080fd5b505afa158015611de4573d6000803e3d6000fd5b505050506040513d6020811015611dfa57600080fd5b505115611e4e576040805162461bcd60e51b815260206004820152601d60248201527f426c6f636b656420617320734554482072617465206973207374616c65000000604482015290519081900360640190fd5b611e5833836125ea565b6004548114610f7e576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60085481565b6004805460010190819055611ec761237a565b6001600160a01b0316629919c06040518163ffffffff1660e01b81526004018080630e68aa8960e31b815250602001905060206040518083038186803b158015611f1057600080fd5b505afa158015611f24573d6000803e3d6000fd5b505050506040513d6020811015611f3a57600080fd5b505115611f8e576040805162461bcd60e51b815260206004820152601d60248201527f426c6f636b656420617320734554482072617465206973207374616c65000000604482015290519081900360640190fd5b600f5460ff16611fe5576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b611fef83836125ea565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a26004548114612087576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b601881565b600f5460ff1681565b600a5481565b6000546001600160a01b031633146120e95760405162461bcd60e51b815260040180806020018281038252602f815260200180612fa3602f913960400191505060405180910390fd5b683635c9adc5dea00000811115612132576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d6310000081101561217a576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60088190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b60115481565b600c5481565b6000610c48611a4d68056bc75e2d631000006008546125d590919063ffffffff16565b6121ec612ea5565b6001600160a01b0383166000908152601460209081526040808320805482518185028101850190935280835260609492939192909184015b828210156122955760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101612224565b509293506000925050505b81518110156122ed57838282815181106122b657fe5b60200260200101516080015114156122e5578181815181106122d457fe5b602002602001015192505050610c48565b6001016122a0565b505092915050565b6000610c48600b5483604001516125c090919063ffffffff16565b6000808211612366576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161237157fe5b04949350505050565b6000611c606c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e676552617465732061646472657373000000815250612c0d565b6000611c606b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d537461747573206164647265737300000000815250612c0d565b600082820183811015611b14576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60135460009061248c90600163ffffffff61241b16565b6013556012546124a390600163ffffffff61241b16565b6012819055905090565b6000611c60680a6f2dce8d0e68aa8960bb1b6040518060400160405280601981526020017f4d697373696e672053796e746873455448206164647265737300000000000000815250612c0d565b60a081015160009015158061252457606083015161251f90429063ffffffff612cb716565b611b14565b606083015160a0840151611b149163ffffffff612cb716565b6000670de0b6b3a7640000612558848463ffffffff61256716565b8161255f57fe5b049392505050565b60008261257657506000610c48565b8282028284828161258357fe5b0414611b145760405162461bcd60e51b8152600401808060200182810382526021815260200180612fd26021913960400191505060405180910390fd5b6000611b148383670de0b6b3a7640000612d14565b6000611b148383670de0b6b3a7640000612d51565b6125f26123cb565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561262a57600080fd5b505afa15801561263e573d6000803e3d6000fd5b5050505061264a612ea5565b61265483836121e4565b905060008160800151116126a5576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60a0810151156126f2576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b80604001516126ff6124ad565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561275457600080fd5b505afa158015612768573d6000803e3d6000fd5b505050506040513d602081101561277e57600080fd5b505110156127bd5760405162461bcd60e51b815260040180806020018281038252603e8152602001806130ca603e913960400191505060405180910390fd5b6127c681612d83565b60408101516011546127dd9163ffffffff612cb716565b60115560408101516000906127f590611abd846124fa565b90506000612802836122f5565b90506000612816838363ffffffff61241b16565b90506128206124ad565b6001600160a01b0316639dc29fac3386604001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561288357600080fd5b505af1158015612897573d6000803e3d6000fd5b505050506128a3612e17565b6001600160a01b0316630c928f05826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156128e657600080fd5b505afa1580156128fa573d6000803e3d6000fd5b505050506040513d602081101561291057600080fd5b505161291a612e58565b6001600160a01b03166370a08231612930612e17565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561297657600080fd5b505afa15801561298a573d6000803e3d6000fd5b505050506040513d60208110156129a057600080fd5b505110156129df5760405162461bcd60e51b81526004018080602001828103825260388152602001806130926038913960400191505060405180910390fd5b6129e7612e17565b6001600160a01b0316631f930115826040518263ffffffff1660e01b81526004016020604051808303818588803b158015612a2157600080fd5b505af1158015612a35573d6000803e3d6000fd5b50505050506040513d6020811015612a4c57600080fd5b50612a579050612e58565b6001600160a01b031663a9059cbb73feefeefeefeefeefeefeefeefeefeefeefeefeef612a82612e58565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612ad757600080fd5b505afa158015612aeb573d6000803e3d6000fd5b505050506040513d6020811015612b0157600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b158015612b5257600080fd5b505af1158015612b66573d6000803e3d6000fd5b505050506040513d6020811015612b7c57600080fd5b5050602084015133906108fc90612b99908463ffffffff612cb716565b6040518115909202916000818181858888f19350505050158015612bc1573d6000803e3d6000fd5b50604080518681526020810183905281516001600160a01b038916927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a2505050505050565b6000828152600660205260408120546001600160a01b03168281612caf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612c74578181015183820152602001612c5c565b50505050905090810190601f168015612ca15780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600082821115612d0e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080600a8304612d2b868663ffffffff61256716565b81612d3257fe5b0490506005600a825b0610612d4557600a015b600a9004949350505050565b600080612d7784612d6b87600a870263ffffffff61256716565b9063ffffffff61231016565b90506005600a82612d3b565b80516001600160a01b03166000908152601460205260408120905b8154811015612dfb578260800151828281548110612db857fe5b9060005260206000209060060201600401541415612df35742828281548110612ddd57fe5b9060005260206000209060060201600501819055505b600101612d9e565b50601354612e1090600163ffffffff612cb716565b6013555050565b6000611c606411195c1bdd60da1b604051806040016040528060158152602001744d697373696e67204465706f74206164647265737360581b815250612c0d565b6000611c606814de5b9d1a1cd554d160ba1b6040518060400160405280601981526020017f4d697373696e672053796e746873555344206164647265737300000000000000815250612c0d565b6040518060c0016040528060006001600160a01b0316815260200160008152602001600081526020016000815260200160008152602001600081525090565b604051806103000160405280601890602082028038833950919291505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f776e65722063616e6e6f742073657420686967686572207468616e20484152445f43415045616368206163636f756e74206973206c696d74656420746f203530206c6f616e734c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e53697a655468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e2031303025204150525468652073555344204465706f7420646f6573206e6f74206861766520656e6f756768207355534420746f2062757920666f722066656573596f7520646f206e6f742068617665207468652072657175697265642053796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f59454152a265627a7a723158209d476129114ccd34745998b5a3b0af3a75c6f37f5e09a662eb0186025949d44e64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanLimit",
							"type": "uint256"
						}
					],
					"name": "AccountLoanLimitUpdated",
					"type": "event",
					"signature": "0x59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "CollateralizationRatioUpdated",
					"type": "event",
					"signature": "0xfb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce07869530"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interestRate",
							"type": "uint256"
						}
					],
					"name": "InterestRateUpdated",
					"type": "event",
					"signature": "0xa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d74"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueLimit",
							"type": "uint256"
						}
					],
					"name": "IssueLimitUpdated",
					"type": "event",
					"signature": "0xbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feesPaid",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0x3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "LoanLiquidated",
					"type": "event",
					"signature": "0xde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "LoanLiquidationOpenUpdated",
					"type": "event",
					"signature": "0xaa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanSizeUpdated",
					"type": "event",
					"signature": "0x8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d528839"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountLoanLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1474b279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accountOpenLoanCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x089f7fb4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountsPynthLoans",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab6a34fa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "accruedInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa2e17342"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "calculateMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x27cff2e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "closeLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd05951a0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						}
					],
					"name": "collateralAmountForLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf53dfb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralizationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdcaf9c44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "currentInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c937de"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getContractInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_collateralizationRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestPerSecond",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedPynths",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalLoansCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalOpenLoanCount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_ethBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationDeadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7cc1f867"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestPerSecond",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe40108ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c3a00fd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeea8f5da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "liquidateUnclosedLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe220a811"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDeadline",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f7d5688"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						}
					],
					"name": "loanAmountFromCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8fdc8f3b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "loanLifeSpan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanLifeSpanResult",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c463869"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcf09b4ae"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x6b231938"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "openLoanIDsByAccount",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f2bf15b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanLimit",
							"type": "uint256"
						}
					],
					"name": "setAccountLoanLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5d1a2229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setCollateralizationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe5829d20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						}
					],
					"name": "setInterestRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5f84f302"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						}
					],
					"name": "setIssueLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4f069f66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "setLoanLiquidationOpen",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb8c6d6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x50e3b2e7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57b21920"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoansCreated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23aa7f0f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOpenLoanCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4189bb49"
				}
			]
		},
		"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": "60806040523480156200001157600080fd5b506040516200157a3803806200157a833981810160405260208110156200003757600080fd5b5051806001600160a01b03811662000096576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150620001106553797374656d60d01b826001806001600160e01b036200017d16565b620001336749737375616e636560c01b826001806001600160e01b036200017d16565b620001566745786368616e676560c01b826001806001600160e01b036200017d16565b62000176640a0f2dce8d60db1b826001806001600160e01b036200017d16565b5062000299565b6553797374656d60d01b8414806200019f57506749737375616e636560c01b84145b80620001b557506745786368616e676560c01b84145b80620001c85750640a0f2dce8d60db1b84145b6200021a576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b6112d180620002a96000396000f3fe608060405234801561001057600080fd5b50600436106101da5760003560e01c8063631070fc116101045780639f8a95ba116100a2578063f161620711610071578063f161620714610578578063f405f65a14610580578063f44d1e0b14610588578063f8b4b08414610590576101da565b80639f8a95ba14610411578063c09290bb14610435578063d7f2c3851461053e578063e470df581461055b576101da565b806379ba5097116100de57806379ba5097146103dc5780637c312541146103e45780638c38729d146103ec5780638da5cb5b14610409576101da565b8063631070fc146103a957806367a280b2146103cc5780637118d431146103d4576101da565b80632366245e1161017c5780633cb4d4431161014b5780633cb4d4431461031e57806348bf1971146103415780634abdb44d1461037d57806353a47bb714610385576101da565b80632366245e146102b25780632dd8afdb146102dd5780632e8d0b9e146102e5578063396e258e14610301576101da565b80631588e817116101b85780631588e8171461020b5780631627540c146102285780631d7e77891461024e57806320f2bf001461026b576101da565b8063086dabd1146101df57806312bde514146101e9578063157c51d314610203575b600080fd5b6101e7610598565b005b6101f16105a2565b60408051918252519081900360200190f35b6101e76105af565b6101e76004803603602081101561022157600080fd5b5035610619565b6101e76004803603602081101561023e57600080fd5b50356001600160a01b0316610684565b6101e76004803603602081101561026457600080fd5b50356106e0565b6102976004803603604081101561028157600080fd5b50803590602001356001600160a01b0316610739565b60408051921515835290151560208301528051918290030190f35b6102ba610762565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b6102ba61077b565b6102ed610794565b604080519115158252519081900360200190f35b6101e76004803603602081101561031757600080fd5b50356107be565b6101e76004803603604081101561033457600080fd5b5080359060200135610829565b6101e76004803603608081101561035757600080fd5b508035906001600160a01b0360208201351690604081013515159060600135151561089e565b6101f16108b8565b61038d6108c7565b604080516001600160a01b039092168252519081900360200190f35b6101e7600480360360408110156103bf57600080fd5b50803590602001356108d6565b6101e7610954565b6101e76109c0565b6101e7610a0a565b6101e7610ac6565b6102ba6004803603602081101561040257600080fd5b5035610b10565b61038d610b35565b610419610b44565b604080516001600160f81b039092168252519081900360200190f35b6104a56004803603602081101561044b57600080fd5b81019060208101813564010000000081111561046657600080fd5b82018360208201111561047857600080fd5b8035906020019184602083028401116401000000008311171561049a57600080fd5b509092509050610b49565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156104e95781810151838201526020016104d1565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015610528578181015183820152602001610510565b5050505090500194505050505060405180910390f35b6101e76004803603602081101561055457600080fd5b5035610c72565b6101e76004803603602081101561057157600080fd5b5035610cef565b6101f1610d64565b6101e7610d73565b6101f1610ddf565b6102ba610deb565b6105a0610e04565b565b6553797374656d60d01b81565b6105c16553797374656d60d01b610ee3565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b61062d6745786368616e676560c01b610f40565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b61068c610f98565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6106e8610e04565b60008181526006602052604090205460ff16156107365760405162461bcd60e51b81526004018080602001828103825260288152602001806112756028913960400191505060405180910390fd5b50565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60045460ff81169061010090046001600160f81b031682565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff1680156107b9575060035461010090046001600160f81b03166001145b905090565b6107d26749737375616e636560c01b610f40565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b610831610e04565b60008281526006602052604090205460ff1615801561085f575060008181526006602052604090205460ff16155b61089a5760405162461bcd60e51b81526004018080602001828103825260368152602001806111f26036913960400191505060405180910390fd5b5050565b6108a6610f98565b6108b284848484610fe1565b50505050565b6749737375616e636560c01b81565b6001546001600160a01b031681565b6108e7640a0f2dce8d60db1b610f40565b60008281526006602090815260409182902080546001600160f81b0385166101000260ff1990911660011760ff16179055815184815290810183905281517ffd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86929181900390910190a15050565b6109686749737375616e636560c01b610ee3565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b6109c8610e04565b60055460ff16156105a05760405162461bcd60e51b815260040180806020018281038252602b8152602001806111c7602b913960400191505060405180910390fd5b6001546001600160a01b03163314610a535760405162461bcd60e51b81526004018080602001828103825260358152602001806111386035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610ace610e04565b60045460ff16156105a05760405162461bcd60e51b815260040180806020018281038252602b81526020018061116d602b913960400191505060405180910390fd5b60066020526000908152604090205460ff81169061010090046001600160f81b031682565b6000546001600160a01b031681565b600181565b60608083839050604051908082528060200260200182016040528015610b79578160200160208202803883390190505b50604080518581526020808702820101909152909250838015610ba6578160200160208202803883390190505b50905060005b83811015610c6a5760066000868684818110610bc457fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110610bf657fe5b9115156020928302919091019091015260066000868684818110610c1657fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110610c5757fe5b6020908102919091010152600101610bac565b509250929050565b610c83640a0f2dce8d60db1b610ee3565b6000818152600660209081526040918290205482518481526101009091046001600160f81b03169181019190915281517fddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39929181900390910190a1600090815260066020526040812055565b610d016553797374656d60d01b610f40565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b6745786368616e676560c01b81565b610d876745786368616e676560c01b610ee3565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b640a0f2dce8d60db1b81565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b0316600114610e40576040518060600160405280602c8152602001611249602c9139610e5a565b6040518060600160405280603e81526020016110fa603e91395b906107365760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015610ea8578181015183820152602001610e90565b50505050905090810190601f168015610ed55780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000818152600260209081526040808320338452909152902054610100900460ff166107365760405162461bcd60e51b81526004018080602001828103825260218152602001806112286021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff166107365760405162461bcd60e51b81526004018080602001828103825260218152602001806112286021913960400191505060405180910390fd5b6000546001600160a01b031633146105a05760405162461bcd60e51b815260040180806020018281038252602f815260200180611198602f913960400191505060405180910390fd5b6553797374656d60d01b84148061100257506749737375616e636560c01b84145b8061101757506745786368616e676560c01b84145b806110295750640a0f2dce8d60db1b84145b61107a576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a35050505056fe50796e7468657469782069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e64206279596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e65206f72206d6f72652070796e746873206172652073757370656e6465642e204f7065726174696f6e2070726f686962697465645265737472696374656420746f2061636365737320636f6e74726f6c206c69737450796e7468657469782069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656450796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a7231582013cf45c835f05bbb5c44f87e2be77c89233ae2cd711ce54e54eeed7c0f3a7f7c64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "AccessControlUpdated",
					"type": "event",
					"signature": "0x95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeResumed",
					"type": "event",
					"signature": "0x07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeSuspended",
					"type": "event",
					"signature": "0x078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceResumed",
					"type": "event",
					"signature": "0x0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceSuspended",
					"type": "event",
					"signature": "0xee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthResumed",
					"type": "event",
					"signature": "0xddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthSuspended",
					"type": "event",
					"signature": "0xfd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemResumed",
					"type": "event",
					"signature": "0xb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemSuspended",
					"type": "event",
					"signature": "0x86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1616207"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_ISSUANCE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4abdb44d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf44d1e0b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYSTEM",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x12bde514"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUSPENSION_REASON_UPGRADE",
					"outputs": [
						{
							"internalType": "uint248",
							"name": "",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f8a95ba"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accessControl",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20f2bf00"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8b4b084"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc09290bb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isSystemUpgrading",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e8d0b9e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2366245e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c38729d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7118d431"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c312541"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1d7e7789"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3cb4d443"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireSystemActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086dabd1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf405f65a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x67a280b2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd7f2c385"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x157c51d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1588e817"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x396e258e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x631070fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe470df58"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2dd8afdb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "updateAccessControl",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x48bf1971"
				}
			],
			"source": {
				"keccak256": "0x0b9e752bfb292a343b08a201fa94e341a894897ccf06e7b963d9727e646f5787",
				"urls": [
					"bzz-raw://b8222e33482896fdb8526916ed871b0caf25ce90a7c3a65efd577e2f2b26d29a",
					"dweb:/ipfs/QmXGyNE2VHtKq1aUbVCFEYm8im6bcoED8fRounirH9ySXF"
				]
			},
			"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": "0x0b9e752bfb292a343b08a201fa94e341a894897ccf06e7b963d9727e646f5787",
						"urls": [
							"bzz-raw://b8222e33482896fdb8526916ed871b0caf25ce90a7c3a65efd577e2f2b26d29a",
							"dweb:/ipfs/QmXGyNE2VHtKq1aUbVCFEYm8im6bcoED8fRounirH9ySXF"
						]
					}
				},
				"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": "608060405234801561001057600080fd5b506040516104953803806104958339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061039b806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b661016c565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b031661017b565b6100ac6101dd565b6100b6610299565b6100b66102a8565b6101186102b7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101836102b7565b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102265760405162461bcd60e51b81526004018080602001828103825260358152602001806103036035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103005760405162461bcd60e51b815260040180806020018281038252602f815260200180610338602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158208a1c22c72b6500aca75317881c1e611b15a87b9984137122a377bb4c494c277764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0x6b2817d5c5d65789fedd9fbc7580d24075680aa2041abd0438b27323fff1441f",
				"urls": [
					"bzz-raw://411204dfb195fcaf08177d474d1462ef99944edf1222ed87d8f0c26c25be7d05",
					"dweb:/ipfs/QmYGm4Wb6BS6njeqDZGnrXJEb4ob4RD6nBUrXGvCndgytt"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ReadProxy.sol": "ReadProxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ReadProxy.sol": {
						"keccak256": "0x6b2817d5c5d65789fedd9fbc7580d24075680aa2041abd0438b27323fff1441f",
						"urls": [
							"bzz-raw://411204dfb195fcaf08177d474d1462ef99944edf1222ed87d8f0c26c25be7d05",
							"dweb:/ipfs/QmYGm4Wb6BS6njeqDZGnrXJEb4ob4RD6nBUrXGvCndgytt"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidations": {
			"bytecode": "608060405234801561001057600080fd5b50604051611ef0380380611ef08339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050611dca806101266000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806379ba5097116100b8578063974e9e7f1161007c578063974e9e7f146102d0578063a0cf7451146102f6578063ad2bc2d5146102fe578063b410a03414610324578063c49e80a61461032c578063d45c0d7e1461035257610142565b806379ba50971461023a578063828afc4b14610242578063899ffef4146102685780638d1bd1be146102c05780638da5cb5b146102c857610142565b80632af64bd31161010a5780632af64bd3146101d857806339a9df1b146101f457806353a47bb71461021a5780636a05896614610222578063741853601461022a57806374e889c91461023257610142565b806304f3bcec146101475780630ac045d51461016b5780631627540c146101a05780631775765f146101c857806323f5589a146101d0575b600080fd5b61014f610378565b604080516001600160a01b039092168252519081900360200190f35b61018e6004803603604081101561018157600080fd5b5080359060200135610387565b60408051918252519081900360200190f35b6101c6600480360360208110156101b657600080fd5b50356001600160a01b0316610485565b005b61018e6104e1565b61018e6104f1565b6101e06104fb565b604080519115158252519081900360200190f35b6101e06004803603602081101561020a57600080fd5b50356001600160a01b0316610605565b61014f610630565b61018e61063f565b6101c6610657565b61018e61081f565b6101c6610839565b61018e6004803603602081101561025857600080fd5b50356001600160a01b03166108f5565b610270610910565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ac578181015183820152602001610294565b505050509050019250505060405180910390f35b61018e610a29565b61014f610ab2565b6101c6600480360360208110156102e657600080fd5b50356001600160a01b0316610ac1565b61018e610b3c565b6101c66004803603602081101561031457600080fd5b50356001600160a01b0316610b46565b61018e610d7f565b6101e06004803603602081101561034257600080fd5b50356001600160a01b0316610d89565b6101c66004803603602081101561036857600080fd5b50356001600160a01b0316610e69565b6002546001600160a01b031681565b6000806103926111db565b9050600073__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156103da57600080fd5b505af41580156103ee573d6000803e3d6000fd5b505050506040513d602081101561040457600080fd5b50519050600061042a61041d868563ffffffff61128216565b879063ffffffff6112ac16565b905060006104666104598561044d610440611309565b879063ffffffff61138416565b9063ffffffff61128216565b849063ffffffff6112ac16565b9050610478828263ffffffff6113e516565b9450505050505b92915050565b61048d61140f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104eb61145a565b90505b90565b60006104eb611309565b60006060610507610910565b905060005b81518110156105fc57600082828151811061052357fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561058b57600080fd5b505afa15801561059f573d6000803e3d6000fd5b505050506040513d60208110156105b557600080fd5b50516001600160a01b03161415806105e257506000818152600360205260409020546001600160a01b0316155b156105f357600093505050506104ee565b5060010161050c565b50600191505090565b600061060f611c5f565b610618836114d3565b9050610627816000015161157f565b9150505b919050565b6001546001600160a01b031681565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b6060610661610910565b905060005b815181101561081b57600082828151811061067d57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561073357818101518382015260200161071b565b50505050905090810190601f1680156107605780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561077e57600080fd5b505afa158015610792573d6000803e3d6000fd5b505050506040513d60208110156107a857600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610666565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146108825760405162461bcd60e51b8152600401808060200182810382526035815260200180611c776035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006108ff611c5f565b610908836114d3565b519392505050565b60608061091b611591565b60408051600580825260c08201909252919250606091906020820160a0803883390190505090506b53797374656d53746174757360a01b8160008151811061095f57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b8160018151811061098557fe5b6020026020010181815250507f457465726e616c53746f726167654c69717569646174696f6e73000000000000816002815181106109bf57fe5b6020026020010181815250506524b9b9bab2b960d11b816003815181106109e257fe5b6020026020010181815250506c45786368616e6765526174657360981b81600481518110610a0c57fe5b602002602001018181525050610a2282826115e2565b9250505090565b60006104eb610a3661145a565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7a57600080fd5b505af4158015610a8e573d6000803e3d6000fd5b505050506040513d6020811015610aa457600080fd5b50519063ffffffff61169e16565b6000546001600160a01b031681565b610ac96116b3565b6001600160a01b0316336001600160a01b031614610b185760405162461bcd60e51b815260040180806020018281038252603e815260200180611d10603e913960400191505060405180910390fd5b610b20611c5f565b610b29826114d3565b80519091501561081b5761081b826116c7565b60006104eb61180f565b620a69cb60eb1b610b55611888565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b9857600080fd5b505afa158015610bac573d6000803e3d6000fd5b505050506040513d6020811015610bc257600080fd5b505115610c16576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015290519081900360640190fd5b610c1e6118a3565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610c5657600080fd5b505afa158015610c6a573d6000803e3d6000fd5b50505050610c76611c5f565b610c7f836114d3565b8051909150610cd5576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015290519081900360640190fd5b6000610cdf6118bd565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d3457600080fd5b505afa158015610d48573d6000803e3d6000fd5b505050506040513d6020811015610d5e57600080fd5b50519050610d6a6111db565b8111610d7957610d79846116c7565b50505050565b60006104eb6111db565b600080610d946118bd565b6001600160a01b031663a311c7c2846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610de957600080fd5b505afa158015610dfd573d6000803e3d6000fd5b505050506040513d6020811015610e1357600080fd5b50519050610e1f6111db565b8111610e2f57600091505061062b565b610e37611c5f565b610e40846114d3565b9050610e4f816000015161157f565b15610e5f5760019250505061062b565b5060009392505050565b620a69cb60eb1b610e78611888565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ebb57600080fd5b505afa158015610ecf573d6000803e3d6000fd5b505050506040513d6020811015610ee557600080fd5b505115610f39576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612073796e74680000000000604482015290519081900360640190fd5b610f416118a3565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610f7957600080fd5b505afa158015610f8d573d6000803e3d6000fd5b505050506000610f9b61145a565b11610fed576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f742073657400000000000000604482015290519081900360640190fd5b6000610ff761180f565b11611049576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015290519081900360640190fd5b611051611c5f565b61105a836114d3565b80519091501561109b5760405162461bcd60e51b8152600401808060200182810382526027815260200180611d6f6027913960400191505060405180910390fd5b60006110a56118bd565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110fa57600080fd5b505afa15801561110e573d6000803e3d6000fd5b505050506040513d602081101561112457600080fd5b5051905061113061145a565b81101561116e5760405162461bcd60e51b8152600401808060200182810382526035815260200180611cac6035913960400191505060405180910390fd5b600061118861117b61180f565b429063ffffffff61138416565b90506111958582336118d4565b6040805182815290516001600160a01b038716917fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996919081900360200190a25050505050565b60006111e5611a01565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125157600080fd5b505afa158015611265573d6000803e3d6000fd5b505050506040513d602081101561127b57600080fd5b5051905090565b6000670de0b6b3a764000061129d848463ffffffff611a1e16565b816112a457fe5b049392505050565b600082821115611303576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611313611a01565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125157600080fd5b6000828201838110156113de576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006113de8261140385670de0b6b3a764000063ffffffff611a1e16565b9063ffffffff611a7716565b6000546001600160a01b031633146114585760405162461bcd60e51b815260040180806020018281038252602f815260200180611ce1602f913960400191505060405180910390fd5b565b6000611464611a01565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125157600080fd5b6114db611c5f565b6114e3611ae1565b6001600160a01b031663bdc963d8611511724c69717569646174696f6e446561646c696e6560681b85611b0c565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561154557600080fd5b505afa158015611559573d6000803e3d6000fd5b505050506040513d602081101561156f57600080fd5b5051815260006020820152919050565b6000808211801561047f575050421190565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106115d357fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611612578160200160208202803883390190505b50905060005b83518110156116545783818151811061162d57fe5b602002602001015182828151811061164157fe5b6020908102919091010152600101611618565b5060005b82518110156116975782818151811061166d57fe5b602002602001015182828651018151811061168457fe5b6020908102919091010152600101611658565b5092915050565b60006113de8383670de0b6b3a7640000611b4b565b60006104eb6524b9b9bab2b960d11b611b82565b6116cf611ae1565b6001600160a01b03166393fe42486116fd724c69717569646174696f6e446561646c696e6560681b84611b0c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561173357600080fd5b505af1158015611747573d6000803e3d6000fd5b50505050611753611ae1565b6001600160a01b031663043106c061177f702634b8bab4b230ba34b7b721b0b63632b960791b84611b0c565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156117b557600080fd5b505af11580156117c9573d6000803e3d6000fd5b50506040805142815290516001600160a01b03851693507f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8792509081900360200190a250565b6000611819611a01565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125157600080fd5b60006104eb6c45786368616e6765526174657360981b611b82565b60006104eb6b53797374656d53746174757360a01b611b82565b60006104eb680a6f2dce8d0cae8d2f60bb1b611b82565b6118dc611ae1565b6001600160a01b0316633562fd2061190a724c69717569646174696f6e446561646c696e6560681b86611b0c565b846040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561194857600080fd5b505af115801561195c573d6000803e3d6000fd5b50505050611968611ae1565b6001600160a01b0316635a2bf25a611994702634b8bab4b230ba34b7b721b0b63632b960791b86611b0c565b836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b1580156119e457600080fd5b505af11580156119f8573d6000803e3d6000fd5b50505050505050565b60006104eb6e466c657869626c6553746f7261676560881b611b82565b600082611a2d5750600061047f565b82820282848281611a3a57fe5b04146113de5760405162461bcd60e51b8152600401808060200182810382526021815260200180611d4e6021913960400191505060405180910390fd5b6000808211611acd576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611ad857fe5b04949350505050565b60006104eb7f457465726e616c53746f726167654c69717569646174696f6e73000000000000611b82565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b600080611b658461140387600a870263ffffffff611a1e16565b90506005600a820610611b7657600a015b600a9004949350505050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816116975760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c24578181015183820152602001611c0c565b50505050905090810190601f168015611c515780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60408051808201909152600080825260208201529056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4c69717569646174696f6e733a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6ea265627a7a723158202e122a7ffb74a1b052ba6111a8fb4dcd0127262f0a4ad738bcb99800c67ae71764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "deadline",
							"type": "uint256"
						}
					],
					"name": "AccountFlaggedForLiquidation",
					"type": "event",
					"signature": "0xc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountRemovedFromLiquidation",
					"type": "event",
					"signature": "0x9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c87"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_CALLER",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a058966"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "LIQUIDATION_DEADLINE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x74e889c9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToFixCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ac045d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAndRemoveAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xad2bc2d5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "flagAccountForLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd45c0d7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLiquidationDeadlineForAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x828afc4b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isLiquidationDeadlinePassed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39a9df1b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isOpenForLiquidation",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc49e80a6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8d1bd1be"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "removeAccountInLiquidation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x974e9e7f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				}
			],
			"source": {
				"keccak256": "0x000d9a0ec698e3988b41d0ba80b2232ccd83dbdd1f065d4ff9ae43754a701bae",
				"urls": [
					"bzz-raw://824d15f9b11605ba11b6936ce6b678fbe38dce4a3b1d2cbfbd605c036024704a",
					"dweb:/ipfs/Qmbue7QSLPFJjTPbcsooQjDiaEx1rZ7qd18AFLSJcpszNg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Liquidations.sol": "Liquidations"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Liquidations.sol": {
						"keccak256": "0x000d9a0ec698e3988b41d0ba80b2232ccd83dbdd1f065d4ff9ae43754a701bae",
						"urls": [
							"bzz-raw://824d15f9b11605ba11b6936ce6b678fbe38dce4a3b1d2cbfbd605c036024704a",
							"dweb:/ipfs/Qmbue7QSLPFJjTPbcsooQjDiaEx1rZ7qd18AFLSJcpszNg"
						]
					}
				},
				"version": 1
			}
		},
		"BinaryOptionMarketFactory": {
			"bytecode": "608060405234801561001057600080fd5b506040516158493803806158498339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050615725806101246000396000f3fe60806040523480156200001157600080fd5b5060043610620000a05760003560e01c806353a47bb7116200006f57806353a47bb7146200016857806374185360146200017257806379ba5097146200017c578063899ffef414620001865780638da5cb5b14620001e257620000a0565b806304f3bcec14620000a5578063130efa5014620000cb5780631627540c146200011f5780632af64bd3146200014a575b600080fd5b620000af620001ec565b604080516001600160a01b039092168252519081900360200190f35b620000af60048036036101c0811015620000e457600080fd5b506001600160a01b0381351690602081019060608101359060808101359060a081013515159060c081019061012081019061016001620001fb565b62000148600480360360208110156200013757600080fd5b50356001600160a01b03166200036e565b005b62000154620003cc565b604080519115158252519081900360200190f35b620000af620004e2565b62000148620004f1565b62000148620006c4565b6200019062000782565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015620001ce578181015183820152602001620001b4565b505050509050019250505060405180910390f35b620000af620007de565b6002546001600160a01b031681565b60008062000208620007ed565b90506001600160a01b038116331462000268576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c79207065726d697474656420627920746865206d616e616765722e0000604482015290519081900360640190fd5b808a600260009054906101000a90046001600160a01b03168b8b8b8b8b8b8b604051620002959062000950565b6001600160a01b03808c1682528a8116602083015289166040808301919091526060820190899080828437600083820152601f01601f191690910188815260208101889052861515604082015260609081019150859080828437600083820152601f01601f1916909101905083604080828437600083820152601f01601f19169091019050826060808284376000838201819052604051601f909201601f19169093018190039d509b50909950505050505050505050f0801580156200035f573d6000803e3d6000fd5b509a9950505050505050505050565b620003786200081b565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060620003da62000782565b905060005b8151811015620004d8576000828281518110620003f857fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156200046157600080fd5b505afa15801562000476573d6000803e3d6000fd5b505050506040513d60208110156200048d57600080fd5b50516001600160a01b0316141580620004bb57506000818152600360205260409020546001600160a01b0316155b15620004ce5760009350505050620004df565b50600101620003df565b5060019150505b90565b6001546001600160a01b031681565b6060620004fd62000782565b905060005b8151811015620006c05760008282815181106200051b57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015620005d3578181015183820152602001620005b9565b50505050905090810190601f168015620006015780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156200062057600080fd5b505afa15801562000635573d6000803e3d6000fd5b505050506040513d60208110156200064c57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010162000502565b5050565b6001546001600160a01b031633146200070f5760405162461bcd60e51b81526004018080602001828103825260358152602001806200568d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600180825281830190925260609160208083019080388339019050509050782134b730b93ca7b83a34b7b726b0b935b2ba26b0b730b3b2b960391b81600081518110620007cf57fe5b60200260200101818152505090565b6000546001600160a01b031681565b600062000816782134b730b93ca7b83a34b7b726b0b935b2ba26b0b730b3b2b960391b62000868565b905090565b6000546001600160a01b03163314620008665760405162461bcd60e51b815260040180806020018281038252602f815260200180620056c2602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081620009495760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200090d578181015183820152602001620008f3565b50505050905090810190601f1680156200093b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b614d2e806200095f8339019056fe60806040523480156200001157600080fd5b5060405162004d2e38038062004d2e83398181016040526102008110156200003857600080fd5b5080516020820151604083015160a084015160c085015160e08601519495939492936060810193906101008101906101608101906101a001878a6001600160a01b038116620000ce576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b03199081166001600160a01b0393841617909155601480546040805180820182528c518082526020808f01519281018390526011919091556012919091558151606080820184528d82528183018d90526000918401829052600b8e9055600c8d9055600d919091558251908101835289518082528a8301518284018190528b85015192909401829052600855600992909255600a919091559216928c169290921760ff60a81b1916600160a81b8715150217909155825190830151620001f982826200047b565b8a6001600160a01b031660008051602062004d0e833981519152600084604051808360018111156200022757fe5b60ff1681526020018281526020019250505060405180910390a28a6001600160a01b031660008051602062004d0e833981519152600183604051808360018111156200026f57fe5b60ff1681526020018281526020019250505060405180910390a26000620002a582846200058260201b620021f71790919060201c565b6013819055845160208087015160408051606081018252848152808401839052818a01519101819052600e849055600f8290556010559293509091906200038490620002fe908490849062000582811b620021f717901c565b73__$60f5066a95a61bfd95691e5518aae05f18$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200034357600080fd5b505af415801562000358573d6000803e3d6000fd5b505050506040513d60208110156200036f57600080fd5b505190620005e6602090811b62002bb317901c565b6015556200039d8585856001600160e01b036200064416565b8d85604051620003ad9062000976565b6001600160a01b0390921682526020820152604080519182900301906000f080158015620003df573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b03929092169190911790556040518e908590620004129062000976565b6001600160a01b0390921682526020820152604080519182900301906000f08015801562000444573d6000803e3d6000fd5b50600580546001600160a01b0319166001600160a01b039290921691909117905550620009849d5050505050505050505050505050565b60006200049782846200058260201b620021f71790919060201c565b9050806011600001541115620004f4576040805162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e74206361706974616c000000000000000000000000604482015290519081900360640190fd5b6012546200050f8483620006be602090811b6200300417901c565b8111158015620005385750620005348284620006be60201b620030041790919060201c565b8111155b6200057c576040805162461bcd60e51b815260206004820152600f60248201526e109a591cc81d1bdbc81cdad95dd959608a1b604482015290519081900360640190fd5b50505050565b600082820183811015620005dd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000828211156200063e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000806200065d8585856001600160e01b03620006f916565b604080518082018252838152602090810183905260068490556007839055815184815290810183905281519395509193507f6546f60f34df611fa42503098acc39d5ab88bc73febe64b3cc14e5a92e3a66a792918290030190a15050505050565b6000620005dd82620006e585670de0b6b3a7640000620007b6602090811b6200305417901c565b6200081460201b620030ad1790919060201c565b60008084158015906200070b57508315155b6200075d576040805162461bcd60e51b815260206004820152601460248201527f42696473206d757374206265206e6f6e7a65726f000000000000000000000000604482015290519081900360640190fd5b600062000773846001600160e01b036200088016565b90506200078f8187620008bb60201b62002e271790919060201c565b620007a98287620008bb60201b62002e271790919060201c565b9250925050935093915050565b600082620007c757506000620005e0565b82820282848281620007d557fe5b0414620005dd5760405162461bcd60e51b815260040180806020018281038252602181526020018062004ced6021913960400191505060405180910390fd5b60008082116200086b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816200087757fe5b04949350505050565b601454600090600160a01b900460ff16620008b757620008b160155483620008db60201b620021db1790919060201c565b620005e0565b5090565b6000620005dd8383670de0b6b3a76400006001600160e01b03620008fb16565b6000620005dd8383670de0b6b3a76400006001600160e01b036200093f16565b6000806200092084620006e585600a0288620007b660201b620030541790919060201c565b90506005600a825b06106200093357600a015b600a9004949350505050565b600080600a8304620009608587620007b660201b620030541790919060201c565b816200096857fe5b0490506005600a8262000928565b61114a8062003ba383390190565b61320f80620009946000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c8063851492581161013b578063be5af9fe116100b8578063d3419bf31161007c578063d3419bf31461055c578063dbea363814610564578063e4cfbdbd1461058a578063eef49ee3146105c2578063fd087ee5146105ca57610248565b8063be5af9fe14610516578063c588f5261461051e578063c7a5bdc814610526578063c8db233e1461052e578063d068cdc51461055457610248565b80639af1d35a116100ff5780639af1d35a146104c05780639e3b34bf146104c8578063ac3791e3146104d0578063b1c9fe6e146104d8578063b634bfbc146104f057610248565b8063851492581461042a578063899ffef4146104325780638b0341361461048a5780638da5cb5b1461049257806398508ecd1461049a57610248565b80633dae89eb116101c957806353a47bb71161018d57806353a47bb7146103c05780636392a51f146103c857806365372147146103ee578063741853601461041a57806379ba50971461042257610248565b80633dae89eb1461035c5780633f6fa65514610364578063408e82af1461036c5780634c33fe9414610392578063532f1179146103b857610248565b806327745bae1161021057806327745bae146102e95780632810e1d6146102f157806329e77b5d146102f95780632af64bd3146103385780633d7a783b1461035457610248565b806302d05d3f1461024d57806304f3bcec146102715780631069143a146102795780631627540c146102a75780632115e303146102cf575b600080fd5b6102556105f8565b604080516001600160a01b039092168252519081900360200190f35b610255610607565b610281610616565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6102cd600480360360208110156102bd57600080fd5b50356001600160a01b031661062c565b005b6102d7610688565b60408051918252519081900360200190f35b6102cd61069b565b6102cd6106fd565b61031f6004803603602081101561030f57600080fd5b50356001600160a01b0316610ad1565b6040805192835260208301919091528051918290030190f35b610340610ae6565b604080519115158252519081900360200190f35b61031f610bf0565b61031f610cdb565b610340610cee565b61031f6004803603602081101561038257600080fd5b50356001600160a01b0316610cfe565b6102cd600480360360208110156103a857600080fd5b50356001600160a01b0316610d0a565b610340610df4565b610255610e04565b61031f600480360360208110156103de57600080fd5b50356001600160a01b0316610e13565b6103f6610e1f565b6040518082600181111561040657fe5b60ff16815260200191505060405180910390f35b6102cd610e29565b6102cd610ff1565b6102d76110ad565b61043a61139e565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047657818101518382015260200161045e565b505050509050019250505060405180910390f35b61031f611461565b61025561146c565b6104a261147b565b60408051938452602084019290925282820152519081900360600190f35b6104a2611487565b6104a2611493565b61034061149f565b6104e06114e2565b6040518082600381111561040657fe5b6102d76004803603604081101561050657600080fd5b5060ff8135169060200135611526565b61031f61186d565b61031f611876565b61031f611945565b6102cd6004803603602081101561054457600080fd5b50356001600160a01b0316611950565b61031f6119bd565b61031f611a72565b6102cd6004803603604081101561057a57600080fd5b5060ff8135169060200135611a7b565b6102d7600480360360808110156105a057600080fd5b5060ff8135811691602081013590911690604081013590606001351515611c64565b6102d7611e65565b61031f600480360360608110156105e057600080fd5b5060ff81351690602081013590604001351515611e6b565b6014546001600160a01b031681565b6002546001600160a01b031681565b6004546005546001600160a01b03918216911682565b610634611f5c565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610695601354611fa5565b90505b90565b6106a3611fdc565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156106db57600080fd5b505afa1580156106ef573d6000803e3d6000fd5b505050506106fb611ff6565b565b610705611f5c565b61070d61209e565b61074f576040805162461bcd60e51b815260206004820152600e60248201526d4e6f7420796574206d617475726560901b604482015290519081900360640190fd5b610757611fdc565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561078f57600080fd5b505afa1580156107a3573d6000803e3d6000fd5b505050506107af611ff6565b601454600160a01b900460ff161561080e576040805162461bcd60e51b815260206004820152601760248201527f4d61726b657420616c7265616479207265736f6c766564000000000000000000604482015290519081900360640190fd5b6000806108196120a6565b9150915061082681612134565b610868576040805162461bcd60e51b815260206004820152600e60248201526d5072696365206973207374616c6560901b604482015290519081900360640190fd5b600d8290556014805460ff60a01b1916600160a01b179055600061088a6121c4565b601354600e54919250906000906108a890839063ffffffff6121db16565b600f549091506000906108c290849063ffffffff6121db16565b90506108dc6108d7828463ffffffff6121f716565b612251565b50836001600160a01b031663a9059cbb6108f46122d8565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b505050506040513d602081101561095657600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018690525160448083019260209291908290030181600087803b1580156109a657600080fd5b505af11580156109ba573d6000803e3d6000fd5b505050506040513d60208110156109d057600080fd5b50506014546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810184905290519186169163a9059cbb916044808201926020929091908290030181600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b505050506040513d6020811015610a5257600080fd5b507f5528b7e06f48a519cf814c4e5293ee2737c3f5c28d93e30cca112ac649fdd2359050610a7e6122ed565b8787601354868660405180876001811115610a9557fe5b60ff1681526020810196909652506040808601949094526060850192909252608084015260a0830152519081900360c0019150a1505050505050565b600080610add83612332565b91509150915091565b60006060610af261139e565b905060005b8151811015610be7576000828281518110610b0e57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610b7657600080fd5b505afa158015610b8a573d6000803e3d6000fd5b505050506040513d6020811015610ba057600080fd5b50516001600160a01b0316141580610bcd57506000818152600360205260409020546001600160a01b0316155b15610bde5760009350505050610698565b50600101610af7565b50600191505090565b6004805460408051636b7f817160e11b8152905160009384936001600160a01b03169263d6ff02e29281830192602092829003018186803b158015610c3457600080fd5b505afa158015610c48573d6000803e3d6000fd5b505050506040513d6020811015610c5e57600080fd5b505160055460408051636b7f817160e11b815290516001600160a01b039092169163d6ff02e291600481810192602092909190829003018186803b158015610ca557600080fd5b505afa158015610cb9573d6000803e3d6000fd5b505050506040513d6020811015610ccf57600080fd5b505190925090505b9091565b600080610ce6612433565b915091509091565b601454600160a01b900460ff1681565b600080610add836126fd565b610d12611f5c565b610d1a6127c8565b15610d5f576040805162461bcd60e51b815260206004820152601060248201526f42696464696e6720696e61637469766560801b604482015290519081900360640190fd5b600080610d6a6127d0565b60145491935091506000908190610d89906001600160a01b0316612332565b9150915060008285148015610d9d57508184145b905080610de3576040805162461bcd60e51b815260206004820152600f60248201526e4e6f742063616e63656c6c61626c6560881b604482015290519081900360640190fd5b610dec86612885565b505050505050565b601454600160a81b900460ff1681565b6001546001600160a01b031681565b600080610add83612a8c565b60006106956122ed565b6060610e3361139e565b905060005b8151811015610fed576000828281518110610e4f57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610f05578181015183820152602001610eed565b50505050905090810190601f168015610f325780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610f5057600080fd5b505afa158015610f64573d6000803e3d6000fd5b505050506040513d6020811015610f7a57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610e38565b5050565b6001546001600160a01b0316331461103a5760405162461bcd60e51b815260040180806020018281038252603581526020018061311a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b601454600090600160a01b900460ff16611139576110c9612b57565b6001600160a01b0316637859f410306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505050505b600080611145336126fd565b9150915081600014158061115857508015155b1561116857611165612433565b50505b60008061117433612a8c565b9150915081600014158061118757508015155b6111ce576040805162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20657865726369736560681b604482015290519081900360640190fd5b811561123a576004805460408051630d8acc1560e11b81523393810193909352516001600160a01b0390911691631b15982a91602480830192600092919082900301818387803b15801561122157600080fd5b505af1158015611235573d6000803e3d6000fd5b505050505b80156112a55760055460408051630d8acc1560e11b815233600482015290516001600160a01b0390921691631b15982a9160248082019260009290919082900301818387803b15801561128c57600080fd5b505af11580156112a0573d6000803e3d6000fd5b505050505b60006112b96112b26122ed565b8484612b66565b60408051828152905191925033917fd82b6f69d7477fb41cd83d936de94990cee2fa1a309feeee90101fc0513b6a439181900360200190a280156113955761130081612251565b506113096121c4565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561136857600080fd5b505af115801561137c573d6000803e3d6000fd5b505050506040513d602081101561139257600080fd5b50505b94505050505090565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106113de57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061140857fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160028151811061142e57fe5b60200260200101818152505066119959541bdbdb60ca1b8160038151811061145257fe5b60200260200101818152505090565b600080610ce66127d0565b6000546001600160a01b031681565b600b54600c54600d5483565b600e54600f5460105483565b600854600954600a5483565b6000806114aa6120a6565b601454909250600160a01b900460ff1615905080156114cc57506114cc61209e565b80156114dc57506114dc81612134565b91505090565b60006114ec6127c8565b6114f857506000610698565b61150061209e565b61150c57506001610698565b611514612b89565b61152057506002610698565b50600390565b60006115306127c8565b15611575576040805162461bcd60e51b815260206004820152601060248201526f42696464696e6720696e61637469766560801b604482015290519081900360640190fd5b601454600160a81b900460ff166115c6576040805162461bcd60e51b815260206004820152601060248201526f1499599d5b991cc8191a5cd8589b195960821b604482015290519081900360640190fd5b816115d357506000611867565b6014546001600160a01b0316331415611629576000806115f233612332565b9092509050600185600181111561160557fe5b141561160d57905b611626611620838663ffffffff612bb316565b82612c10565b50505b6116be6116b1600e6002015473__$60f5066a95a61bfd95691e5518aae05f18$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561167957600080fd5b505af415801561168d573d6000803e3d6000fd5b505050506040513d60208110156116a357600080fd5b50519063ffffffff612bb316565b839063ffffffff6121db16565b90506116c983612cef565b6001600160a01b031663410085df33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561172857600080fd5b505af115801561173c573d6000803e3d6000fd5b503392507f9bd0a8ca6625e01a9cee5e86eec7813a8234b41f1ca0c9f15a008d1e1d00ee5f915085905083611777868263ffffffff612bb316565b6040518084600181111561178757fe5b60ff168152602001838152602001828152602001935050505060405180910390a260006117b382612251565b90506117bd6121c4565b6001600160a01b031663a9059cbb33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561181c57600080fd5b505af1158015611830573d6000803e3d6000fd5b505050506040513d602081101561184657600080fd5b5060009050806118546127d0565b91509150611863828285612d27565b5050505b92915050565b60115460125482565b6014546000908190600160a01b900460ff1615806118ab5750336118a061189b6122ed565b612cef565b6001600160a01b0316145b156118be576118bb601354611fa5565b90505b6004546001600160a01b03163314156118db576006549150610cd7565b6005546001600160a01b03163314156118f8576007549150610cd7565b6040805162461bcd60e51b815260206004820152601760248201527f53656e646572206973206e6f7420616e206f7074696f6e000000000000000000604482015290519081900360640190fd5b600080610ce66120a6565b611958611f5c565b611960612b89565b6119b1576040805162461bcd60e51b815260206004820152601b60248201527f556e65787069726564206f7074696f6e732072656d61696e696e670000000000604482015290519081900360640190fd5b6119ba81612885565b50565b60048054604080516318160ddd60e01b8152905160009384936001600160a01b0316926318160ddd9281830192602092829003018186803b158015611a0157600080fd5b505afa158015611a15573d6000803e3d6000fd5b505050506040513d6020811015611a2b57600080fd5b5051600554604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600481810192602092909190829003018186803b158015610ca557600080fd5b60065460075482565b611a836127c8565b15611ac8576040805162461bcd60e51b815260206004820152601060248201526f42696464696e6720696e61637469766560801b604482015290519081900360640190fd5b80611ad257610fed565b611adb82612cef565b6001600160a01b03166359d667a533836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b3a57600080fd5b505af1158015611b4e573d6000803e3d6000fd5b50505050336001600160a01b03167f70bd4a33bf447720d717d08f3affb5aecfe4d2ebb8e3dd94539f5313e2447643838360405180836001811115611b8f57fe5b60ff1681526020018281526020019250505060405180910390a26000611bb482612d96565b9050611bbe6121c4565b604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b158015611c1657600080fd5b505af1158015611c2a573d6000803e3d6000fd5b505050506040513d6020811015611c4057600080fd5b506000905080611c4e6127d0565b91509150611c5d828285612d27565b5050505050565b600080611c7c601554856121db90919063ffffffff16565b90506000611c8986612cef565b6001600160a01b0316638b0341366040518163ffffffff1660e01b815260040160206040518083038186803b158015611cc157600080fd5b505afa158015611cd5573d6000803e3d6000fd5b505050506040513d6020811015611ceb57600080fd5b505160135460408051630241ebdb60e61b81529051929350909160009173__$60f5066a95a61bfd95691e5518aae05f18$__9163907af6c091600480820192602092909190829003018186803b158015611d4457600080fd5b505af4158015611d58573d6000803e3d6000fd5b505050506040513d6020811015611d6e57600080fd5b5051601054909150600090611d8a90839063ffffffff612bb316565b9050886001811115611d9857fe5b8a6001811115611da457fe5b1415611e0e576000611dbc848763ffffffff6121db16565b90508715611dd85793611dd5868363ffffffff6121db16565b95505b611e01611deb848863ffffffff612bb316565b611df58388612e00565b9063ffffffff612e2716565b9650505050505050611e5d565b6000611e20858763ffffffff612e2716565b90508715611e2a57925b6000611e368286612e00565b905088611e435780611e53565b611e53818463ffffffff612e2716565b9750505050505050505b949350505050565b60135481565b600080600080611e796127d0565b9150915061311785611e8d576121f7611e91565b612bb35b90506000886001811115611ea157fe5b1415611ebc57611eb583888363ffffffff16565b9250611ecd565b611eca82888363ffffffff16565b91505b8515611f3357611f30611f23600e6002015473__$60f5066a95a61bfd95691e5518aae05f18$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561167957600080fd5b889063ffffffff6121db16565b96505b611f4d8383611f486013548b8663ffffffff16565b612e3c565b94509450505050935093915050565b6000546001600160a01b031633146106fb5760405162461bcd60e51b815260040180806020018281038252602f81526020018061314f602f913960400191505060405180910390fd5b601454600090600160a01b900460ff16611fd257601554611fcd90839063ffffffff6121db16565b611fd4565b815b90505b919050565b60006106956b53797374656d53746174757360a01b612ecf565b611ffe612b57565b6001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561203657600080fd5b505afa15801561204a573d6000803e3d6000fd5b505050506040513d602081101561206057600080fd5b5051156106fb5760405162461bcd60e51b815260040180806020018281038252603c81526020018061319f603c913960400191505060405180910390fd5b600954421190565b6000806120b1612fac565b6001600160a01b0316634308a94f600b600001546040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156120f857600080fd5b505afa15801561210c573d6000803e3d6000fd5b505050506040513d604081101561212257600080fd5b50805160209091015190925090509091565b60008061213f612b57565b6001600160a01b0316634a41d89d6040518163ffffffff1660e01b815260040160606040518083038186803b15801561217757600080fd5b505afa15801561218b573d6000803e3d6000fd5b505050506040513d60608110156121a157600080fd5b505160095490915083906121bb908363ffffffff612bb316565b11159392505050565b60006106956814de5b9d1a1cd554d160ba1b612ecf565b60006121f08383670de0b6b3a7640000612fc7565b9392505050565b6000828201838110156121f0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b601354600090612267908363ffffffff612bb316565b60138190559050612276612b57565b6001600160a01b0316636b3a0984836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156122bb57600080fd5b505af11580156122cf573d6000803e3d6000fd5b50505050919050565b600061069566119959541bdbdb60ca1b612ecf565b6014546000908190600160a01b900460ff161561230d5750600d54612319565b6123156120a6565b5090505b600c5481101561232a5760016114dc565b600091505090565b60048054604080516308dc30b760e41b81526001600160a01b0385811694820194909452905160009384931691638dc30b70916024808301926020929190829003018186803b15801561238457600080fd5b505afa158015612398573d6000803e3d6000fd5b505050506040513d60208110156123ae57600080fd5b5051600554604080516308dc30b760e41b81526001600160a01b03878116600483015291519190921691638dc30b70916024808301926020929190829003018186803b1580156123fd57600080fd5b505afa158015612411573d6000803e3d6000fd5b505050506040513d602081101561242757600080fd5b50519092509050915091565b60008061243e611fdc565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561247657600080fd5b505afa15801561248a573d6000803e3d6000fd5b50505050612496611ff6565b61249e6127c8565b6124e4576040805162461bcd60e51b815260206004820152601260248201527142696464696e6720696e636f6d706c65746560701b604482015290519081900360640190fd5b60006124f1601354611fa5565b905060006124fd6122ed565b601454909150600160a01b900460ff166000808215806125285750600084600181111561252657fe5b145b156125bc576004805460065460408051632bc43fd960e01b81523394810194909452602484019190915260448301889052516001600160a01b0390911691632bc43fd99160648083019260209291908290030181600087803b15801561258d57600080fd5b505af11580156125a1573d6000803e3d6000fd5b505050506040513d60208110156125b757600080fd5b505191505b8215806125d4575060018460018111156125d257fe5b145b156126665760055460075460408051632bc43fd960e01b8152336004820152602481019290925260448201889052516001600160a01b0390921691632bc43fd9916064808201926020929091908290030181600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050506040513d602081101561266157600080fd5b505190505b8115158061267357508015155b6126b7576040805162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b604482015290519081900360640190fd5b6040805183815260208101839052815133927fbbe753caa9bb201dbd1740ee3d61c6d2adf5fa89f30233d732281ae5db6a03d4928290030190a290955093505050509091565b600480546040805163270fb89160e21b81526001600160a01b0385811694820194909452905160009384931691639c3ee244916024808301926020929190829003018186803b15801561274f57600080fd5b505afa158015612763573d6000803e3d6000fd5b505050506040513d602081101561277957600080fd5b50516005546040805163270fb89160e21b81526001600160a01b03878116600483015291519190921691639c3ee244916024808301926020929190829003018186803b1580156123fd57600080fd5b600854421190565b6004805460408051634581a09b60e11b8152905160009384936001600160a01b031692638b0341369281830192602092829003018186803b15801561281457600080fd5b505afa158015612828573d6000803e3d6000fd5b505050506040513d602081101561283e57600080fd5b505160055460408051634581a09b60e11b815290516001600160a01b0390921691638b03413691600481810192602092909190829003018186803b158015610ca557600080fd5b60135480156128995761289781612251565b505b60006128a36121c4565b604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156128ef57600080fd5b505afa158015612903573d6000803e3d6000fd5b505050506040513d602081101561291957600080fd5b5051905080156129b057816001600160a01b031663a9059cbb85836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561298357600080fd5b505af1158015612997573d6000803e3d6000fd5b505050506040513d60208110156129ad57600080fd5b50505b600480546040805163646d919f60e11b81526001600160a01b03888116948201949094529051929091169163c8db233e9160248082019260009290919082900301818387803b158015612a0257600080fd5b505af1158015612a16573d6000803e3d6000fd5b50506005546040805163646d919f60e11b81526001600160a01b038981166004830152915191909216935063c8db233e9250602480830192600092919082900301818387803b158015612a6857600080fd5b505af1158015612a7c573d6000803e3d6000fd5b50505050836001600160a01b0316ff5b60048054604080516370a0823160e01b81526001600160a01b03858116948201949094529051600093849316916370a08231916024808301926020929190829003018186803b158015612ade57600080fd5b505afa158015612af2573d6000803e3d6000fd5b505050506040513d6020811015612b0857600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156123fd57600080fd5b6000546001600160a01b031690565b600080846001811115612b7557fe5b1415612b825750816121f0565b5092915050565b601454600090600160a01b900460ff1680156106955750600a544211806106955750506013541590565b600082821115612c0a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000612c22838363ffffffff6121f716565b9050806011600001541115612c75576040805162461bcd60e51b8152602060048201526014602482015273125b9cdd59999a58da595b9d0818d85c1a5d185b60621b604482015290519081900360640190fd5b601254612c88848363ffffffff61300416565b8111158015612ca65750612ca2838363ffffffff61300416565b8111155b612ce9576040805162461bcd60e51b815260206004820152600f60248201526e109a591cc81d1bdbc81cdad95dd959608a1b604482015290519081900360640190fd5b50505050565b600080826001811115612cfe57fe5b1415612d1657506004546001600160a01b0316611fd7565b50506005546001600160a01b031690565b600080612d35858585612e3c565b604080518082018252838152602090810183905260068490556007839055815184815290810183905281519395509193507f6546f60f34df611fa42503098acc39d5ab88bc73febe64b3cc14e5a92e3a66a792918290030190a15050505050565b601354600090612dac908363ffffffff6121f716565b60138190559050612dbb612b57565b6001600160a01b031663aeab5849836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156122bb57600080fd5b6000818310612e1e57612e19838363ffffffff612bb316565b6121f0565b50600092915050565b60006121f08383670de0b6b3a764000061302e565b6000808415801590612e4d57508315155b612e95576040805162461bcd60e51b815260206004820152601460248201527342696473206d757374206265206e6f6e7a65726f60601b604482015290519081900360640190fd5b6000612ea084611fa5565b9050612eb2868263ffffffff612e2716565b612ec2868363ffffffff612e2716565b9250925050935093915050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612b825760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f71578181015183820152602001612f59565b50505050905090810190601f168015612f9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006106956c45786368616e6765526174657360981b612ecf565b600080600a8304612fde868663ffffffff61305416565b81612fe557fe5b0490506005600a825b0610612ff857600a015b600a9004949350505050565b60006121f08261302285670de0b6b3a764000063ffffffff61305416565b9063ffffffff6130ad16565b6000806130488461302287600a870263ffffffff61305416565b90506005600a82612fee565b60008261306357506000611867565b8282028284828161307057fe5b04146121f05760405162461bcd60e51b815260040180806020018281038252602181526020018061317e6021913960400191505060405180910390fd5b6000808211613103576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161310e57fe5b04949350505050565bfefe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564a265627a7a72315820fa3a319db20b224bf5a7fcf5735fcda6b3169d4f1c5d8e67a79c3610c5116b3c64736f6c63430005100032608060405234801561001057600080fd5b5060405161114a38038061114a8339818101604052604081101561003357600080fd5b508051602091820151600080546001600160a01b031916331781556001600160a01b0390921682526001909252604090208190556002556110d1806100796000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad5780639c3ee244116100715780639c3ee24414610383578063a9059cbb146103a9578063c8db233e146103d5578063d6ff02e2146103fb578063dd62ed3e1461040357610121565b806370a082311461030357806380f55605146103295780638b0341361461034d5780638dc30b701461035557806395d89b411461037b57610121565b806323b872dd116100f457806323b872dd146102255780632bc43fd91461025b578063313ce5671461028d578063410085df146102ab57806359d667a5146102d757610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e35780631b15982a146101fd575b600080fd5b61012e610431565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b03813516906020013561045e565b604080519115158252519081900360200190f35b6101eb6104db565b60408051918252519081900360200190f35b6102236004803603602081101561021357600080fd5b50356001600160a01b03166104e1565b005b6101cf6004803603606081101561023b57600080fd5b506001600160a01b0381358116916020810135909116906040013561060e565b6101eb6004803603606081101561027157600080fd5b506001600160a01b0381351690602081013590604001356106ca565b610295610861565b6040805160ff9092168252519081900360200190f35b610223600480360360408110156102c157600080fd5b506001600160a01b038135169060200135610866565b610223600480360360408110156102ed57600080fd5b506001600160a01b038135169060200135610920565b6101eb6004803603602081101561031957600080fd5b50356001600160a01b03166109ce565b6103316109e0565b604080516001600160a01b039092168252519081900360200190f35b6101eb6109ef565b6101eb6004803603602081101561036b57600080fd5b50356001600160a01b03166109f5565b61012e610a07565b6101eb6004803603602081101561039957600080fd5b50356001600160a01b0316610a27565b6101cf600480360360408110156103bf57600080fd5b506001600160a01b038135169060200135610ad4565b610223600480360360208110156103eb57600080fd5b50356001600160a01b0316610ae1565b6101eb610b42565b6101eb6004803603604081101561041957600080fd5b506001600160a01b0381358116916020013516610bc3565b6040518060400160405280601181526020017029a72c102134b730b93c9027b83a34b7b760791b81525081565b60006001600160a01b03831661047357600080fd5b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60045481565b6000546001600160a01b03163314610536576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b6001600160a01b0381166000908152600360205260409020548061055a575061060b565b6001600160a01b038216600090815260036020526040812055600454610586908263ffffffff610be016565b6004556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a36040805182815290516001600160a01b038416917f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7919081900360200190a2505b50565b6001600160a01b038316600090815260056020908152604080832033845290915281205480831115610680576040805162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b604482015290519081900360640190fd5b610690818463ffffffff610be016565b6001600160a01b03861660009081526005602090815260408083203384529091529020556106bf858585610c3d565b9150505b9392505050565b600080546001600160a01b03163314610720576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b6001600160a01b03841660009081526001602052604081205490610745828686610e14565b905080610757576000925050506106c3565b60025461076a908363ffffffff610be016565b6002556001600160a01b038616600090815260016020526040812055600454610799908263ffffffff610eb016565b6004556001600160a01b0386166000908152600360205260409020546107c5908263ffffffff610eb016565b6001600160a01b03871660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36040805182815290516001600160a01b038816917fa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a919081900360200190a295945050505050565b601281565b6000546001600160a01b031633146108bb576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546108ed906108e8908363ffffffff610be016565b610f0a565b6001600160a01b038316600090815260016020526040902055600254610919908263ffffffff610be016565b6002555050565b6000546001600160a01b03163314610975576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546109a2906108e8908363ffffffff610eb016565b6001600160a01b038316600090815260016020526040902055600254610919908263ffffffff610eb016565b60036020526000908152604090205481565b6000546001600160a01b031681565b60025481565b60016020526000908152604090205481565b604051806040016040528060048152602001631cd3d41560e21b81525081565b60008054604080516362c47a9360e11b81528151849384936001600160a01b039091169263c588f5269260048083019392829003018186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d6040811015610a9657600080fd5b5080516020918201516001600160a01b03871660009081526001909352604090922054909350909150610aca908383610e14565b925050505b919050565b60006106c3338484610c3d565b6000546001600160a01b03163314610b36576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b806001600160a01b0316ff5b60008054604080516362c47a9360e11b8152815184936001600160a01b03169263c588f5269260048082019391829003018186803b158015610b8357600080fd5b505afa158015610b97573d6000803e3d6000fd5b505050506040513d6040811015610bad57600080fd5b50602001519050610bbd81610f67565b91505090565b600560209081526000928352604080842090915290825290205481565b600082821115610c37576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008060009054906101000a90046001600160a01b03166001600160a01b03166327745bae6040518163ffffffff1660e01b815260040160006040518083038186803b158015610c8c57600080fd5b505afa158015610ca0573d6000803e3d6000fd5b505050506001600160a01b03831615801590610cc557506001600160a01b0383163014155b610d08576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015290519081900360640190fd5b6001600160a01b03841660009081526003602052604090205480831115610d6d576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b610d7d818463ffffffff610be016565b6001600160a01b038087166000908152600360205260408082209390935590861681522054610db2908463ffffffff610eb016565b6001600160a01b0380861660008181526003602090815260409182902094909455805187815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b600080610e27858563ffffffff610f8e16565b90506000610e3484610f67565b905060025486148015610e4657508515155b80610e4f575080155b15610e5d5791506106c39050565b80821115610ea7576040805162461bcd60e51b8152602060048201526012602482015271737570706c79203c20636c61696d61626c6560701b604482015290519081900360640190fd5b50949350505050565b6000828201838110156106c3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000662386f26fc1000082101580610f20575081155b610f63576040805162461bcd60e51b815260206004820152600f60248201526e42616c616e6365203c2024302e303160881b604482015290519081900360640190fd5b5090565b600454600090808311610f7e576000915050610acf565b6106c3838263ffffffff610be016565b60006106c382610fac85670de0b6b3a764000063ffffffff610fb816565b9063ffffffff61101116565b600082610fc7575060006104d5565b82820282848281610fd457fe5b04146106c35760405162461bcd60e51b815260040180806020018281038252602181526020018061107c6021913960400191505060405180910390fd5b6000808211611067576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161107257fe5b0494935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158209d36c4dc6e88f30ecbfe2d2658ee6038aee82f1193e73bc5e5e4fa0a5342204564736f6c63430005100032536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7770bd4a33bf447720d717d08f3affb5aecfe4d2ebb8e3dd94539f5313e2447643596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158205c35abe02193bdb3b33e2be9b0add96786293058b40d53c20ec9f1ddbc6fdadf64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "creator",
							"type": "address"
						},
						{
							"internalType": "uint256[2]",
							"name": "creatorLimits",
							"type": "uint256[2]"
						},
						{
							"internalType": "bytes32",
							"name": "oracleKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "strikePrice",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "refundsEnabled",
							"type": "bool"
						},
						{
							"internalType": "uint256[3]",
							"name": "times",
							"type": "uint256[3]"
						},
						{
							"internalType": "uint256[2]",
							"name": "bids",
							"type": "uint256[2]"
						},
						{
							"internalType": "uint256[3]",
							"name": "fees",
							"type": "uint256[3]"
						}
					],
					"name": "createMarket",
					"outputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x130efa50"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"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": "0x19c02d5083547f83f7498763553980d79e887fc93fa434da292b66a456443759",
				"urls": [
					"bzz-raw://225027c0785bb30c02262866b0a4e0ef2947395876a0d93d64aba33af2c16e80",
					"dweb:/ipfs/QmdLMVX9XmB5KCej8xoY6uUJj3UFuY5mqHdrrVbav4pmDL"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BinaryOptionMarketFactory.sol": "BinaryOptionMarketFactory"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BinaryOptionMarketFactory.sol": {
						"keccak256": "0x19c02d5083547f83f7498763553980d79e887fc93fa434da292b66a456443759",
						"urls": [
							"bzz-raw://225027c0785bb30c02262866b0a4e0ef2947395876a0d93d64aba33af2c16e80",
							"dweb:/ipfs/QmdLMVX9XmB5KCej8xoY6uUJj3UFuY5mqHdrrVbav4pmDL"
						]
					}
				},
				"version": 1
			}
		},
		"BinaryOptionMarketManager": {
			"bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b50604051620038d9380380620038d983398181016040526101408110156200004557600080fd5b508051602082015160408301516060840151608085015160a086015160c087015160e08801516101008901516101209099015197989697959694959394929391929091888a6001600160a01b038116620000e6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000191576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055600080546001600160a01b03191633179055620001dd876001600160e01b036200029a16565b620001f1886001600160e01b03620002e816565b62000205866001600160e01b036200033616565b62000219856001600160e01b036200038416565b6200022d846001600160e01b03620003d216565b62000241836001600160e01b03620004d316565b62000255826001600160e01b036200063616565b62000269816001600160e01b036200079916565b5050600080546001600160a01b0319166001600160a01b03999099169890981790975550620008e795505050505050565b620002ad6001600160e01b036200089a16565b60098190556040805182815290517ff378a0fd4ad3ffd9d7d50986f16b04acd2dc42691c4f412f34e8eefe883e66529181900360200190a150565b620002fb6001600160e01b036200089a16565b60088190556040805182815290517f5a2f2eae84f9e787d8159d363a776fa2b61d084686190cdc5a2c1ea833480b099181900360200190a150565b620003496001600160e01b036200089a16565b600a8190556040805182815290517f6de18e808fc4e6cb9c8910cf4bdc188ddbbdab65faecff65dab871720e8484899181900360200190a150565b620003976001600160e01b036200089a16565b600b8190556040805182815290517fdf7a26ae2e2eb953b81fd76b72fcdc74ebff7c21faa8f8f55323183d9785f52d9181900360200190a150565b620003e56001600160e01b036200089a16565b73__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200042a57600080fd5b505af41580156200043f573d6000803e3d6000fd5b505050506040513d60208110156200045657600080fd5b5051811115620004985760405162461bcd60e51b815260040180806020018281038252602d81526020018062003834602d913960400191505060405180910390fd5b600c8190556040805182815290517fd39cfbe31b20dbb6d995a675cf5c369555bf8bb908b6efc03873907fe9e133cf9181900360200190a150565b620004e66001600160e01b036200089a16565b60006005600101548201905073__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200053757600080fd5b505af41580156200054c573d6000803e3d6000fd5b505050506040513d60208110156200056357600080fd5b50518110620005a45760405162461bcd60e51b8152600401808060200182810382526021815260200180620038616021913960400191505060405180910390fd5b80600010620005fa576040805162461bcd60e51b815260206004820152601a60248201527f546f74616c20666565206d757374206265206e6f6e7a65726f2e000000000000604482015290519081900360640190fd5b60058290556040805183815290517f7b30e8f8e3de254785fbcb3068449dc18060f1fdb37b02731ecada99a78492c39181900360200190a15050565b620006496001600160e01b036200089a16565b60006005600001548201905073__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200069a57600080fd5b505af4158015620006af573d6000803e3d6000fd5b505050506040513d6020811015620006c657600080fd5b50518110620007075760405162461bcd60e51b8152600401808060200182810382526021815260200180620038616021913960400191505060405180910390fd5b806000106200075d576040805162461bcd60e51b815260206004820152601a60248201527f546f74616c20666565206d757374206265206e6f6e7a65726f2e000000000000604482015290519081900360640190fd5b60068290556040805183815290517f8c14462add32e0ae0fbfcf9e60711ecae573da337dc9127fff98fb7cfb3973b49181900360200190a15050565b620007ac6001600160e01b036200089a16565b73__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620007f157600080fd5b505af415801562000806573d6000803e3d6000fd5b505050506040513d60208110156200081d57600080fd5b50518111156200085f5760405162461bcd60e51b8152600401808060200182810382526028815260200180620038b16028913960400191505060405180910390fd5b60078190556040805182815290517f01634ac4e9f09be1ef87b8d09e14926870261dcb9a0929d2d6460af6e4c5ad1e9181900360200190a150565b6000546001600160a01b03163314620008e55760405162461bcd60e51b815260040180806020018281038252602f81526020018062003882602f913960400191505060405180910390fd5b565b612f3d80620008f76000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80637859f4101161013b578063ac60c486116100b8578063c014fb841161007c578063c014fb84146106fc578063c095daf21461076a578063e73efc9b14610787578063fe40c470146107aa578063ff50abdc146107d05761023d565b8063ac60c48614610622578063adfd31af1461062a578063aeab5849146106a1578063bd6a10b8146106be578063be5af9fe146106db5761023d565b806391b4ded9116100ff57806391b4ded91461055257806394fcf3c31461055a5780639501dc871461058f5780639af1d35a146105ac5780639b11dc40146105b45761023d565b80637859f410146104a157806379ba5097146104c7578063899ffef4146104cf57806389c6318d146105275780638da5cb5b1461054a5761023d565b806336fd711e116101c957806364af2d871161018d57806364af2d871461043a57806364cf34bd146104425780636b3a09841461045f57806373b7de151461047c57806374185360146104995761023d565b806336fd711e146103c857806339ab4c41146103e55780634a41d89d1461040457806353a47bb71461042a5780635c975abb146104325761023d565b8063155028401161021057806315502840146103245780631627540c1461034157806316c38b3c146103675780631f3f10b0146103865780632af64bd3146103ac5761023d565b806302610c501461024257806303ff60181461025c57806304f3bcec146102e35780630dd16fd514610307575b600080fd5b61024a6107d8565b60408051918252519081900360200190f35b6102e16004803603606081101561027257600080fd5b6001600160a01b03823516916020810135151591810190606081016040820135600160201b8111156102a357600080fd5b8201836020820111156102b557600080fd5b803590602001918460208302840111600160201b831117156102d657600080fd5b5090925090506107df565b005b6102eb610ab1565b604080516001600160a01b039092168252519081900360200190f35b6102e16004803603602081101561031d57600080fd5b5035610ac5565b6102e16004803603602081101561033a57600080fd5b5035610c17565b6102e16004803603602081101561035757600080fd5b50356001600160a01b0316610c5a565b6102e16004803603602081101561037d57600080fd5b50351515610cb6565b6102e16004803603602081101561039c57600080fd5b50356001600160a01b0316610d30565b6103b4610d5a565b604080519115158252519081900360200190f35b6102e1600480360360208110156103de57600080fd5b5035610e6a565b6102e1600480360360208110156103fb57600080fd5b50351515610f5b565b61040c610fba565b60408051938452602084019290925282820152519081900360600190f35b6102eb610fc6565b6103b4610fd5565b6103b4610fde565b6102e16004803603602081101561045857600080fd5b5035610fe7565b6102e16004803603602081101561047557600080fd5b503561102a565b6102e16004803603602081101561049257600080fd5b5035611122565b6102e1611213565b6102e1600480360360208110156104b757600080fd5b50356001600160a01b03166113f0565b6102e16114c1565b6104d761157d565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105135781810151838201526020016104fb565b505050509050019250505060405180910390f35b6104d76004803603604081101561053d57600080fd5b5080359060200135611652565b6102eb61166f565b61024a61167e565b6102eb600480360360e081101561057057600080fd5b508035906020810135906040810135151590606081019060a001611684565b6102e1600480360360208110156105a557600080fd5b5035611c2a565b61040c611d7c565b6102e1600480360360208110156105ca57600080fd5b810190602081018135600160201b8111156105e457600080fd5b8201836020820111156105f657600080fd5b803590602001918460208302840111600160201b8311171561061757600080fd5b509092509050611d88565b61024a611fd0565b6102e16004803603604081101561064057600080fd5b813515159190810190604081016020820135600160201b81111561066357600080fd5b82018360208201111561067557600080fd5b803590602001918460208302840111600160201b8311171561069657600080fd5b509092509050611fd6565b6102e1600480360360208110156106b757600080fd5b5035612206565b6102e1600480360360208110156106d457600080fd5b5035612300565b6106e3612343565b6040805192835260208301919091528051918290030190f35b6102e16004803603602081101561071257600080fd5b810190602081018135600160201b81111561072c57600080fd5b82018360208201111561073e57600080fd5b803590602001918460208302840111600160201b8311171561075f57600080fd5b50909250905061234c565b6102e16004803603602081101561078057600080fd5b5035612482565b6104d76004803603604081101561079d57600080fd5b50803590602001356124c5565b6102e1600480360360208110156107c057600080fd5b50356001600160a01b03166124d9565b61024a6126ed565b600f545b90565b6107e76126f3565b80806107f35750610aab565b600084610801576011610804565b600f5b90506000805b8381101561098257600086868381811061082057fe5b905060200201356001600160a01b0316905061083b8161273e565b61087e576040805162461bcd60e51b815260206004820152600f60248201526e26b0b935b2ba103ab735b737bbb71760891b604482015290519081900360640190fd5b61088e848263ffffffff61277016565b610903816001600160a01b031663eef49ee36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ca57600080fd5b505afa1580156108de573d6000803e3d6000fd5b505050506040513d60208110156108f457600080fd5b5051849063ffffffff6128b116565b9250806001600160a01b0316631627540c8a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561095d57600080fd5b505af1158015610971573d6000803e3d6000fd5b50506001909301925061080a915050565b50600e54610996908263ffffffff61290b16565b600e55604080516001600160a01b038916815260208082018381529282018790527f3e429aa34462b428d3f7277acb67e1c83d80a57faab2a47924369b5060f35679928a92899289929060608301908590850280828437600083820152604051601f909101601f1916909201829003965090945050505050a16040805163adfd31af60e01b81528715156004820190815260248201928352604482018790526001600160a01b038a169263adfd31af928a928a928a92606401846020850280828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b158015610a8f57600080fd5b505af1158015610aa3573d6000803e3d6000fd5b505050505050505b50505050565b60035461010090046001600160a01b031681565b610acd6126f3565b60006005600001548201905073__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1d57600080fd5b505af4158015610b31573d6000803e3d6000fd5b505050506040513d6020811015610b4757600080fd5b50518110610b865760405162461bcd60e51b8152600401808060200182810382526021815260200180612ded6021913960400191505060405180910390fd5b80600010610bdb576040805162461bcd60e51b815260206004820152601a60248201527f546f74616c20666565206d757374206265206e6f6e7a65726f2e000000000000604482015290519081900360640190fd5b60068290556040805183815290517f8c14462add32e0ae0fbfcf9e60711ecae573da337dc9127fff98fb7cfb3973b49181900360200190a15050565b610c1f6126f3565b60098190556040805182815290517ff378a0fd4ad3ffd9d7d50986f16b04acd2dc42691c4f412f34e8eefe883e66529181900360200190a150565b610c626126f3565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610cbe6126f3565b60035460ff1615158115151415610cd457610d2d565b6003805460ff1916821515179081905560ff1615610cf157426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b610d386126f3565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b60006060610d6661157d565b905060005b8151811015610e61576000828281518110610d8257fe5b602090810291909101810151600081815260048084526040918290205460035483516321f8a72160e01b815292830185905292519395506001600160a01b039081169461010090930416926321f8a72192602480840193919291829003018186803b158015610df057600080fd5b505afa158015610e04573d6000803e3d6000fd5b505050506040513d6020811015610e1a57600080fd5b50516001600160a01b0316141580610e4757506000818152600460205260409020546001600160a01b0316155b15610e5857600093505050506107dc565b50600101610d6b565b50600191505090565b610e726126f3565b73__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610eb657600080fd5b505af4158015610eca573d6000803e3d6000fd5b505050506040513d6020811015610ee057600080fd5b5051811115610f205760405162461bcd60e51b8152600401808060200182810382526028815260200180612ee16028913960400191505060405180910390fd5b60078190556040805182815290517f01634ac4e9f09be1ef87b8d09e14926870261dcb9a0929d2d6460af6e4c5ad1e9181900360200190a150565b610f636126f3565b600d5460ff16151581151514610d2d57600d805482151560ff19909116811790915560408051918252517fcc590b6309435383b617aaa0cae6aba938f2ee471cfb539201dd7655a23caff99181900360200190a150565b600854600954600a5483565b6001546001600160a01b031681565b60035460ff1681565b600d5460ff1681565b610fef6126f3565b600a8190556040805182815290517f6de18e808fc4e6cb9c8910cf4bdc188ddbbdab65faecff65dab871720e8484899181900360200190a150565b6110333361273e565b61106e5760405162461bcd60e51b8152600401808060200182810382526021815260200180612e306021913960400191505060405180910390fd5b60035460ff16156110b05760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b6110b8612968565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156110f057600080fd5b505afa158015611104573d6000803e3d6000fd5b5050600e5461111c925090508263ffffffff61290b16565b600e5550565b61112a6126f3565b73__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561116e57600080fd5b505af4158015611182573d6000803e3d6000fd5b505050506040513d602081101561119857600080fd5b50518111156111d85760405162461bcd60e51b815260040180806020018281038252602d815260200180612dc0602d913960400191505060405180910390fd5b600c8190556040805182815290517fd39cfbe31b20dbb6d995a675cf5c369555bf8bb908b6efc03873907fe9e133cf9181900360200190a150565b606061121d61157d565b905060005b81518110156113ec57600082828151811061123957fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113045781810151838201526020016112ec565b50505050905090810190601f1680156113315780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561134f57600080fd5b505afa158015611363573d6000803e3d6000fd5b505050506040513d602081101561137957600080fd5b505160008381526004602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611222565b5050565b611401600f8263ffffffff61298716565b611449576040805162461bcd60e51b8152602060048201526014602482015273139bdd08185b881858dd1a5d99481b585c9ad95d60621b604482015290519081900360640190fd5b806001600160a01b0316632810e1d66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561148457600080fd5b505af1158015611498573d6000803e3d6000fd5b505050506114b081600f61277090919063ffffffff16565b610d2d60118263ffffffff6129f516565b6001546001600160a01b0316331461150a5760405162461bcd60e51b8152600401808060200182810382526035815260200180612d8b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106115bd57fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816001815181106115e357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061160d57fe5b6020026020010181815250507842696e6172794f7074696f6e4d61726b6574466163746f727960381b8160038151811061164357fe5b60200260200101818152505090565b60606116666011848463ffffffff612a4716565b90505b92915050565b6000546001600160a01b031681565b60025481565b60035460009060ff16156116c95760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b6116d1612968565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561170957600080fd5b505afa15801561171d573d6000803e3d6000fd5b5050600d5460ff16915061177a9050576040805162461bcd60e51b815260206004820152601b60248201527f4d61726b6574206372656174696f6e2069732064697361626c65640000000000604482015290519081900360640190fd5b61178386612b1d565b6117c2576040805162461bcd60e51b815260206004820152600b60248201526a496e76616c6964206b657960a81b604482015290519081900360640190fd5b600a548335906020850135904201811115611824576040805162461bcd60e51b815260206004820152601e60248201527f4d6174757269747920746f6f2066617220696e20746865206675747572650000604482015290519081900360640190fd5b60095460009061183b90839063ffffffff6128b116565b9050600061184e863560208801356128b1565b90508342106118a4576040805162461bcd60e51b815260206004820152601960248201527f456e64206f662062696464696e67206861732070617373656400000000000000604482015290519081900360640190fd5b8284106118f8576040805162461bcd60e51b815260206004820181905260248201527f4d6174757269747920707265646174657320656e64206f662062696464696e67604482015290519081900360640190fd5b6000611902612c51565b6001600160a01b031663130efa50336040518060400160405280600b600001548152602001600b600101548152508e8e8e60405180606001604052808d81526020018c81526020018b8152508e6040518060600160405280600560000154815260200160056001015481526020016005600201548152506040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b0316815260200188600260200280838360005b838110156119c85781810151838201526020016119b0565b505050509050018781526020018681526020018515151515815260200184600360200280838360005b83811015611a095781810151838201526020016119f1565b5050505090500183600260200280828437600081840152601f19601f82011690508083019250505082600360200280838360005b83811015611a55578181015183820152602001611a3d565b5050505090500198505050505050505050602060405180830381600087803b158015611a8057600080fd5b505af1158015611a94573d6000803e3d6000fd5b505050506040513d6020811015611aaa57600080fd5b5051604080516303a0c29b60e51b815290519192506001600160a01b0383169163741853609160048082019260009290919082900301818387803b158015611af157600080fd5b505af1158015611b05573d6000803e3d6000fd5b50505050611b1d81600f6129f590919063ffffffff16565b600e54611b30908363ffffffff6128b116565b600e55611b3b612c78565b604080516323b872dd60e01b81523360048201526001600160a01b03848116602483015260448201869052915192909116916323b872dd916064808201926020929091908290030181600087803b158015611b9557600080fd5b505af1158015611ba9573d6000803e3d6000fd5b505050506040513d6020811015611bbf57600080fd5b5050604080516001600160a01b0383168152602081018c9052808201879052606081018690526080810185905290518c9133917fbcd154709bbe69680012cadcd07d57bd4a0ec64a033c2a3e31d2d0fadb38d3a89181900360a00190a39a9950505050505050505050565b611c326126f3565b60006005600101548201905073__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611c8257600080fd5b505af4158015611c96573d6000803e3d6000fd5b505050506040513d6020811015611cac57600080fd5b50518110611ceb5760405162461bcd60e51b8152600401808060200182810382526021815260200180612ded6021913960400191505060405180910390fd5b80600010611d40576040805162461bcd60e51b815260206004820152601a60248201527f546f74616c20666565206d757374206265206e6f6e7a65726f2e000000000000604482015290519081900360640190fd5b60058290556040805183815290517f7b30e8f8e3de254785fbcb3068449dc18060f1fdb37b02731ecada99a78492c39181900360200190a15050565b60055460065460075483565b60005b81811015611fcb576000838383818110611da157fe5b6040805160048152602481018252602081810180516001600160e01b03166303a0c29b60e51b178152925182516001600160a01b0392909502969096013516955093600093508592859282918083835b60208310611e105780518252601f199092019160209182019101611df1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611e72576040519150601f19603f3d011682016040523d82523d6000602084013e611e77565b606091505b5050905080611fc057600354604080516001600160a01b03610100909304831660248083019190915282518083039091018152604490910182526020810180516001600160e01b0316633be99e6f60e01b1781529151815191936000939088169285929182918083835b60208310611f005780518252601f199092019160209182019101611ee1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f62576040519150601f19603f3d011682016040523d82523d6000602084013e611f67565b606091505b5050905080611fbd576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f742072656275696c6420636163686520666f72206d61726b657400604482015290519081900360640190fd5b50505b505050600101611d8b565b505050565b60115490565b6013546001600160a01b0316331461201f5760405162461bcd60e51b8152600401808060200182810382526025815260200180612e806025913960400191505060405180910390fd5b808061202b5750611fcb565b60008461203957601161203c565b600f5b90506000805b8381101561216a57600086868381811061205857fe5b905060200201356001600160a01b031690506120738161273e565b156120bd576040805162461bcd60e51b815260206004820152601560248201527426b0b935b2ba1030b63932b0b23c9035b737bbb71760591b604482015290519081900360640190fd5b806001600160a01b03166379ba50976040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156120f857600080fd5b505af115801561210c573d6000803e3d6000fd5b5050505061212381856129f590919063ffffffff16565b61215f816001600160a01b031663eef49ee36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ca57600080fd5b925050600101612042565b50600e5461217e908263ffffffff6128b116565b600e55601354604080516001600160a01b0390921680835260208084018381529284018890527fea7a4e14e72ba7db7e2fd406278900badf50b2ce7d9def39d613cc08054c537b9391928992899290919060608301908590850280828437600083820152604051601f909101601f1916909201829003965090945050505050a1505050505050565b612217600f3363ffffffff61298716565b6122525760405162461bcd60e51b8152600401808060200182810382526022815260200180612e0e6022913960400191505060405180910390fd5b60035460ff16156122945760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b61229c612968565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156122d457600080fd5b505afa1580156122e8573d6000803e3d6000fd5b5050600e5461111c925090508263ffffffff6128b116565b6123086126f3565b60088190556040805182815290517f5a2f2eae84f9e787d8159d363a776fa2b61d084686190cdc5a2c1ea833480b099181900360200190a150565b600b54600c5482565b60035460ff161561238e5760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b60005b81811015611fcb5760008383838181106123a757fe5b905060200201356001600160a01b03169050806001600160a01b031663c8db233e336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561241157600080fd5b505af1158015612425573d6000803e3d6000fd5b5050505061243d81601161277090919063ffffffff16565b604080516001600160a01b038316815290517f16e62064e42f5aec62df22ae895ef539f153e0d4ea290e2cc4e0e8f708f2fbbc9181900360200190a150600101612391565b61248a6126f3565b600b8190556040805182815290517fdf7a26ae2e2eb953b81fd76b72fcdc74ebff7c21faa8f8f55323183d9785f52d9181900360200190a150565b6060611666600f848463ffffffff612a4716565b60035460ff161561251b5760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b61252c600f8263ffffffff61298716565b612574576040805162461bcd60e51b8152602060048201526014602482015273139bdd08185b881858dd1a5d99481b585c9ad95d60621b604482015290519081900360640190fd5b6000816001600160a01b03166302d05d3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156125af57600080fd5b505afa1580156125c3573d6000803e3d6000fd5b505050506040513d60208110156125d957600080fd5b50519050336001600160a01b0382161461263a576040805162461bcd60e51b815260206004820152601960248201527f53656e646572206e6f74206d61726b65742063726561746f7200000000000000604482015290519081900360640190fd5b6040805163130cffa560e21b815233600482015290516001600160a01b03841691634c33fe9491602480830192600092919082900301818387803b15801561268157600080fd5b505af1158015612695573d6000803e3d6000fd5b505050506126ad82600f61277090919063ffffffff16565b604080516001600160a01b038416815290517f996fafab197beb99fff6fdc975bb6cf90352f2c733c76ef37c2e27f17d7d424b9181900360200190a15050565b600e5481565b6000546001600160a01b0316331461273c5760405162461bcd60e51b815260040180806020018281038252602f815260200180612e51602f913960400191505060405180910390fd5b565b6000612751600f8363ffffffff61298716565b80612768575061276860118363ffffffff61298716565b90505b919050565b61277a8282612987565b6127c1576040805162461bcd60e51b815260206004820152601360248201527222b632b6b2b73a103737ba1034b71039b2ba1760691b604482015290519081900360640190fd5b6001600160a01b03811660009081526001830160205260409020548254600019018082146128605760008460000182815481106127fa57fe5b60009182526020909120015485546001600160a01b039091169150819086908590811061282357fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b835484908061286b57fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b600082820183811015611666576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115612962576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006129826b53797374656d53746174757360a01b612c8b565b905090565b815460009061299857506000611669565b6001600160a01b0382166000908152600184016020526040902054801515806129ed5750826001600160a01b0316846000016000815481106129d657fe5b6000918252602090912001546001600160a01b0316145b949350505050565b6129ff8282612987565b6113ec5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b825460609083830190811115612a5b575083545b838111612a78575050604080516000815260208101909152612b16565b604080518583038082526020808202830101909252606090828015612aa7578160200160208202803883390190505b50905060005b82811015612b10578760000187820181548110612ac657fe5b9060005260206000200160009054906101000a90046001600160a01b0316828281518110612af057fe5b6001600160a01b0390921660209283029190910190910152600101612aad565b50925050505b9392505050565b600080612b28612d6f565b9050806001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612b6e57600080fd5b505afa158015612b82573d6000803e3d6000fd5b505050506040513d6020811015612b9857600080fd5b505115612c485782631cd554d160e21b1415612bb857600091505061276b565b6000816001600160a01b031663728dec29856040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b158015612bfe57600080fd5b505afa158015612c12573d6000803e3d6000fd5b505050506040513d60a0811015612c2857600080fd5b505190508015612c3d5760009250505061276b565b60019250505061276b565b50600092915050565b60006129827842696e6172794f7074696f6e4d61726b6574466163746f727960381b612c8b565b60006129826814de5b9d1a1cd554d160ba1b5b600081815260046020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612d685760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d2d578181015183820152602001612d15565b50505050905090810190601f168015612d5a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b60006129826c45786368616e6765526174657360981b612c8b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043726561746f7220736b6577206c696d6974206d757374206265206e6f2067726561746572207468616e20312e546f74616c20666565206d757374206265206c657373207468616e20313030252e5065726d6974746564206f6e6c7920666f7220616374697665206d61726b6574732e5065726d6974746564206f6e6c7920666f72206b6e6f776e206d61726b6574732e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c79207065726d697474656420666f72206d6967726174696e67206d616e616765722e5468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564526566756e6420666565206d757374206265206e6f2067726561746572207468616e20313030252ea265627a7a7231582043adbc0bb81423316dbb485df25b3f0930cad64d0326a2b2a36aa5657359e69864736f6c6343000510003243726561746f7220736b6577206c696d6974206d757374206265206e6f2067726561746572207468616e20312e546f74616c20666565206d757374206265206c657373207468616e20313030252e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e526566756e6420666565206d757374206265206e6f2067726561746572207468616e20313030252e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_maxOraclePriceAge",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_expiryDuration",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_maxTimeToMaturity",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_creatorCapitalRequirement",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_creatorSkewLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_poolFee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_creatorFee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_refundFee",
							"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": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "CreatorCapitalRequirementUpdated",
					"type": "event",
					"signature": "0xdf7a26ae2e2eb953b81fd76b72fcdc74ebff7c21faa8f8f55323183d9785f52d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "CreatorFeeUpdated",
					"type": "event",
					"signature": "0x8c14462add32e0ae0fbfcf9e60711ecae573da337dc9127fff98fb7cfb3973b4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "CreatorSkewLimitUpdated",
					"type": "event",
					"signature": "0xd39cfbe31b20dbb6d995a675cf5c369555bf8bb908b6efc03873907fe9e133cf"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "ExerciseDurationUpdated",
					"type": "event",
					"signature": "0xf0a1ff3a67369ec37b38f6cf8dec83acaffd6d00a2dd1e95a12394d4863a0b71"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "ExpiryDurationUpdated",
					"type": "event",
					"signature": "0xf378a0fd4ad3ffd9d7d50986f16b04acd2dc42691c4f412f34e8eefe883e6652"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "market",
							"type": "address"
						}
					],
					"name": "MarketCancelled",
					"type": "event",
					"signature": "0x996fafab197beb99fff6fdc975bb6cf90352f2c733c76ef37c2e27f17d7d424b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "market",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "creator",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "oracleKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "strikePrice",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "biddingEndDate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maturityDate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "expiryDate",
							"type": "uint256"
						}
					],
					"name": "MarketCreated",
					"type": "event",
					"signature": "0xbcd154709bbe69680012cadcd07d57bd4a0ec64a033c2a3e31d2d0fadb38d3a8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "MarketCreationEnabledUpdated",
					"type": "event",
					"signature": "0xcc590b6309435383b617aaa0cae6aba938f2ee471cfb539201dd7655a23caff9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "market",
							"type": "address"
						}
					],
					"name": "MarketExpired",
					"type": "event",
					"signature": "0x16e62064e42f5aec62df22ae895ef539f153e0d4ea290e2cc4e0e8f708f2fbbc"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract BinaryOptionMarketManager",
							"name": "receivingManager",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "contract BinaryOptionMarket[]",
							"name": "markets",
							"type": "address[]"
						}
					],
					"name": "MarketsMigrated",
					"type": "event",
					"signature": "0x3e429aa34462b428d3f7277acb67e1c83d80a57faab2a47924369b5060f35679"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract BinaryOptionMarketManager",
							"name": "migratingManager",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "contract BinaryOptionMarket[]",
							"name": "markets",
							"type": "address[]"
						}
					],
					"name": "MarketsReceived",
					"type": "event",
					"signature": "0xea7a4e14e72ba7db7e2fd406278900badf50b2ce7d9def39d613cc08054c537b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "MaxOraclePriceAgeUpdated",
					"type": "event",
					"signature": "0x5a2f2eae84f9e787d8159d363a776fa2b61d084686190cdc5a2c1ea833480b09"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "MaxTimeToMaturityUpdated",
					"type": "event",
					"signature": "0x6de18e808fc4e6cb9c8910cf4bdc188ddbbdab65faecff65dab871720e848489"
				},
				{
					"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": "fee",
							"type": "uint256"
						}
					],
					"name": "PoolFeeUpdated",
					"type": "event",
					"signature": "0x7b30e8f8e3de254785fbcb3068449dc18060f1fdb37b02731ecada99a78492c3"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						}
					],
					"name": "RefundFeeUpdated",
					"type": "event",
					"signature": "0x01634ac4e9f09be1ef87b8d09e14926870261dcb9a0929d2d6460af6e4c5ad1e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "activeMarkets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe73efc9b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "market",
							"type": "address"
						}
					],
					"name": "cancelMarket",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfe40c470"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "oracleKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "strikePrice",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "refundsEnabled",
							"type": "bool"
						},
						{
							"internalType": "uint256[2]",
							"name": "times",
							"type": "uint256[2]"
						},
						{
							"internalType": "uint256[2]",
							"name": "bids",
							"type": "uint256[2]"
						}
					],
					"name": "createMarket",
					"outputs": [
						{
							"internalType": "contract IBinaryOptionMarket",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94fcf3c3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "creatorLimits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "capitalRequirement",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "skewLimit",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbe5af9fe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "delta",
							"type": "uint256"
						}
					],
					"name": "decrementTotalDeposited",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6b3a0984"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "durations",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxOraclePriceAge",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "expiryDuration",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "maxTimeToMaturity",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4a41d89d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "markets",
							"type": "address[]"
						}
					],
					"name": "expireMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc014fb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fees",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "poolFee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "creatorFee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refundFee",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9af1d35a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "delta",
							"type": "uint256"
						}
					],
					"name": "incrementTotalDeposited",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaeab5849"
				},
				{
					"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": "marketCreationEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x64af2d87"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "maturedMarkets",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c6318d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarketManager",
							"name": "receivingManager",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "active",
							"type": "bool"
						},
						{
							"internalType": "contract BinaryOptionMarket[]",
							"name": "marketsToMigrate",
							"type": "address[]"
						}
					],
					"name": "migrateMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x03ff6018"
				},
				{
					"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": "numActiveMarkets",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x02610c50"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "numMaturedMarkets",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac60c486"
				},
				{
					"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": "contract BinaryOptionMarket[]",
							"name": "marketsToSync",
							"type": "address[]"
						}
					],
					"name": "rebuildMarketCaches",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9b11dc40"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "active",
							"type": "bool"
						},
						{
							"internalType": "contract BinaryOptionMarket[]",
							"name": "marketsToReceive",
							"type": "address[]"
						}
					],
					"name": "receiveMarkets",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xadfd31af"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "market",
							"type": "address"
						}
					],
					"name": "resolveMarket",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7859f410"
				},
				{
					"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": "_creatorCapitalRequirement",
							"type": "uint256"
						}
					],
					"name": "setCreatorCapitalRequirement",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc095daf2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_creatorFee",
							"type": "uint256"
						}
					],
					"name": "setCreatorFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0dd16fd5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_creatorSkewLimit",
							"type": "uint256"
						}
					],
					"name": "setCreatorSkewLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x73b7de15"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_expiryDuration",
							"type": "uint256"
						}
					],
					"name": "setExpiryDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x15502840"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "setMarketCreationEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x39ab4c41"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxOraclePriceAge",
							"type": "uint256"
						}
					],
					"name": "setMaxOraclePriceAge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbd6a10b8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxTimeToMaturity",
							"type": "uint256"
						}
					],
					"name": "setMaxTimeToMaturity",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x64cf34bd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarketManager",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "setMigratingManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1f3f10b0"
				},
				{
					"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": "_poolFee",
							"type": "uint256"
						}
					],
					"name": "setPoolFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9501dc87"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_refundFee",
							"type": "uint256"
						}
					],
					"name": "setRefundFee",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x36fd711e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalDeposited",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xff50abdc"
				}
			],
			"source": {
				"keccak256": "0x2e5c533119e027ff1083ea3845643d65379a51ac6c22e4dca1399f32938f024d",
				"urls": [
					"bzz-raw://a953ed712d384414dcbdc31ef7b01fee2a6749c3fc568489fcd94b46c88bb6ad",
					"dweb:/ipfs/QmcyYLZV8Upp6WrdHgUNT1C6JGPTUaW8x8MpH9StTGNJvp"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BinaryOptionMarketManager.sol": "BinaryOptionMarketManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BinaryOptionMarketManager.sol": {
						"keccak256": "0x2e5c533119e027ff1083ea3845643d65379a51ac6c22e4dca1399f32938f024d",
						"urls": [
							"bzz-raw://a953ed712d384414dcbdc31ef7b01fee2a6749c3fc568489fcd94b46c88bb6ad",
							"dweb:/ipfs/QmcyYLZV8Upp6WrdHgUNT1C6JGPTUaW8x8MpH9StTGNJvp"
						]
					}
				},
				"version": 1
			}
		},
		"BinaryOptionMarketData": {
			"bytecode": "608060405234801561001057600080fd5b506112f7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631216fc7b14610046578063a30c302d1461006f578063dca5f5c31461008f575b600080fd5b610059610054366004610e75565b6100af565b60405161006691906111f1565b60405180910390f35b61008261007d366004610e75565b61047c565b60405161006691906111e2565b6100a261009d366004610e93565b610a61565b60405161006691906111d4565b6100b7610c44565b600080836001600160a01b0316631069143a6040518163ffffffff1660e01b8152600401604080518083038186803b1580156100f257600080fd5b505afa158015610106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061012a9190810190610ecd565b915091506000806000866001600160a01b0316639e3b34bf6040518163ffffffff1660e01b815260040160606040518083038186803b15801561016c57600080fd5b505afa158015610180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101a49190810190610e28565b9250925092506000806000896001600160a01b03166398508ecd6040518163ffffffff1660e01b815260040160606040518083038186803b1580156101e857600080fd5b505afa1580156101fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102209190810190610e28565b92509250925060008060008c6001600160a01b0316639af1d35a6040518163ffffffff1660e01b815260040160606040518083038186803b15801561026457600080fd5b505afa158015610278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061029c9190810190610e28565b9250925092506102aa610c44565b6040518060c001604052808f6001600160a01b03166302d05d3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102ee57600080fd5b505afa158015610302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103269190810190610de4565b6001600160a01b0316815260200160405180604001604052808f6001600160a01b031681526020018e6001600160a01b0316815250815260200160405180606001604052808d81526020018c81526020018b815250815260200160405180606001604052808a81526020018981526020018881525081526020016040518060600160405280878152602001868152602001858152508152602001604051806040016040528060008152602001600081525081525090506000808f6001600160a01b031663be5af9fe6040518163ffffffff1660e01b8152600401604080518083038186803b15801561041757600080fd5b505afa15801561042b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061044f9190810190610f57565b60408051808201909152918252602082015260a084015250909c505050505050505050505050505b919050565b610484610ca0565b600080836001600160a01b031663c7a5bdc86040518163ffffffff1660e01b8152600401604080518083038186803b1580156104bf57600080fd5b505afa1580156104d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104f79190810190610f57565b91509150600080856001600160a01b0316633d7a783b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561053657600080fd5b505afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061056e9190810190610f57565b91509150600080876001600160a01b031663d068cdc56040518163ffffffff1660e01b8152600401604080518083038186803b1580156105ad57600080fd5b505afa1580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105e59190810190610f57565b91509150600080896001600160a01b0316638b0341366040518163ffffffff1660e01b8152600401604080518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065c9190810190610f57565b915091506000808b6001600160a01b031663d3419bf36040518163ffffffff1660e01b8152600401604080518083038186803b15801561069b57600080fd5b505afa1580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106d39190810190610f57565b9150915060405180610120016040528060405180604001604052808d81526020018c8152508152602001604051806040016040528085815260200184815250815260200160405180604001604052808f6001600160a01b031663eef49ee36040518163ffffffff1660e01b815260040160206040518083038186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107939190810190610f39565b81526020018f6001600160a01b0316632115e3036040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108099190810190610f39565b815250815260200160405180604001604052808f6001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061088d9190810190610e0a565b151581526020018f6001600160a01b031663ac3791e36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109059190810190610e0a565b151581525081526020018d6001600160a01b031663b1c9fe6e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561094857600080fd5b505afa15801561095c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109809190810190610efd565b600381111561098b57fe5b81526020018d6001600160a01b031663653721476040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c957600080fd5b505afa1580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a019190810190610f1b565b6001811115610a0c57fe5b81526040805180820182529687526020878101969096528582019690965285518087018752998a5289850198909852848801989098525050815180830190925292815291820152606090910152949350505050565b610a69610d03565b600080846001600160a01b03166329e77b5d856040518263ffffffff1660e01b8152600401610a9891906111c6565b604080518083038186803b158015610aaf57600080fd5b505afa158015610ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae79190810190610f57565b91509150600080866001600160a01b031663408e82af876040518263ffffffff1660e01b8152600401610b1a91906111c6565b604080518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b699190810190610f57565b91509150600080886001600160a01b0316636392a51f896040518263ffffffff1660e01b8152600401610b9c91906111c6565b604080518083038186803b158015610bb357600080fd5b505afa158015610bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190610f57565b6040805160a08101825260608101998a5260808101989098529787528751808901895295865260208681019590955284870195909552865180880188529081529283019390935250928201929092529150505b92915050565b6040518060c0016040528060006001600160a01b03168152602001610c67610d16565b8152602001610c74610d2d565b8152602001610c81610d4e565b8152602001610c8e610d2d565b8152602001610c9b610d72565b905290565b604051806101200160405280610cb4610d72565b8152602001610cc1610d72565b8152602001610cce610d72565b8152602001610cdb610d16565b81526020016000815260200160008152602001610cf6610d72565b8152602001610c8e610d72565b6040518060600160405280610cf6610d72565b604080518082019091526000808252602082015290565b60405180606001604052806000815260200160008152602001600081525090565b60405180606001604052806000801916815260200160008152602001600081525090565b604051806040016040528060008152602001600081525090565b8035610c3e8161126b565b8051610c3e8161126b565b8051610c3e8161127f565b8051610c3e81611288565b8035610c3e81611291565b8051610c3e81611291565b8051610c3e8161129a565b8051610c3e816112a7565b600060208284031215610df657600080fd5b6000610e028484610d97565b949350505050565b600060208284031215610e1c57600080fd5b6000610e028484610da2565b600080600060608486031215610e3d57600080fd5b6000610e498686610dad565b9350506020610e5a86828701610dad565b9250506040610e6b86828701610dad565b9150509250925092565b600060208284031215610e8757600080fd5b6000610e028484610db8565b60008060408385031215610ea657600080fd5b6000610eb28585610db8565b9250506020610ec385828601610d8c565b9150509250929050565b60008060408385031215610ee057600080fd5b6000610eec8585610dc3565b9250506020610ec385828601610dc3565b600060208284031215610f0f57600080fd5b6000610e028484610dce565b600060208284031215610f2d57600080fd5b6000610e028484610dd9565b600060208284031215610f4b57600080fd5b6000610e028484610dad565b60008060408385031215610f6a57600080fd5b6000610f768585610dad565b9250506020610ec385828601610dad565b610f9081611200565b82525050565b610f908161120b565b610f9081611210565b610f9081611213565b610f908161123e565b610f9081611249565b805160c0830190610fd48482611000565b506020820151610fe76040850182611000565b506040820151610ffa6080850182611000565b50505050565b805160408301906110118482610f9f565b506020820151610ffa6020850182610f9f565b805160608301906110358482610f9f565b5060208201516110486020850182610f9f565b506040820151610ffa6040850182610f9f565b805161020083019061106d8482611000565b5060208201516110806040850182611000565b5060408201516110936080850182611000565b5060608201516110a660c08501826111a2565b5060808201516110ba610100850182610fb1565b5060a08201516110ce610120850182610fba565b5060c08201516110e2610140850182611000565b5060e08201516110f6610180850182611000565b50610100820151610ffa6101c0850182611000565b80516101c083019061111d8482610f87565b506020820151611130602085018261117e565b5060408201516111436060850182611024565b50606082015161115660c0850182611024565b50608082015161116a610120850182611024565b5060a0820151610ffa610180850182611000565b8051604083019061118f8482610fa8565b506020820151610ffa6020850182610fa8565b805160408301906111b38482610f96565b506020820151610ffa6020850182610f96565b60208101610c3e8284610f87565b60c08101610c3e8284610fc3565b6102008101610c3e828461105b565b6101c08101610c3e828461110b565b6000610c3e82611232565b151590565b90565b6000610c3e82611200565b8061047781611254565b8061047781611261565b6001600160a01b031690565b6000610c3e8261121e565b6000610c3e82611228565b6004811061125e57fe5b50565b6002811061125e57fe5b61127481611200565b811461125e57600080fd5b6112748161120b565b61127481611210565b61127481611213565b6004811061125e57600080fd5b6002811061125e57600080fdfea365627a7a723158201a6330c1b3b45158c7aef469156860076f8983a4dba2eddc63c6a6b18e813a276c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "market",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getAccountMarketData",
					"outputs": [
						{
							"components": [
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "bids",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "claimable",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "balances",
									"type": "tuple"
								}
							],
							"internalType": "struct BinaryOptionMarketData.AccountData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdca5f5c3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "market",
							"type": "address"
						}
					],
					"name": "getMarketData",
					"outputs": [
						{
							"components": [
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "price",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "updatedAt",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OraclePriceAndTimestamp",
									"name": "oraclePriceAndTimestamp",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarket.Prices",
									"name": "prices",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "deposited",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "exercisableDeposits",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.Deposits",
									"name": "deposits",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "bool",
											"name": "resolved",
											"type": "bool"
										},
										{
											"internalType": "bool",
											"name": "canResolve",
											"type": "bool"
										}
									],
									"internalType": "struct BinaryOptionMarketData.Resolution",
									"name": "resolution",
									"type": "tuple"
								},
								{
									"internalType": "enum IBinaryOptionMarket.Phase",
									"name": "phase",
									"type": "uint8"
								},
								{
									"internalType": "enum IBinaryOptionMarket.Side",
									"name": "result",
									"type": "uint8"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "totalBids",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "totalClaimableSupplies",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "totalSupplies",
									"type": "tuple"
								}
							],
							"internalType": "struct BinaryOptionMarketData.MarketData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa30c302d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "market",
							"type": "address"
						}
					],
					"name": "getMarketParameters",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "creator",
									"type": "address"
								},
								{
									"components": [
										{
											"internalType": "contract BinaryOption",
											"name": "long",
											"type": "address"
										},
										{
											"internalType": "contract BinaryOption",
											"name": "short",
											"type": "address"
										}
									],
									"internalType": "struct BinaryOptionMarket.Options",
									"name": "options",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "biddingEnd",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "maturity",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "expiry",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarket.Times",
									"name": "times",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "bytes32",
											"name": "key",
											"type": "bytes32"
										},
										{
											"internalType": "uint256",
											"name": "strikePrice",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "finalPrice",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarket.OracleDetails",
									"name": "oracleDetails",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "poolFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "creatorFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "refundFee",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketManager.Fees",
									"name": "fees",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "capitalRequirement",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "skewLimit",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketManager.CreatorLimits",
									"name": "creatorLimits",
									"type": "tuple"
								}
							],
							"internalType": "struct BinaryOptionMarketData.MarketParameters",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1216fc7b"
				}
			]
		},
		"PynthUtil": {
			"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": "frozenPynths",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ebf118b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "pynthsBalances",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x597ece84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsRates",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd5541523"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsTotalSupplies",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2637a91"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalPynthsInKey",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xca2577e1"
				}
			]
		},
		"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": "608060405234801561001057600080fd5b50604051612bbc380380612bbc8339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050612a96806101266000396000f3fe608060405234801561001057600080fd5b50600436106102bb5760003560e01c80637418536011610182578063add0989d116100e9578063d1f57368116100a2578063e94220461161007c578063e9422046146106b5578063f1076b25146106d2578063f344da67146106da578063fb1b4c7e146106e2576102bb565b8063d1f57368146106a5578063d62ae3991461067d578063e0e6393d146106ad576102bb565b8063add0989d1461067d578063af5355d814610685578063af8bc6601461068d578063b2ea7054146104ae578063b410a03414610695578063c193f0d81461069d576102bb565b8063899ffef41161013b578063899ffef4146105d35780638da5cb5b1461062b578063946ce8cd14610633578063967706e914610650578063a0cf74511461066d578063a4ce5b7114610675576102bb565b806374185360146104b657806379ba5097146104be57806379cb657a146104c65780637bf82305146104e3578063826098e81461050957806389257117146105cb576102bb565b80632806a7431161022657806353a47bb7116101df57806353a47bb714610447578063580a975c1461044f5780635e0117d6146104575780636190dd7a14610474578063635a387214610491578063657c6dc7146104ae576102bb565b80632806a743146103c25780632af64bd3146103df5780632cce0e54146103fb578063372a395a146104185780634641ab66146104205780634c36b8371461043f576102bb565b80631627540c116102785780631627540c1461035f5780631775765f146103855780631e6e21901461038d57806322425fa4146103aa57806323f5589a146103b2578063242df9e1146103ba576102bb565b80630286d274146102c057806304c49f2c146102df57806304f3bcec146102fc578063054be0b714610320578063085f95cd1461033d5780630ee4951b14610357575b600080fd5b6102dd600480360360208110156102d657600080fd5b50356106ea565b005b6102dd600480360360208110156102f557600080fd5b50356107cc565b610304610952565b604080516001600160a01b039092168252519081900360200190f35b6102dd6004803603602081101561033657600080fd5b5035610961565b610345610a7a565b60408051918252519081900360200190f35b610345610a86565b6102dd6004803603602081101561037557600080fd5b50356001600160a01b0316610a96565b610345610af2565b6102dd600480360360208110156103a357600080fd5b5035610afc565b610345610bde565b610345610be8565b610345610bf2565b6102dd600480360360208110156103d857600080fd5b5035610bfc565b6103e7610d1a565b604080519115158252519081900360200190f35b6102dd6004803603602081101561041157600080fd5b5035610e24565b610345610fd9565b6102dd6004803603602081101561043657600080fd5b50351515610fe3565b6103046110c2565b6103046110cc565b6103456110db565b6102dd6004803603602081101561046d57600080fd5b50356110e2565b6102dd6004803603602081101561048a57600080fd5b5035611267565b6102dd600480360360208110156104a757600080fd5b5035611341565b610345611417565b6102dd611423565b6102dd6115eb565b6102dd600480360360208110156104dc57600080fd5b50356116a7565b6102dd600480360360208110156104f957600080fd5b50356001600160a01b031661177b565b6102dd6004803603604081101561051f57600080fd5b81019060208101813564010000000081111561053a57600080fd5b82018360208201111561054c57600080fd5b8035906020019184602083028401116401000000008311171561056e57600080fd5b91939092909160208101903564010000000081111561058c57600080fd5b82018360208201111561059e57600080fd5b803590602001918460208302840111640100000000831117156105c057600080fd5b5090925090506118bd565b610345611ae8565b6105db611af2565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156106175781810151838201526020016105ff565b505050509050019250505060405180910390f35b610304611b43565b6102dd6004803603602081101561064957600080fd5b5035611b52565b6103456004803603602081101561066657600080fd5b5035611d29565b610345611d3a565b610345611d44565b610345611d50565b610345611d57565b610345611d61565b610345611d66565b6103e7611d70565b610345611d7a565b610345611d84565b6102dd600480360360208110156106cb57600080fd5b5035611d8e565b610345611ebb565b610345611ec2565b610345611ec9565b6106f2611ed5565b6106fa611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191527f63726f7373446f6d61696e4d6573736167654761734c696d6974000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561077d57600080fd5b505af1158015610791573d6000803e3d6000fd5b50506040805184815290517fcc41f635caf801d02ec495cd73b332a74862cdb43e423a550c9e4d8effb156fb9350908190036020019150a150565b6107d4611ed5565b6201518081101561082c576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610884576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b61088c611f20565b6001600160a01b0316631d5b277f600080516020612a0f833981519152703332b2a832b934b7b2223ab930ba34b7b760791b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561090357600080fd5b505af1158015610917573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610969611ed5565b670de0b6b3a76400008111156109b05760405162461bcd60e51b8152600401808060200182810382526033815260200180612a2f6033913960400191505060405180910390fd5b6109b8611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191526c69737375616e6365526174696f60981b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610a2b57600080fd5b505af1158015610a3f573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6703782dace9d9000081565b6000610a90611f3d565b90505b90565b610a9e611ed5565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610a90611fe3565b610b04611ed5565b610b0c611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610b8f57600080fd5b505af1158015610ba3573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610a90612059565b6000610a906120d0565b6000610a90612148565b610c04611ed5565b6703782dace9d90000811115610c4b5760405162461bcd60e51b81526004018080602001828103825260218152602001806129316021913960400191505060405180910390fd5b610c53611f20565b6001600160a01b0316631d5b277f600080516020612a0f833981519152716c69717569646174696f6e50656e616c747960701b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b60006060610d26611af2565b905060005b8151811015610e1b576000828281518110610d4257fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610daa57600080fd5b505afa158015610dbe573d6000803e3d6000fd5b505050506040513d6020811015610dd457600080fd5b50516001600160a01b0316141580610e0157506000818152600360205260409020546001600160a01b0316155b15610e125760009350505050610a93565b50600101610d2b565b50600191505090565b610e2c611ed5565b6032811115610e77576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b6000610f0a6064610efe73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ec557600080fd5b505af4158015610ed9573d6000803e3d6000fd5b505050506040513d6020811015610eef57600080fd5b5051859063ffffffff6121be16565b9063ffffffff61221e16565b9050610f14611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610f8957600080fd5b505af1158015610f9d573d6000803e3d6000fd5b50506040805184815290517fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab129350908190036020019150a15050565b6000610a90612288565b610feb611ed5565b610ff3611f20565b60408051630fca29bf60e21b8152600080516020612a0f8339815191526004820152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6024820152831515604482015290516001600160a01b039290921691633f28a6fc9160648082019260009290919082900301818387803b15801561107157600080fd5b505af1158015611085573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b6000610a9061230b565b6001546001600160a01b031681565b62093a8081565b6110ea611ed5565b62278d00811115611142576040805162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015290519081900360640190fd5b6201518081101561119a576040805162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e203120646179000000000000604482015290519081900360640190fd5b6111a2611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191526f6c69717569646174696f6e44656c617960801b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561121857600080fd5b505af115801561122c573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b61126f611ed5565b611277611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191527464656274536e617073686f745374616c6554696d6560581b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156112f257600080fd5b505af1158015611306573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b611349611ed5565b611351611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191527077616974696e67506572696f645365637360781b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156113c857600080fd5b505af11580156113dc573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b670de0b6b3a764000081565b606061142d611af2565b905060005b81518110156115e757600082828151811061144957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156114ff5781810151838201526020016114e7565b50505050905090810190601f16801561152c5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561154a57600080fd5b505afa15801561155e573d6000803e3d6000fd5b505050506040513d602081101561157457600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611432565b5050565b6001546001600160a01b031633146116345760405162461bcd60e51b81526004018080602001828103825260358152602001806129526035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6116af611ed5565b6116b7611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561172c57600080fd5b505af1158015611740573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b611783611ed5565b6001600160a01b0381166117de576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b6117e6611f20565b604080516309b9412f60e31b8152600080516020612a0f83398151915260048201527561676772656761746f725761726e696e67466c61677360501b60248201526001600160a01b03848116604483015291519290911691634dca09789160648082019260009290919082900301818387803b15801561186557600080fd5b505af1158015611879573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b6118c5611ed5565b828114611919576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015611ae15767016345785d8a000083838381811061193957fe5b905060200201351115611993576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b61199b611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191526e65786368616e67654665655261746560881b8888868181106119d757fe5b90506020020135604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120868686818110611a1757fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611a6257600080fd5b505af1158015611a76573d6000803e3d6000fd5b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e858583818110611aa757fe5b90506020020135848484818110611aba57fe5b604080519485526020918202939093013590840152508051918290030190a160010161191c565b5050505050565b6000610a90612387565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611b3457fe5b60200260200101818152505090565b6000546001600160a01b031681565b611b5a611ed5565b611bf9611be4611b686120d0565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611bac57600080fd5b505af4158015611bc0573d6000803e3d6000fd5b505050506040513d6020811015611bd657600080fd5b50519063ffffffff6123fe16565b670de0b6b3a76400009063ffffffff61245816565b811115611c375760405162461bcd60e51b81526004018080602001828103825260388152602001806129876038913960400191505060405180910390fd5b6000611c59671bc16d674ec80000611c4d612476565b9063ffffffff6124e916565b9050611c63611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191526f6c69717569646174696f6e526174696f60801b856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611cd957600080fd5b505af1158015611ced573d6000803e3d6000fd5b50506040805185815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a15050565b6000611d3482612513565b92915050565b6000610a906125e8565b671bc16d674ec8000081565b6201518081565b6000610a9061265e565b603281565b6000610a90612476565b6000610a906126d9565b6000610a90612754565b6000610a906127d7565b611d96611ed5565b62093a80811115611dee576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b611df6611f20565b6001600160a01b0316631d5b277f600080516020612a0f8339815191526f6d696e696d756d5374616b6554696d6560801b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611e6c57600080fd5b505af1158015611e80573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b62278d0081565b624f1a0081565b67016345785d8a000081565b6000546001600160a01b03163314611f1e5760405162461bcd60e51b815260040180806020018281038252602f8152602001806129bf602f913960400191505060405180910390fd5b565b6000610a906e466c657869626c6553746f7261676560881b61284c565b6000611f47611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b505afa158015611fc6573d6000803e3d6000fd5b505050506040513d6020811015611fdc57600080fd5b5051905090565b6000611fed611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b6000612063611f20565b6001600160a01b03166323257c2b600080516020612a0f833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b60006120da611f20565b6001600160a01b03166323257c2b600080516020612a0f833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b6000612152611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b6000826121cd57506000611d34565b828202828482816121da57fe5b04146122175760405162461bcd60e51b81526004018080602001828103825260218152602001806129ee6021913960400191505060405180910390fd5b9392505050565b6000808211612274576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161227f57fe5b04949350505050565b6000612292611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b6000612315611f20565b6001600160a01b0316639ee5955a600080516020612a0f8339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b6000612391611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b600082820183811015612217576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061221782610efe85670de0b6b3a764000063ffffffff6121be16565b6000612480611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b6000670de0b6b3a7640000612504848463ffffffff6121be16565b8161250b57fe5b049392505050565b600061251d611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156125b657600080fd5b505afa1580156125ca573d6000803e3d6000fd5b505050506040513d60208110156125e057600080fd5b505192915050565b60006125f2611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b6000612668611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b60006126e3611f20565b6001600160a01b031663d994502d600080516020612a0f833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b600061275e611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191527f63726f7373446f6d61696e4d6573736167654761734c696d69740000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b60006127e1611f20565b6001600160a01b03166323257c2b600080516020612a0f8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611fb257600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816129295760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128ee5781810151838201526020016128d6565b50505050905090810190601f16801561291b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753797374656d53657474696e67730000000000000000000000000000000000004e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494fa265627a7a723158205c387267c802eedb1500fb98bc8a6d0b5af4e3f7681833d9281b9799c18ca04f64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "flags",
							"type": "address"
						}
					],
					"name": "AggregatorWarningFlagsUpdated",
					"type": "event",
					"signature": "0x0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLimit",
							"type": "uint256"
						}
					],
					"name": "CrossDomainMessageGasLimitChanged",
					"type": "event",
					"signature": "0xcc41f635caf801d02ec495cd73b332a74862cdb43e423a550c9e4d8effb156fb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtSnapshotStaleTime",
							"type": "uint256"
						}
					],
					"name": "DebtSnapshotStaleTimeUpdated",
					"type": "event",
					"signature": "0x9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeUpdated",
					"type": "event",
					"signature": "0xbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newFeePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "FeePeriodDurationUpdated",
					"type": "event",
					"signature": "0x791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event",
					"signature": "0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDelay",
							"type": "uint256"
						}
					],
					"name": "LiquidationDelayUpdated",
					"type": "event",
					"signature": "0x9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c5398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event",
					"signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimumStakeTime",
							"type": "uint256"
						}
					],
					"name": "MinimumStakeTimeUpdated",
					"type": "event",
					"signature": "0x2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e814477"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "threshold",
							"type": "uint256"
						}
					],
					"name": "PriceDeviationThresholdUpdated",
					"type": "event",
					"signature": "0x6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rateStalePeriod",
							"type": "uint256"
						}
					],
					"name": "RateStalePeriodUpdated",
					"type": "event",
					"signature": "0x16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newTargetThreshold",
							"type": "uint256"
						}
					],
					"name": "TargetThresholdUpdated",
					"type": "event",
					"signature": "0xb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "TradingRewardsEnabled",
					"type": "event",
					"signature": "0xe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "WaitingPeriodSecsUpdated",
					"type": "event",
					"signature": "0xc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXCHANGE_FEE_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb1b4c7e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf344da67"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ISSUANCE_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x657c6dc7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1076b25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_PENALTY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x085f95cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2ea7054"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINIMUM_STAKE_TIME",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x580a975c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_TARGET_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf8bc660"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd62ae399"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xadd0989d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "RATIO_FROM_TARGET_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4ce5b71"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "crossDomainMessageGasLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd1f57368"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x967706e9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7bf82305"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_crossDomainMessageGasLimit",
							"type": "uint256"
						}
					],
					"name": "setCrossDomainMessageGasLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0286d274"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setDebtSnapshotStaleTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6190dd7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x826098e8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_feePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "setFeePeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04c49f2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x054be0b7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "setLiquidationDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5e0117d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2806a743"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setMinimumStakeTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9422046"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_priceDeviationThresholdFactor",
							"type": "uint256"
						}
					],
					"name": "setPriceDeviationThresholdFactor",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1e6e2190"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "setRateStalePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79cb657a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_percent",
							"type": "uint256"
						}
					],
					"name": "setTargetThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2cce0e54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_tradingRewardsEnabled",
							"type": "bool"
						}
					],
					"name": "setTradingRewardsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4641ab66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "setWaitingPeriodSecs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x635a3872"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0xab5c7dd35ccf7a44c4048415f42dddddf72feeb32f0af19ffc86fc5c26472df0",
				"urls": [
					"bzz-raw://309409ec8b95e30e8519364c267db95f9f6337bb81b98fec60de2c61fdc04ff0",
					"dweb:/ipfs/QmR3DHULQCskDuf8XZ8NdaFqg7PFi2ZHZWd3yQofp79rpB"
				]
			},
			"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": "0xab5c7dd35ccf7a44c4048415f42dddddf72feeb32f0af19ffc86fc5c26472df0",
						"urls": [
							"bzz-raw://309409ec8b95e30e8519364c267db95f9f6337bb81b98fec60de2c61fdc04ff0",
							"dweb:/ipfs/QmR3DHULQCskDuf8XZ8NdaFqg7PFi2ZHZWd3yQofp79rpB"
						]
					}
				},
				"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
			}
		},
		"EtherCollateralpUSD": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$dea560c1c88ab8ee92a045569682361255$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b505160960260085560408051630241ebdb60e61b8152905160649173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600955620001266301e133806009546200069360201b6200404e1790919060201c565b600a556103e873__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600b5573__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b50516298968002600c5560408051630241ebdb60e61b8152905173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c0916004808301926020929190829003018186803b1580156200027557600080fd5b505af41580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b5051600d556032600e55600f805460ff1916905560408051630241ebdb60e61b8152905160649173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c091600480820192602092909190829003018186803b1580156200030557600080fd5b505af41580156200031a573d6000803e3d6000fd5b505050506040513d60208110156200033157600080fd5b5051609602816200033e57fe5b04601155600a73__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038957600080fd5b505af41580156200039e573d6000803e3d6000fd5b505050506040513d6020811015620003b557600080fd5b505181620003bf57fe5b0460125560405180608001604052806b53797374656d53746174757360a01b81526020016814de5b9d1a1cd554d160ba1b81526020016c45786368616e6765526174657360981b815260200166119959541bdbdb60ca1b81525060189060046200042b929190620006ff565b503480156200043957600080fd5b506040516200534238038062005342833981810160405260408110156200045f57600080fd5b508051602090910151604080516103008101918290528291601890819081845b8154815260200190600101908083116200047f57508793505050506001600160a01b038116620004f6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620005a1576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60016004556000546001600160a01b0316620005f8576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60005b6018811015620006605760008282601881106200061457fe5b602002015114620006515760078282601881106200062e57fe5b602090810291909101518254600181018455600093845291909220015562000657565b62000660565b600101620005fb565b5050600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a000160105562000762565b6000808211620006ea576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620006f657fe5b04949350505050565b826018810192821562000730579160200282015b828111156200073057825182559160200191906001019062000713565b506200073e92915062000742565b5090565b6200075f91905b808211156200073e576000815560010162000749565b90565b614bd080620007726000396000f3fe6080604052600436106103815760003560e01c80637c3a00fd116101d1578063ab49848c11610102578063e3235c91116100a0578063ee5f3f5c1161006f578063ee5f3f5c14610d43578063eea8f5da14610d58578063f45f08fb14610d6d578063f53dfb8414610da657610381565b8063e3235c9114610cda578063e3c1e58c14610cef578063e40108ed14610d04578063e5829d2014610d1957610381565b8063c6c9d828116100dc578063c6c9d82814610c38578063d05951a014610c62578063dcaf9c4414610c8c578063e220a81114610ca157610381565b8063ab49848c14610ba9578063b410a03414610bf7578063bb8c6d6c14610c0c57610381565b8063946ce8cd1161016f578063a2e1734211610149578063a2e1734214610a89578063a5d5db0c14610ab9578063a76cdfa514610ae5578063aa754a2a14610b0f57610381565b8063946ce8cd146109c65780639f7d5688146109f0578063a1c5158614610a0557610381565b806389c937de116101ab57806389c937de146109395780638da5cb5b146109725780638fdc8f3b1461098757806391b4ded9146109b157610381565b80637c3a00fd146108695780637cc1f8671461087e57806380a5d3d8146108fa57610381565b80633be99e6f116102b65780635c975abb11610254578063631e144411610223578063631e1444146107dc578063675969be1461080f578063767a7b051461082457806379ba50971461085457610381565b80635c975abb1461070d5780635d1a2229146107365780635f84f3021461076057806360655ba71461078a57610381565b80634f069f66116102905780634f069f66146106785780634f11815c146106a257806353a47bb7146106db57806354e3e70d146106f057610381565b80633be99e6f146105f75780634189bb491461062a578063462b97251461063f57610381565b806323aa7f0f116103235780632f2bf15b116102fd5780632f2bf15b146104f0578063361e208614610573578063384585711461058857806339735e37146105c757610381565b806323aa7f0f146104b157806323f5589a146104c657806324bbab8b146104db57610381565b80631627540c1161035f5780631627540c1461041157806316c38b3c146104465780631775765f1461047257806317da255e1461048757610381565b806304f3bcec14610386578063089f7fb4146103b75780631474b279146103fc575b600080fd5b34801561039257600080fd5b5061039b610dd0565b604080516001600160a01b039092168252519081900360200190f35b3480156103c357600080fd5b506103ea600480360360208110156103da57600080fd5b50356001600160a01b0316610ddf565b60408051918252519081900360200190f35b34801561040857600080fd5b506103ea610df1565b34801561041d57600080fd5b506104446004803603602081101561043457600080fd5b50356001600160a01b0316610df7565b005b34801561045257600080fd5b506104446004803603602081101561046957600080fd5b50351515610e53565b34801561047e57600080fd5b506103ea610ecd565b34801561049357600080fd5b50610444600480360360208110156104aa57600080fd5b5035610ed3565b3480156104bd57600080fd5b506103ea610f16565b3480156104d257600080fd5b506103ea610f1c565b3480156104e757600080fd5b506103ea610f22565b3480156104fc57600080fd5b506105236004803603602081101561051357600080fd5b50356001600160a01b0316610f2c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561055f578181015183820152602001610547565b505050509050019250505060405180910390f35b34801561057f57600080fd5b506103ea61111e565b34801561059457600080fd5b50610444600480360360608110156105ab57600080fd5b506001600160a01b038135169060208101359060400135611124565b3480156105d357600080fd5b506103ea600480360360408110156105ea57600080fd5b50803590602001356116ff565b34801561060357600080fd5b506104446004803603602081101561061a57600080fd5b50356001600160a01b03166117f2565b34801561063657600080fd5b506103ea61191f565b34801561064b57600080fd5b506103ea6004803603604081101561066257600080fd5b506001600160a01b038135169060200135611925565b34801561068457600080fd5b506104446004803603602081101561069b57600080fd5b5035611945565b3480156106ae57600080fd5b506103ea600480360360408110156106c557600080fd5b506001600160a01b038135169060200135611988565b3480156106e757600080fd5b5061039b6119af565b6103ea6004803603602081101561070657600080fd5b50356119be565b34801561071957600080fd5b50610722612001565b604080519115158252519081900360200190f35b34801561074257600080fd5b506104446004803603602081101561075957600080fd5b503561200a565b34801561076c57600080fd5b506104446004803603602081101561078357600080fd5b503561208d565b34801561079657600080fd5b506107c3600480360360408110156107ad57600080fd5b506001600160a01b0381351690602001356121d9565b6040805192835260208301919091528051918290030190f35b3480156107e857600080fd5b50610722600480360360208110156107ff57600080fd5b50356001600160a01b0316612249565b34801561081b57600080fd5b506103ea612364565b34801561083057600080fd5b506104446004803603604081101561084757600080fd5b508035906020013561236a565b34801561086057600080fd5b506104446126c2565b34801561087557600080fd5b506103ea61277e565b34801561088a57600080fd5b50610893612784565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b34801561090657600080fd5b506104446004803603606081101561091d57600080fd5b506001600160a01b0381351690602081013590604001356127ef565b34801561094557600080fd5b506103ea6004803603604081101561095c57600080fd5b506001600160a01b038135169060200135612b50565b34801561097e57600080fd5b5061039b612bb2565b34801561099357600080fd5b506103ea600480360360208110156109aa57600080fd5b5035612bc1565b3480156109bd57600080fd5b506103ea612c67565b3480156109d257600080fd5b50610444600480360360208110156109e957600080fd5b5035612c6d565b3480156109fc57600080fd5b506103ea612d6a565b348015610a1157600080fd5b50610a3e60048036036040811015610a2857600080fd5b506001600160a01b038135169060200135612d70565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b348015610a9557600080fd5b506103ea60048036036040811015610aac57600080fd5b5080359060200135612e17565b61044460048036036040811015610acf57600080fd5b506001600160a01b038135169060200135612e45565b348015610af157600080fd5b5061044460048036036020811015610b0857600080fd5b503561300b565b348015610b1b57600080fd5b50610b4860048036036040811015610b3257600080fd5b506001600160a01b03813516906020013561304e565b604080516001600160a01b03909b168b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015264ffffffffff1661012083015251908190036101400190f35b348015610bb557600080fd5b50610bbe6130cc565b604051808261030080838360005b83811015610be4578181015183820152602001610bcc565b5050505090500191505060405180910390f35b348015610c0357600080fd5b506103ea613116565b348015610c1857600080fd5b5061044460048036036020811015610c2f57600080fd5b5035151561313b565b348015610c4457600080fd5b506103ea60048036036020811015610c5b57600080fd5b50356131e5565b348015610c6e57600080fd5b5061044460048036036020811015610c8557600080fd5b5035613203565b348015610c9857600080fd5b506103ea61331b565b348015610cad57600080fd5b5061044460048036036040811015610cc457600080fd5b506001600160a01b038135169060200135613321565b348015610ce657600080fd5b506103ea6134d2565b348015610cfb57600080fd5b506107226134d7565b348015610d1057600080fd5b506103ea6134e0565b348015610d2557600080fd5b5061044460048036036020811015610d3c57600080fd5b50356134e6565b348015610d4f57600080fd5b506103ea6135ba565b348015610d6457600080fd5b506103ea6135c0565b348015610d7957600080fd5b506103ea60048036036040811015610d9057600080fd5b506001600160a01b0381351690602001356135c6565b348015610db257600080fd5b506103ea60048036036020811015610dc957600080fd5b50356135f0565b6005546001600160a01b031681565b60176020526000908152604090205481565b600e5481565b610dff61369d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610e5b61369d565b60035460ff1615158115151415610e7157610eca565b6003805460ff1916821515179081905560ff1615610e8e57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60115481565b610edb61369d565b600d8190556040805182815290517f9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb69181900360200190a150565b60145481565b60125481565b6208aa8960eb1b81565b6001600160a01b03811660009081526016602090815260408083208054825181850281018501909352808352606094859484015b828210156110035760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff166101208301529083529092019101610f60565b50505050905060608151604051908082528060200260200182016040528015611036578160200160208202803883390190505b5090506000805b83518110156110a45783818151811061105257fe5b602002602001015160c001516000141561109c5783818151811061107257fe5b602002602001015160a0015183838151811061108a57fe5b60209081029190910101526001909101905b60010161103d565b506060816040519080825280602002602001820160405280156110d1578160200160208202803883390190505b50905060005b82811015611112578381815181106110eb57fe5b60200260200101518282815181106110ff57fe5b60209081029190910101526001016110d7565b5093505050505b919050565b600b5481565b60048054600101908190556111376136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561118057600080fd5b505afa158015611194573d6000803e3d6000fd5b505050506040513d60208110156111aa57600080fd5b5051156111ec576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b6111f4613739565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050508161124d613789565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112a257600080fd5b505afa1580156112b6573d6000803e3d6000fd5b505050506040513d60208110156112cc57600080fd5b5051101561131b576040805162461bcd60e51b81526020600482015260176024820152764e6f7420656e6f75676820735553442062616c616e636560481b604482015290519081900360640190fd5b6113236147ef565b61132d85856137d6565b905061133881613919565b6000806000611346846139b5565b925092509250601154831061138c5760405162461bcd60e51b81526004018080602001828103825260288152602001806148726028913960400191505060405180910390fd5b60006113c36113bd836113b18861010001518960400151613aa590919063ffffffff16565b9063ffffffff613aa516565b846116ff565b905060008782106113d457876113d6565b815b90506113e0613789565b6001600160a01b0316639dc29fac33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b50505050600080600061148284611478888c6101000151613aa590919063ffffffff16565b8b60400151613aff565b509250925092506114938383613b78565b600061149d6136e8565b6001600160a01b031663654a60ac631cd554d160e21b876208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156114fd57600080fd5b505afa158015611511573d6000803e3d6000fd5b505050506040513d602081101561152757600080fd5b505160125460408051630241ebdb60e61b815290519293506000926115cc926115bf92909173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c0916004808301926020929190829003018186803b15801561158757600080fd5b505af415801561159b573d6000803e3d6000fd5b505050506040513d60208110156115b157600080fd5b50519063ffffffff613aa516565b839063ffffffff613c9716565b90506115f08b6115e9868e60400151613cc190919063ffffffff16565b8542613d1e565b6116108b61160b838e60200151613cc190919063ffffffff16565b613dfe565b50604051339082156108fc029083906000818181858888f1935050505015801561163e573d6000803e3d6000fd5b508e6001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58f33898560405180858152602001846001600160a01b03166001600160a01b0316815260200183815260200182815260200194505050505060405180910390a2505050505050505050505060045481146116f9576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b50505050565b60008073__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561174657600080fd5b505af415801561175a573d6000803e3d6000fd5b505050506040513d602081101561177057600080fd5b5051601154909150600061179a61178d868463ffffffff613f2316565b879063ffffffff613cc116565b905060006117d36117c6846117ba60125488613aa590919063ffffffff16565b9063ffffffff613f2316565b859063ffffffff613cc116565b90506117e5828263ffffffff613f2316565b9450505050505b92915050565b6117fa61369d565b600580546001600160a01b0319166001600160a01b03831617905560005b60075481101561191b5760006007828154811061183157fe5b600091825260209182902001546005546040805163dacb2d0160e01b81526004810184905260248101829052601760448201527f5265736f6c766572206d697373696e6720746172676574000000000000000000606482015290519294506001600160a01b039091169263dacb2d0192608480840193829003018186803b1580156118bb57600080fd5b505afa1580156118cf573d6000803e3d6000fd5b505050506040513d60208110156118e557600080fd5b505160009182526006602052604090912080546001600160a01b0319166001600160a01b03909216919091179055600101611818565b5050565b60155481565b600061192f6147ef565b61193984846137d6565b60600151949350505050565b61194d61369d565b600c8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b60006119926147ef565b61199c84846137d6565b90506119a781613f4d565b949350505050565b6001546001600160a01b031681565b60035460009060ff1615611a035760405162461bcd60e51b815260040180806020018281038252603c815260200180614a7e603c913960400191505060405180910390fd5b6004805460010190819055611a166136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611a5f57600080fd5b505afa158015611a73573d6000803e3d6000fd5b505050506040513d6020811015611a8957600080fd5b505115611acb576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b611ad3613739565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611b0b57600080fd5b505afa158015611b1f573d6000803e3d6000fd5b50505050600d54341015611b645760405162461bcd60e51b8152600401808060200182810382526048815260200180614b546048913960600191505060405180910390fd5b600f5460ff1615611bbc576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600e543360009081526016602052604090205410611c0b5760405162461bcd60e51b8152600401808060200182810382526023815260200180614a0b6023913960400191505060405180910390fd5b6000611c1634612bc1565b905080841115611c575760405162461bcd60e51b81526004018080602001828103825260278152602001806149456027913960400191505060405180910390fd5b6000611c6285613fb4565b90506000611c76868363ffffffff613cc116565b9050600c54611c9087601354613aa590919063ffffffff16565b1115611ccd5760405162461bcd60e51b81526004018080602001828103825260238152602001806149e86023913960400191505060405180910390fd5b611cd5613fcb565b9450611cdf6147ef565b5060408051610140810182523381523460208201529081018790526060810183905242608082015260a08101869052600060c0820181905260095460e083015261010082018190526101208201528215611e2c57611d3b613789565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611dae57600080fd5b505af1158015611dc2573d6000803e3d6000fd5b50505050611dce614003565b6001600160a01b03166322bf55ef846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611e1357600080fd5b505af1158015611e27573d6000803e3d6000fd5b505050505b336000908152601660209081526040808320805460018082018355918552938390208551600a9095020180546001600160a01b0319166001600160a01b0390951694909417845591840151918301919091558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009909101805464ffffffffff191664ffffffffff909216919091179055601354611ef49088613aa5565b601355611eff613789565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611f5e57600080fd5b505af1158015611f72573d6000803e3d6000fd5b505060408051898152602081018b905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505050506004548114611ffb576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b50919050565b60035460ff1681565b61201261369d565b6103e881106120525760405162461bcd60e51b81526004018080602001828103825260338152602001806149b56033913960400191505060405180910390fd5b600e8190556040805182815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a150565b61209561369d565b6301e1338081116120d75760405162461bcd60e51b8152600401808060200182810382526037815260200180614b1d6037913960400191505060405180910390fd5b73__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561211b57600080fd5b505af415801561212f573d6000803e3d6000fd5b505050506040513d602081101561214557600080fd5b50518111156121855760405162461bcd60e51b8152600401808060200182810382526025815260200180614aba6025913960400191505060405180910390fd5b600981905561219e816301e1338063ffffffff61404e16565b600a5560095460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b6000806121e46147ef565b6121ee85856137d6565b9050600061220e8261010001518360400151613aa590919063ffffffff16565b90506122376122258261222085613f4d565b612e17565b6101008401519063ffffffff613aa516565b93508160600151925050509250929050565b6005546000906001600160a01b0383811691161461226957506000611119565b60005b60075481101561235b5760006007828154811061228557fe5b6000918252602080832090910154808352600682526040928390205460055484516321f8a72160e01b81526004810184905294519295506001600160a01b03918216949116926321f8a72192602480840193829003018186803b1580156122eb57600080fd5b505afa1580156122ff573d6000803e3d6000fd5b505050506040513d602081101561231557600080fd5b50516001600160a01b031614158061234257506000818152600660205260409020546001600160a01b0316155b1561235257600092505050611119565b5060010161226c565b50600192915050565b600d5481565b60035460ff16156123ac5760405162461bcd60e51b815260040180806020018281038252603c815260200180614a7e603c913960400191505060405180910390fd5b60048054600101908190556123bf6136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561240857600080fd5b505afa15801561241c573d6000803e3d6000fd5b505050506040513d602081101561243257600080fd5b505115612474576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b600082116124b35760405162461bcd60e51b815260040180806020018281038252602981526020018061496c6029913960400191505060405180910390fd5b6124bb613739565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156124f357600080fd5b505afa158015612507573d6000803e3d6000fd5b5050600f5460ff161591506125659050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b61256d6147ef565b61257733856137d6565b905061258281613919565b602081015160009061259a908563ffffffff613cc116565b90506125a46147ef565b6125ae8383613dfe565b905060006125bb826139b5565b5050905060115481116125ff5760405162461bcd60e51b815260040180806020018281038252603181526020018061489a6031913960400191505060405180910390fd5b604051339087156108fc029088906000818181858888f1935050505015801561262c573d6000803e3d6000fd5b50602080830151604080518a8152928301899052828101919091525133917ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303919081900360600190a25050505060045481146126bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b505050565b6001546001600160a01b0316331461270b5760405162461bcd60e51b81526004018080602001828103825260358152602001806148eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60095481565b6008546000808080808080808080808061279c613116565b9b506009549a50600a549950600b549850600c549750600d5496506013549550601454945060155493504792506010549150600f60009054906101000a900460ff169050909192939495969798999a9b9c565b6127f76136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561284057600080fd5b505afa158015612854573d6000803e3d6000fd5b505050506040513d602081101561286a57600080fd5b5051156128ac576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b6128b4613739565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156128ec57600080fd5b505afa158015612900573d6000803e3d6000fd5b505050508061290d613789565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561296257600080fd5b505afa158015612976573d6000803e3d6000fd5b505050506040513d602081101561298c57600080fd5b505110156129db576040805162461bcd60e51b81526020600482015260176024820152764e6f7420656e6f75676820735553442062616c616e636560481b604482015290519081900360640190fd5b6129e36147ef565b6129ed84846137d6565b90506129f881613919565b6000612a168261010001518360400151613aa590919063ffffffff16565b90506000612a278261222085613f4d565b90506000612a4382856101000151613aa590919063ffffffff16565b9050600080600080612a5a89868a60400151613aff565b9350935093509350612a6a613789565b6001600160a01b0316639dc29fac338b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612ac957600080fd5b505af1158015612add573d6000803e3d6000fd5b50505050612aeb8484613b78565b612af788828442613d1e565b604080518b8152602081018b905280820183905290516001600160a01b038d16917f2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572919081900360600190a25050505050505050505050565b6000612b5a6147ef565b612b6484846137d6565b90506000612b90612b878361010001518460400151613aa590919063ffffffff16565b61222084613f4d565b610100830151909150612ba9908263ffffffff613aa516565b95945050505050565b6000546001600160a01b031681565b60006117ec612bce6136e8565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612c1757600080fd5b505afa158015612c2b573d6000803e3d6000fd5b505050506040513d6020811015612c4157600080fd5b5051612c5b612c4e613116565b859063ffffffff613c9716565b9063ffffffff613c9716565b60025481565b612c7561369d565b73__$dea560c1c88ab8ee92a045569682361255$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612cb957600080fd5b505af4158015612ccd573d6000803e3d6000fd5b505050506040513d6020811015612ce357600080fd5b50518111612d2f576040805162461bcd60e51b8152602060048201526014602482015273526174696f206c657373207468616e203130302560601b604482015290519081900360640190fd5b60118190556040805182815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9181900360200190a150565b60105481565b600080600080600080600080612d846147ef565b612d8e8b8b6137d6565b9050806000015198508060200151975080604001519650806080015195508060a0015194508060c001519350612dee612ddc612b878361010001518460400151613aa590919063ffffffff16565b6101008301519063ffffffff613aa516565b9250612e07816060015184613aa590919063ffffffff16565b9150509295985092959890939650565b6000612e3e612e3183600a546140b890919063ffffffff16565b849063ffffffff61411116565b9392505050565b60035460ff1615612e875760405162461bcd60e51b815260040180806020018281038252603c815260200180614a7e603c913960400191505060405180910390fd5b60003411612ec65760405162461bcd60e51b81526004018080602001828103825260258152602001806149206025913960400191505060405180910390fd5b612ece613739565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f0657600080fd5b505afa158015612f1a573d6000803e3d6000fd5b5050600f5460ff16159150612f789050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b612f806147ef565b612f8a83836137d6565b9050612f9581613919565b6020810151600090612fad903463ffffffff613aa516565b9050612fb98282613dfe565b506040805184815234602082015280820183905290516001600160a01b038616917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c919081900360600190a250505050565b61301361369d565b600b8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b6016602052816000526040600020818154811061306757fe5b60009182526020909120600a909102018054600182015460028301546003840154600485015460058601546006870154600788015460088901546009909901546001600160a01b039098169a50959850939692959194909392909164ffffffffff168a565b6130d4614852565b60005b60075481101561311257600781815481106130ee57fe5b906000526020600020015482826018811061310557fe5b60200201526001016130d7565b5090565b600061313660085468056bc75e2d6310000061412690919063ffffffff16565b905090565b61314361369d565b6010544211613199576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600f805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b600781815481106131f257fe5b600091825260209091200154905081565b60048054600101908190556132166136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561325f57600080fd5b505afa158015613273573d6000803e3d6000fd5b505050506040513d602081101561328957600080fd5b5051156132cb576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b6132d73383600061413b565b600454811461191b576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b60085481565b60048054600101908190556133346136e8565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561337d57600080fd5b505afa158015613391573d6000803e3d6000fd5b505050506040513d60208110156133a757600080fd5b5051156133e9576040805162461bcd60e51b815260206004820152601e6024820152600080516020614995833981519152604482015290519081900360640190fd5b600f5460ff16613440576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b61344c8383600161413b565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a260045481146126bd576040805162461bcd60e51b815260206004820152601f60248201526000805160206148cb833981519152604482015290519081900360640190fd5b601881565b600f5460ff1681565b600a5481565b6134ee61369d565b683635c9adc5dea00000811115613537576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d6310000081101561357f576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60088190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b60135481565b600c5481565b60006135d06147ef565b6135da84846137d6565b90506135e5816139b5565b509095945050505050565b60006117ec68056bc75e2d63100000613691612c4e61360d6136e8565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561365657600080fd5b505afa15801561366a573d6000803e3d6000fd5b505050506040513d602081101561368057600080fd5b50516008549063ffffffff61412616565b9063ffffffff61412616565b6000546001600160a01b031633146136e65760405162461bcd60e51b815260040180806020018281038252602f815260200180614a2e602f913960400191505060405180910390fd5b565b60006131366c45786368616e6765526174657360981b6040518060400160405280601d81526020017f4d697373696e672045786368616e67655261746573206164647265737300000081525061464e565b60006131366b53797374656d53746174757360a01b6040518060400160405280601c81526020017f4d697373696e672053797374656d53746174757320616464726573730000000081525061464e565b60006131366814de5b9d1a1cd554d160ba1b6040518060400160405280601981526020017f4d697373696e672053796e74687355534420616464726573730000000000000081525061464e565b6137de6147ef565b6001600160a01b0383166000908152601660209081526040808320805482518185028101850190935280835260609492939192909184015b828210156138b95760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff166101208301529083529092019101613816565b509293506000925050505b815181101561391157838282815181106138da57fe5b602002602001015160a001511415613909578181815181106138f857fe5b6020026020010151925050506117ec565b6001016138c4565b505092915050565b60008160a0015111613968576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60c081015115610eca576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b6000806000806139d78561010001518660400151613aa590919063ffffffff16565b90506139e68161222087613f4d565b9150613a796139f36136e8565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613a3c57600080fd5b505afa158015613a50573d6000803e3d6000fd5b505050506040513d6020811015613a6657600080fd5b505160208701519063ffffffff613c9716565b9250613a9b613a8e828463ffffffff613aa516565b849063ffffffff613f2316565b9350509193909250565b600082820183811015612e3e576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808381868015801590613b145750600087115b15613b4f57868111613b265780613b28565b865b9450613b3a838663ffffffff613cc116565b9250613b4c818663ffffffff613cc116565b90505b8591508015613b6e57613b68828263ffffffff613cc116565b91508093505b5093509350935093565b8115613c7757613b86613789565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613bf957600080fd5b505af1158015613c0d573d6000803e3d6000fd5b50505050613c19614003565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613c5e57600080fd5b505af1158015613c72573d6000803e3d6000fd5b505050505b801561191b57601354613c90908263ffffffff613cc116565b6013555050565b6000670de0b6b3a7640000613cb2848463ffffffff6140b816565b81613cb957fe5b049392505050565b600082821115613d18576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b83516001600160a01b03166000908152601660205260408120905b8154811015613df6578560a00151828281548110613d5357fe5b90600052602060002090600a0201600501541415613dee5784828281548110613d7857fe5b90600052602060002090600a02016002018190555083828281548110613d9a57fe5b90600052602060002090600a02016008018190555082828281548110613dbc57fe5b90600052602060002090600a020160090160006101000a81548164ffffffffff021916908364ffffffffff1602179055505b600101613d39565b505050505050565b613e066147ef565b82516001600160a01b03166000908152601660205260408120905b8154811015613911578460a00151828281548110613e3b57fe5b90600052602060002090600a0201600501541415613f1b5783828281548110613e6057fe5b90600052602060002090600a020160010181905550818181548110613e8157fe5b60009182526020918290206040805161014081018252600a90930290910180546001600160a01b031683526001810154938301939093526002830154908201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e0820152600882015461010082015260099091015464ffffffffff1661012082015292506117ec915050565b600101613e21565b6000612e3e82613f4185670de0b6b3a764000063ffffffff6140b816565b9063ffffffff61404e16565b600080600083610120015164ffffffffff1611613f6e578260800151613f7c565b82610120015164ffffffffff165b905060008360c0015111613f9f57613f9a428263ffffffff613cc116565b612e3e565b60c0830151612e3e908263ffffffff613cc116565b60006117ec600b548361411190919063ffffffff16565b601554600090613fe290600163ffffffff613aa516565b601555601454613ff990600163ffffffff613aa516565b6014819055905090565b600061313666119959541bdbdb60ca1b6040518060400160405280601781526020017f4d697373696e6720466565506f6f6c206164647265737300000000000000000081525061464e565b60008082116140a4576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816140af57fe5b04949350505050565b6000826140c7575060006117ec565b828202828482816140d457fe5b0414612e3e5760405162461bcd60e51b8152600401808060200182810382526021815260200180614a5d6021913960400191505060405180910390fd5b6000612e3e8383670de0b6b3a76400006146f8565b6000612e3e8383670de0b6b3a7640000614735565b614143613739565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561417b57600080fd5b505afa15801561418f573d6000803e3d6000fd5b5050505061419b6147ef565b6141a584846137d6565b90506141b081613919565b60006141d1612b878361010001518460400151613aa590919063ffffffff16565b905060006141ec828460400151613aa590919063ffffffff16565b9050600061420883856101000151613aa590919063ffffffff16565b905081614213613789565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561426857600080fd5b505afa15801561427c573d6000803e3d6000fd5b505050506040513d602081101561429257600080fd5b505110156142d15760405162461bcd60e51b815260040180806020018281038252603e815260200180614adf603e913960400191505060405180910390fd5b6142da8461475b565b6143086142f98561010001518660400151613cc190919063ffffffff16565b6013549063ffffffff613cc116565b601355614313613789565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561437257600080fd5b505af1158015614386573d6000803e3d6000fd5b50505050614392613789565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561440557600080fd5b505af1158015614419573d6000803e3d6000fd5b50505050614425614003565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561446a57600080fd5b505af115801561447e573d6000803e3d6000fd5b50505050602084015185156145c75760006144976136e8565b6001600160a01b031663654a60ac631cd554d160e21b866208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156144f757600080fd5b505afa15801561450b573d6000803e3d6000fd5b505050506040513d602081101561452157600080fd5b505160125460408051630241ebdb60e61b81529051929350600092614581926115bf92909173__$dea560c1c88ab8ee92a045569682361255$__9163907af6c0916004808301926020929190829003018186803b15801561158757600080fd5b9050614593838263ffffffff613cc116565b604051909350339082156108fc029083906000818181858888f193505050501580156145c3573d6000803e3d6000fd5b5050505b84516040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015614600573d6000803e3d6000fd5b50604080518881526020810184905281516001600160a01b038b16927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a25050505050505050565b6000828152600660205260408120546001600160a01b031682816146f05760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156146b557818101518382015260200161469d565b50505050905090810190601f1680156146e25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509392505050565b600080600a830461470f868663ffffffff6140b816565b8161471657fe5b0490506005600a825b061061472957600a015b600a9004949350505050565b60008061474f84613f4187600a870263ffffffff6140b816565b90506005600a8261471f565b80516001600160a01b03166000908152601660205260408120905b81548110156147d3578260a0015182828154811061479057fe5b90600052602060002090600a02016005015414156147cb57428282815481106147b557fe5b90600052602060002090600a0201600601819055505b600101614776565b506015546147e890600163ffffffff613cc116565b6015555050565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff1681525090565b604051806103000160405280601890602082028038833950919291505056fe436f6c6c61746572616c20726174696f2061626f7665206c69717569646174696f6e20726174696f436f6c6c61746572616c20726174696f2062656c6f77206c69717569646174696f6e2061667465722077697468647261775265656e7472616e637947756172643a207265656e7472616e742063616c6c00596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20304c6f616e20616d6f756e742065786365656473206d617820626f72726f77696e6720706f776572416d6f756e7420746f207769746864726177206d7573742062652067726561746572207468616e2030426c6f636b656420617320455448207261746520697320696e76616c696400004f776e65722063616e6e6f742073657420686967686572207468616e204143434f554e545f4c4f414e5f4c494d49545f4341504c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e45616368206163636f756e74206973206c696d6974656420746f203530206c6f616e734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052596f7520646f206e6f742068617665207468652072657175697265642053796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f594541524e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e436f6c6c61746572616c53697a65a265627a7a72315820e6b58a3e9729ae5feebbb211c3c89855eb0a1370b08ab5b3623dfe9c496e795b64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanLimit",
							"type": "uint256"
						}
					],
					"name": "AccountLoanLimitUpdated",
					"type": "event",
					"signature": "0x59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "CollateralizationRatioUpdated",
					"type": "event",
					"signature": "0xfb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce07869530"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interestRate",
							"type": "uint256"
						}
					],
					"name": "InterestRateUpdated",
					"type": "event",
					"signature": "0xa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d74"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueLimit",
							"type": "uint256"
						}
					],
					"name": "IssueLimitUpdated",
					"type": "event",
					"signature": "0xbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feesPaid",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0x3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "LoanLiquidated",
					"type": "event",
					"signature": "0xde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "LoanLiquidationOpenUpdated",
					"type": "event",
					"signature": "0xaa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedCollateral",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "repaidAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLoanAmount",
							"type": "uint256"
						}
					],
					"name": "LoanRepaid",
					"type": "event",
					"signature": "0x2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanCollateralSizeUpdated",
					"type": "event",
					"signature": "0x9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "COLLATERAL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x24bbab8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ADDRESSES_FROM_RESOLVER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3235c91"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountLoanLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1474b279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accountOpenLoanCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x089f7fb4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountsPynthLoans",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanInterestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint40",
							"name": "lastInterestAccrued",
							"type": "uint40"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab6a34fa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "accruedInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa2e17342"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToLiquidate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39735e37"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "closeLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd05951a0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						}
					],
					"name": "collateralAmountForLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf53dfb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralizationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdcaf9c44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "currentInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c937de"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "depositCollateral",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xa5d5db0c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getContractInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_collateralizationRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestPerSecond",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minLoanCollateralSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedPynths",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalLoansCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalOpenLoanCount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_ethBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationDeadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7cc1f867"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoanCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanCollateralRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf45f08fb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x462b9725"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getResolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[24]",
							"name": "addressesRequired",
							"type": "bytes32[24]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab49848c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestPerSecond",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe40108ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c3a00fd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x631e1444"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeea8f5da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_debtToCover",
							"type": "uint256"
						}
					],
					"name": "liquidateLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38458571"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "liquidateUnclosedLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe220a811"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDeadline",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f7d5688"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						}
					],
					"name": "loanAmountFromCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8fdc8f3b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanCollateralSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x675969be"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						}
					],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x54e3e70d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "openLoanIDsByAccount",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f2bf15b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_repayAmount",
							"type": "uint256"
						}
					],
					"name": "repayLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x80a5d3d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6c9d828"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanLimit",
							"type": "uint256"
						}
					],
					"name": "setAccountLoanLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5d1a2229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setCollateralizationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe5829d20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						}
					],
					"name": "setInterestRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5f84f302"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						}
					],
					"name": "setIssueLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4f069f66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "setLoanLiquidationOpen",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb8c6d6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanCollateralSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x17da255e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "_resolver",
							"type": "address"
						}
					],
					"name": "setResolverAndSyncCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3be99e6f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "timeSinceInterestAccrualOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f11815c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "totalFeesOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x60655ba7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57b21920"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoansCreated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23aa7f0f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOpenLoanCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4189bb49"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "withdrawAmount",
							"type": "uint256"
						}
					],
					"name": "withdrawCollateral",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x767a7b05"
				}
			],
			"source": {
				"keccak256": "0x85918fcd0515828e0a6698e27e43151d5e0333d936ea6b5a9f6f9341a9b68266",
				"urls": [
					"bzz-raw://7964611442f889a7902be71fee3694191df2a91c5271b0d2bc6230f57450ff50",
					"dweb:/ipfs/QmTov7Qh1msopL3brEmVxmihjhX2xPsEcgBq6AnqSPWEyu"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EtherCollateralpUSD.sol": "EtherCollateralpUSD"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EtherCollateralpUSD.sol": {
						"keccak256": "0x85918fcd0515828e0a6698e27e43151d5e0333d936ea6b5a9f6f9341a9b68266",
						"urls": [
							"bzz-raw://7964611442f889a7902be71fee3694191df2a91c5271b0d2bc6230f57450ff50",
							"dweb:/ipfs/QmTov7Qh1msopL3brEmVxmihjhX2xPsEcgBq6AnqSPWEyu"
						]
					}
				},
				"version": 1
			}
		},
		"DebtCache": {
			"bytecode": "60806040526007805460ff1916600117905534801561001d57600080fd5b506040516125e03803806125e08339818101604052604081101561004057600080fd5b5080516020909101518080836001600160a01b0381166100a7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050506124ad806101336000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806379ba5097116100c3578063b13cd7851161007c578063b13cd7851461049c578063cda218c71461050a578063d0fffafd14610578578063d685743a14610580578063e3476cd4146105a3578063fc524773146105ab57610158565b806379ba509714610407578063899ffef41461040f5780638da5cb5b146104675780638dd5bfbc1461046f578063a5f27edb1461048c578063af5355d81461049457610158565b80632af64bd3116101155780632af64bd3146102bd5780633a900a2e146102d957806353a47bb7146103095780636bf7c4351461031157806374185360146103de578063759076e5146103e657610158565b806304bd11e51461015d57806304f3bcec1461017e57806305393262146101a25780630fb38465146101bc5780631627540c146101d957806317b38db4146101ff575b600080fd5b61017c6004803603602081101561017357600080fd5b503515156105b3565b005b6101866105c7565b604080516001600160a01b039092168252519081900360200190f35b6101aa6105d6565b60408051918252519081900360200190f35b6101aa600480360360208110156101d257600080fd5b50356105dd565b61017c600480360360208110156101ef57600080fd5b50356001600160a01b03166105ef565b61017c6004803603604081101561021557600080fd5b810190602081018135600160201b81111561022f57600080fd5b82018360208201111561024157600080fd5b803590602001918460208302840111600160201b8311171561026257600080fd5b919390929091602081019035600160201b81111561027f57600080fd5b82018360208201111561029157600080fd5b803590602001918460208302840111600160201b831117156102b257600080fd5b50909250905061064b565b6102c56106c6565b604080519115158252519081900360200190f35b6102e16107d0565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b610186610801565b61037f6004803603602081101561032757600080fd5b810190602081018135600160201b81111561034157600080fd5b82018360208201111561035357600080fd5b803590602001918460208302840111600160201b8311171561037457600080fd5b509092509050610810565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b838110156103c95781810151838201526020016103b1565b50505050905001935050505060405180910390f35b61017c61085b565b6103ee610a23565b6040805192835290151560208301528051918290030190f35b61017c610a36565b610417610af2565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561045357818101518382015260200161043b565b505050509050019250505060405180910390f35b610186610c5c565b61017c6004803603602081101561048557600080fd5b5035610c6b565b6102c5610d47565b6101aa610d50565b610417600480360360208110156104b257600080fd5b810190602081018135600160201b8111156104cc57600080fd5b8201836020820111156104de57600080fd5b803590602001918460208302840111600160201b831117156104ff57600080fd5b509092509050610d5f565b61017c6004803603602081101561052057600080fd5b810190602081018135600160201b81111561053a57600080fd5b82018360208201111561054c57600080fd5b803590602001918460208302840111600160201b8311171561056d57600080fd5b509092509050610da6565b6101aa610f3b565b61017c6004803603604081101561059657600080fd5b5080359060200135610f41565b61017c610fce565b6102c5611261565b6105bb61126e565b6105c4816112d4565b50565b6002546001600160a01b031681565b6004545b90565b60009081526005602052604090205490565b6105f7611321565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61065361136a565b6106c084848080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808802828101820190935287825290935087925086918291850190849080828437600092018290525092506113e4915050565b50505050565b600060606106d2610af2565b905060005b81518110156107c75760008282815181106106ee57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561075657600080fd5b505afa15801561076a573d6000803e3d6000fd5b505050506040513d602081101561078057600080fd5b50516001600160a01b03161415806107ad57506000818152600360205260409020546001600160a01b0316155b156107be57600093505050506105da565b506001016106d7565b50600191505090565b6006546004546007546000928392839283929190829060ff166107f282611599565b94509450945094505090919293565b6001546001600160a01b031681565b606060006108508484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506115b292505050565b915091509250929050565b6060610865610af2565b905060005b8151811015610a1f57600082828151811061088157fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561093757818101518382015260200161091f565b50505050905090810190601f1680156109645780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561098257600080fd5b505afa158015610996573d6000803e3d6000fd5b505050506040513d60208110156109ac57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010161086a565b5050565b600080610a2e61172b565b915091509091565b6001546001600160a01b03163314610a7f5760405162461bcd60e51b81526004018080602001828103825260358152602001806123b06035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610afd611929565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506524b9b9bab2b960d11b81600081518110610b3c57fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610b6257fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610b8c57fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610bb557fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600481518110610be157fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1cd554d1606a1b81600581518110610c1157fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600681518110610c3f57fe5b602002602001018181525050610c55828261197a565b9250505090565b6000546001600160a01b031681565b610c73611321565b6000610c7d611a36565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cc057600080fd5b505afa158015610cd4573d6000803e3d6000fd5b505050506040513d6020811015610cea57600080fd5b50516001600160a01b031614610d36576040805162461bcd60e51b815260206004820152600c60248201526b53796e74682065786973747360a01b604482015290519081900360640190fd5b600090815260056020526040812055565b60075460ff1690565b6000610d5a611a4a565b905090565b6060610d9d838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611af992505050565b90505b92915050565b610dae611b89565b60606000610dba611bef565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610e2c57600080fd5b505afa158015610e40573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610e6957600080fd5b8101908080516040519392919084600160201b821115610e8857600080fd5b908301906020820185811115610e9d57600080fd5b82518660208202830111600160201b82111715610eb957600080fd5b82525081516020918201928201910280838360005b83811015610ee6578181015183820152602001610ece565b505050509190910160408181526020938401518a850280840186019092528a83529698509596506106c09590945089935088928392508501908490808284376000920191909152508692508591506113e49050565b60065490565b610f4961126e565b604080516001808252818301909252606091602080830190803883390190505090508281600081518110610f7957fe5b60209081029190910101526040805160018082528183019092526060918160200160208202803883390190505090508281600081518110610fb657fe5b6020026020010181815250506106c0828260006113e4565b610fd6611b89565b6060610fe0611a36565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561101857600080fd5b505afa15801561102c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561105557600080fd5b8101908080516040519392919084600160201b82111561107457600080fd5b90830190602082018581111561108957600080fd5b82518660208202830111600160201b821117156110a557600080fd5b82525081516020918201928201910280838360005b838110156110d25781810151838201526020016110ba565b505050509050016040525050509050606060006110ee836115b2565b9150915060006110fc611c0a565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b15801561113357600080fd5b505afa158015611147573d6000803e3d6000fd5b505050506040513d604081101561115d57600080fd5b505183519091506000805b828110156111d257600086828151811061117e57fe5b6020026020010151905061119b8184611c2990919063ffffffff16565b925080600560008a85815181106111ae57fe5b60209081029190910181015182528101919091526040016000205550600101611168565b506111e3818463ffffffff611c8316565b600455426006556040805182815290517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a1611259846112d4565b505050505050565b6000610d5a600654611599565b611276611a36565b6001600160a01b0316336001600160a01b0316146112d2576040805162461bcd60e51b815260206004820152601460248201527329b2b73232b91034b9903737ba1024b9b9bab2b960611b604482015290519081900360640190fd5b565b60075460ff161515811515146105c4576007805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6000546001600160a01b031633146112d25760405162461bcd60e51b815260040180806020018281038252602f815260200180612406602f913960400191505060405180910390fd5b611372611a36565b6001600160a01b0316336001600160a01b031614806113a95750611394611ce0565b6001600160a01b0316336001600160a01b0316145b6112d25760405162461bcd60e51b81526004018080602001828103825260218152602001806123e56021913960400191505060405180910390fd5b82518251811461143b576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b600080606061144a8787611cf7565b905060005b848110156114d957600088828151811061146557fe5b60200260200101519050600083838151811061147d57fe5b602002602001015190506114ad600560008481526020019081526020016000205487611c2990919063ffffffff16565b95506114bf858263ffffffff611c2916565b60009283526005602052604090922055925060010161144f565b5081831461158157600454808411156115235760405162461bcd60e51b81526004018080602001828103825260238152602001806124566023913960400191505060405180910390fd5b61154383611537838763ffffffff611c8316565b9063ffffffff611c2916565b60048190556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a1505b841561159057611590856112d4565b50505050505050565b60008142036115a6611a4a565b1080610da05750501590565b60606000606060006115c2611bef565b6001600160a01b031663c8e5bbd5866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611620578181015183820152602001611608565b505050509050019250505060006040518083038186803b15801561164357600080fd5b505afa158015611657573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561168057600080fd5b8101908080516040519392919084600160201b82111561169f57600080fd5b9083019060208201858111156116b457600080fd5b82518660208202830111600160201b821117156116d057600080fd5b82525081516020918201928201910280838360005b838110156116fd5781810151838201526020016116e5565b50505050919091016040525060200151929450919250611721915086905083611cf7565b9350915050915091565b6000806060600061184161173d611a36565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561177557600080fd5b505afa158015611789573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156117b257600080fd5b8101908080516040519392919084600160201b8211156117d157600080fd5b9083019060208201858111156117e657600080fd5b82518660208202830111600160201b8211171561180257600080fd5b82525081516020918201928201910280838360005b8381101561182f578181015183820152602001611817565b505050509050016040525050506115b2565b815191935091506000805b828110156118845761187a85828151811061186357fe5b602002602001015183611c2990919063ffffffff16565b915060010161184c565b50600080611890611c0a565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b1580156118c757600080fd5b505afa1580156118db573d6000803e3d6000fd5b505050506040513d60408110156118f157600080fd5b508051602090910151909250905061190f838363ffffffff611c8316565b9250848061191a5750805b92975091955050505050509091565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061196b57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156119aa578160200160208202803883390190505b50905060005b83518110156119ec578381815181106119c557fe5b60200260200101518282815181106119d957fe5b60209081029190910101526001016119b0565b5060005b8251811015611a2f57828181518110611a0557fe5b6020026020010151828286510181518110611a1c57fe5b60209081029190910101526001016119f0565b5092915050565b6000610d5a6524b9b9bab2b960d11b6121ba565b6000611a54612297565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611ac857600080fd5b505afa158015611adc573d6000803e3d6000fd5b505050506040513d6020811015611af257600080fd5b5051905090565b6060600082519050606081604051908082528060200260200182016040528015611b2d578160200160208202803883390190505b50905060005b82811015611b815760056000868381518110611b4b57fe5b6020026020010151815260200190815260200160002054828281518110611b6e57fe5b6020908102919091010152600101611b33565b509392505050565b6000546001600160a01b031633146112d257611ba36122b4565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015611bdb57600080fd5b505afa1580156106c0573d6000803e3d6000fd5b6000610d5a6c45786368616e6765526174657360981b6121ba565b6000610d5a7021b7b63630ba32b930b626b0b730b3b2b960791b6121ba565b600082820183811015610d9d576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611cda576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610d5a6822bc31b430b733b2b960b91b6121ba565b6060600083519050606081604051908082528060200260200182016040528015611d2b578160200160208202803883390190505b5090506060611d38611a36565b6001600160a01b0316633b6afe40876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611d96578181015183820152602001611d7e565b505050509050019250505060006040518083038186803b158015611db957600080fd5b505afa158015611dcd573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611df657600080fd5b8101908080516040519392919084600160201b821115611e1557600080fd5b908301906020820185811115611e2a57600080fd5b82518660208202830111600160201b82111715611e4657600080fd5b82525081516020918201928201910280838360005b83811015611e73578181015183820152602001611e5b565b50505050905001604052505050905060008090505b838110156121af576000878281518110611e9e57fe5b602002602001015190506000838381518110611eb657fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415611f1f576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f5a57600080fd5b505afa158015611f6e573d6000803e3d6000fd5b505050506040513d6020811015611f8457600080fd5b50519050611f90611c0a565b6001600160a01b0316638471db13846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611fd357600080fd5b505afa158015611fe7573d6000803e3d6000fd5b505050506040513d6020811015611ffd57600080fd5b5051156120a557600061200e611c0a565b6001600160a01b031663d2f00475856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561205157600080fd5b505afa158015612065573d6000803e3d6000fd5b505050506040513d602081101561207b57600080fd5b505190508181111561209057600091506120a3565b6120a0828263ffffffff611c8316565b91505b505b631cd554d160e21b831480806120c15750630e68aa8960e31b84145b15612162576000816120da576120d56122ce565b6120e2565b6120e26122eb565b90506000816001600160a01b031663ee5f3f5c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561211f57600080fd5b505afa158015612133573d6000803e3d6000fd5b505050506040513d602081101561214957600080fd5b5051905061215d848263ffffffff611c8316565b935050505b6121888a868151811061217157fe5b60200260200101518361230c90919063ffffffff16565b87868151811061219457fe5b6020908102919091010152505060019092019150611e889050565b509095945050505050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611a2f5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561225c578181015183820152602001612244565b50505050905090810190601f1680156122895780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610d5a6e466c657869626c6553746f7261676560881b6121ba565b6000610d5a6b53797374656d53746174757360a01b6121ba565b6000610d5a6e115d1a195c90dbdb1b185d195c985b608a1b6121ba565b6000610d5a72115d1a195c90dbdb1b185d195c985b1cd554d1606a1b6121ba565b6000610d9d8383670de0b6b3a7640000848067016345785d8a00006123318686612356565b8161233857fe5b0490506005600a82061061234a57600a015b600a9004949350505050565b60008261236557506000610da0565b8282028284828161237257fe5b0414610d9d5760405162461bcd60e51b81526004018080602001828103825260218152602001806124356021913960400191505060405180910390fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053656e646572206973206e6f7420497373756572206f722045786368616e6765724f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774361636865642073796e74682073756d206578636565647320746f74616c2064656274a265627a7a72315820804273d96350b998c6306cfd16daf7e63fbcd5259c40ca19183b5364881a2f0a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "DebtCacheSnapshotTaken",
					"type": "event",
					"signature": "0xc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "cachedDebt",
							"type": "uint256"
						}
					],
					"name": "DebtCacheUpdated",
					"type": "event",
					"signature": "0x294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"name": "DebtCacheValidityChanged",
					"type": "event",
					"signature": "0x8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "isStale",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3a900a2e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5f27edb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc524773"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cacheTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0fffafd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "cachedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05393262"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "cachedPynthDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf7cc999f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "cachedPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "periIssuedDebts",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdae3de98"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x759076e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "currentPynthDebts",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "debtValues",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfca28f74"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "purgeCachedPynthDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd6576c84"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "takeDebtSnapshot",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe3476cd4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "currencyRate",
							"type": "uint256"
						}
					],
					"name": "updateCachedPynthDebtWithRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8376a782"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "updateCachedPynthDebts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfa9f18d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "currencyRates",
							"type": "uint256[]"
						}
					],
					"name": "updateCachedPynthDebtsWithRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f98fb49"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "currentlyInvalid",
							"type": "bool"
						}
					],
					"name": "updateDebtCacheValidity",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04bd11e5"
				}
			],
			"source": {
				"keccak256": "0x071d5e77712e76f9ce095244ed31be9ece5efbe76a73b97bde41582f727f91c9",
				"urls": [
					"bzz-raw://8adb9b01432a5a1ede77dd6b94768dde7c1017907f8d5d1c9bb534561187d4e2",
					"dweb:/ipfs/QmThMjmsXZVKyxapENRkdgtTBDNuPsnXdtozgWb3upQ5Tr"
				]
			},
			"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": "0x071d5e77712e76f9ce095244ed31be9ece5efbe76a73b97bde41582f727f91c9",
						"urls": [
							"bzz-raw://8adb9b01432a5a1ede77dd6b94768dde7c1017907f8d5d1c9bb534561187d4e2",
							"dweb:/ipfs/QmThMjmsXZVKyxapENRkdgtTBDNuPsnXdtozgWb3upQ5Tr"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangerWithVirtualPynth": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005b2738038062005b27833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506159f780620001306000396000f3fe60806040523480156200001157600080fd5b5060043610620001f05760003560e01c80636a1c475811620001115780638da5cb5b11620000a5578063d6f32e06116200007b578063d6f32e061462000591578063dfffca7614620005c0578063f39952241462000613578063f450aa34146200067d57620001f0565b80638da5cb5b1462000557578063c193f0d81462000561578063ce096940146200056b57620001f0565b80637dd1a57a11620000e75780637dd1a57a146200047e57806386baa45c146200049e5780638925711714620004f1578063899ffef414620004fb57620001f0565b80636a1c4758146200042557806374185360146200046a57806379ba5097146200047457620001f0565b80631b16802c11620001895780633fa70f45116200015f5780633fa70f4514620003b65780634c268fc814620003c057806353a47bb714620003fb57806357af302c146200040557620001f0565b80631b16802c146200035f5780632af64bd3146200038e578063372a395a14620003ac57620001f0565b80630b9e31c911620001cb5780630b9e31c914620002a15780631627540c14620002c357806319d5c66514620002ec5780631a5c6095146200033957620001f0565b806304f3bcec14620001f5578063059c29ec146200021b5780630a1e187d146200025c575b600080fd5b620001ff620006a9565b604080516001600160a01b039092168252519081900360200190f35b6200024a600480360360408110156200023357600080fd5b506001600160a01b038135169060200135620006b8565b60408051918252519081900360200190f35b6200024a600480360360a08110156200027457600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080909101351662000763565b620002c160048036036020811015620002b957600080fd5b50356200086e565b005b620002c160048036036020811015620002db57600080fd5b50356001600160a01b031662000ae3565b6200031b600480360360408110156200030457600080fd5b506001600160a01b03813516906020013562000b41565b60408051938452602084019290925282820152519081900360600190f35b6200024a600480360360408110156200035157600080fd5b508035906020013562000b61565b6200031b600480360360408110156200037757600080fd5b506001600160a01b03813516906020013562000b6f565b6200039862000bf6565b604080519115158252519081900360200190f35b6200024a62000d0c565b6200024a62000d1d565b6200024a60048036036080811015620003d857600080fd5b506001600160a01b03813516906020810135906040810135906060013562000d22565b620001ff62000e4e565b62000398600480360360208110156200041d57600080fd5b503562000e5d565b6200024a600480360360a08110156200043d57600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013562000eba565b620002c162001098565b620002c16200126b565b6200024a600480360360208110156200049657600080fd5b503562001329565b6200024a600480360360e0811015620004b657600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c001356200133b565b6200024a62001455565b6200050562001461565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156200054357818101518382015260200162000529565b505050509050019250505060405180910390f35b620001ff6200161c565b620003986200162b565b620002c1600480360360408110156200058357600080fd5b508035906020013562001637565b6200039860048036036040811015620005a957600080fd5b506001600160a01b03813516906020013562001703565b6200024a600480360360e0811015620005d857600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c001356200173b565b6200065c600480360360c08110156200062b57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a0013562001926565b604080519283526001600160a01b0390911660208301528051918290030190f35b6200031b600480360360608110156200069557600080fd5b508035906020810135906040013562001a4b565b6002546001600160a01b031681565b60006200075a620006c862001a6d565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156200072657600080fd5b505afa1580156200073b573d6000803e3d6000fd5b505050506040513d60208110156200075257600080fd5b505162001a8a565b90505b92915050565b6000806200077062001af4565b9050336001600160a01b0382161480620008015750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015620007d057600080fd5b505afa158015620007e5573d6000803e3d6000fd5b505050506040513d6020811015620007fc57600080fd5b505114155b6200083e5760405162461bcd60e51b8152600401808060200182810382526045815260200180620058e96045913960600191505060405180910390fd5b6000620008518888888888600062001b0d565b50909350905062000863818562001f3f565b505095945050505050565b6200087862001ff7565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015620008b157600080fd5b505afa158015620008c6573d6000803e3d6000fd5b5050505060006001600160a01b0316620008df62002013565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200092357600080fd5b505afa15801562000938573d6000803e3d6000fd5b505050506040513d60208110156200094f57600080fd5b50516001600160a01b031614156200099e576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e6f2dce8d609b1b604482015290519081900360640190fd5b62000a2581620009ad62002029565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620009f157600080fd5b505afa15801562000a06573d6000803e3d6000fd5b505050506040513d602081101562000a1d57600080fd5b505162002046565b62000a6e576040805162461bcd60e51b815260206004820152601460248201527314de5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b62000a7862001ff7565b6001600160a01b031663abc0bb6e8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801562000ac757600080fd5b505af115801562000adc573d6000803e3d6000fd5b5050505050565b62000aed620022b4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600062000b52858562002301565b50919790965090945092505050565b60006200075a8383620025f6565b600080600062000b7e62001ff7565b6001600160a01b03166342a28e21856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801562000bc257600080fd5b505afa15801562000bd7573d6000803e3d6000fd5b5050505062000be985856001620026bf565b9250925092509250925092565b6000606062000c0462001461565b905060005b815181101562000d0257600082828151811062000c2257fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801562000c8b57600080fd5b505afa15801562000ca0573d6000803e3d6000fd5b505050506040513d602081101562000cb757600080fd5b50516001600160a01b031614158062000ce557506000818152600360205260409020546001600160a01b0316155b1562000cf8576000935050505062000d09565b5060010162000c09565b5060019150505b90565b600062000d1862002a55565b905090565b604181565b81600062000d2f62002013565b6001600160a01b03166332608039866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562000d7357600080fd5b505afa15801562000d88573d6000803e3d6000fd5b505050506040513d602081101562000d9f57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801562000dec57600080fd5b505afa15801562000e01573d6000803e3d6000fd5b505050506040513d602081101562000e1857600080fd5b505190508082111562000e29578091505b821562000e455762000e42828463ffffffff62002b1116565b91505b50949350505050565b6001546001600160a01b031681565b600062000eb28262000e6e62002029565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620009f157600080fd5b90505b919050565b60008062000ec762001af4565b9050336001600160a01b038216148062000f585750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b15801562000f2757600080fd5b505afa15801562000f3c573d6000803e3d6000fd5b505050506040513d602081101562000f5357600080fd5b505114155b62000f955760405162461bcd60e51b8152600401808060200182810382526045815260200180620058e96045913960600191505060405180910390fd5b62000f9f62002b6c565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801562000ff357600080fd5b505afa15801562001008573d6000803e3d6000fd5b505050506040513d60208110156200101f57600080fd5b505162001073576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b600062001086888787878c600062001b0d565b50909350905062000863818962001f3f565b6060620010a462001461565b905060005b815181101562001267576000828281518110620010c257fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156200117a57818101518382015260200162001160565b50505050905090810190601f168015620011a85780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015620011c757600080fd5b505afa158015620011dc573d6000803e3d6000fd5b505050506040513d6020811015620011f357600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101620010a9565b5050565b6001546001600160a01b03163314620012b65760405162461bcd60e51b8152600401808060200182810382526035815260200180620058b46035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b6000806200134862001af4565b9050336001600160a01b0382161480620013d95750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015620013a857600080fd5b505afa158015620013bd573d6000803e3d6000fd5b505050506040513d6020811015620013d457600080fd5b505114155b620014165760405162461bcd60e51b8152600401808060200182810382526045815260200180620058e96045913960600191505060405180910390fd5b6000620014298a8a8a8a8a600062001b0d565b5090935090506200143b818662001f3f565b6200144884888562002b8d565b5050979650505050505050565b600062000d1862002c0b565b6060806200146e62002c88565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506b53797374656d53746174757360a01b81600081518110620014b557fe5b6020026020010181815250506c45786368616e6765537461746560981b81600181518110620014e057fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106200150b57fe5b602002602001018181525050680a6f2dce8d0cae8d2f60bb1b816003815181106200153257fe5b60200260200101818152505066119959541bdbdb60ca1b816004815181106200155757fe5b6020026020010181815250506d54726164696e675265776172647360901b816005815181106200158357fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b81600681518110620015b257fe5b6020026020010181815250506524b9b9bab2b960d11b81600781518110620015d657fe5b6020026020010181815250506844656274436163686560b81b81600881518110620015fd57fe5b60200260200101818152505062001615828262002cda565b9250505090565b6000546001600160a01b031681565b600062000d1862002d9f565b60006200164362002029565b9050336001600160a01b03821614620016a3576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b60008211620016f0576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526004602052604090912055565b6000620017118383620006b8565b1562001720575060016200075d565b60006200172e848462002301565b5050501515949350505050565b6000806200174862001af4565b9050336001600160a01b0382161480620017d95750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b158015620017a857600080fd5b505afa158015620017bd573d6000803e3d6000fd5b505050506040513d6020811015620017d457600080fd5b505114155b620018165760405162461bcd60e51b8152600401808060200182810382526045815260200180620058e96045913960600191505060405180910390fd5b6200182062002b6c565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b1580156200187457600080fd5b505afa15801562001889573d6000803e3d6000fd5b505050506040513d6020811015620018a057600080fd5b5051620018f4576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b6000620019078a8989898e600062001b0d565b50909350905062001919818662001f3f565b6200144884878562002b8d565b60008060006200193562001af4565b9050336001600160a01b0382161480620019c65750604080516316b2213f60e01b815233600482015290516000916001600160a01b038416916316b2213f91602480820192602092909190829003018186803b1580156200199557600080fd5b505afa158015620019aa573d6000803e3d6000fd5b505050506040513d6020811015620019c157600080fd5b505114155b62001a035760405162461bcd60e51b8152600401808060200182810382526045815260200180620058e96045913960600191505060405180910390fd5b600062001a168a8a8a8a8a600162001b0d565b919550909350905062001a2a818762001f3f565b841562001a3e5762001a3e85888662002b8d565b5050965096945050505050565b600080600062001a5d86868662002e20565b5092999198509650945050505050565b600062000d186c45786368616e6765537461746560981b62002f05565b60008062001a9762002c0b565b905082158062001ab8575062001ab4838263ffffffff62002b1116565b4210155b1562001ac957600091505062000eb5565b62001aed4262001ae0858463ffffffff62002b1116565b9063ffffffff62002fe616565b9392505050565b600062000d18680a6f2dce8d0cae8d2f60bb1b62002f05565b600080600062001b1f88888862003044565b600062001b2e888b8b6200322a565b90508062001b4757506000925082915081905062001f33565b600080600062001b59848d8c62002e20565b939a5091985094509250905062001b718c8362003267565b8062001b84575062001b848a8262003267565b1562001b9f57506000955085945084935062001f3392505050565b62001bb08c8e868d8b8e8e6200330a565b94506001600160a01b0385161562001bc6578498505b851562001e355762001bd762002029565b6001600160a01b031663654a60ac8b88631cd554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801562001c3257600080fd5b505afa15801562001c47573d6000803e3d6000fd5b505050506040513d602081101562001c5e57600080fd5b5051955062001c6c62002013565b6001600160a01b03166332608039631cd554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562001cb757600080fd5b505afa15801562001ccc573d6000803e3d6000fd5b505050506040513d602081101562001ce357600080fd5b50516001600160a01b031663867904b462001cfd620035ff565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801562001d3657600080fd5b505afa15801562001d4b573d6000803e3d6000fd5b505050506040513d602081101562001d6257600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b15801562001db257600080fd5b505af115801562001dc7573d6000803e3d6000fd5b5050505062001dd5620035ff565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562001e1b57600080fd5b505af115801562001e30573d6000803e3d6000fd5b505050505b62001e6960405180604001604052808e81526020018c81525060405180604001604052808581526020018481525062003616565b62001e7362001af4565b6001600160a01b0316636c00f3108e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801562001f0557600080fd5b505af115801562001f1a573d6000803e3d6000fd5b5050505062001f2e898d868d8b88620038eb565b505050505b96509650969350505050565b60008211801562001f5857506001600160a01b03811615155b801562001f6a575062001f6a62002d9f565b15620012675762001f7a62003b08565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801562001fda57600080fd5b505af115801562001fef573d6000803e3d6000fd5b505050505050565b600062000d186b53797374656d53746174757360a01b62002f05565b600062000d186524b9b9bab2b960d11b62002f05565b600062000d186c45786368616e6765526174657360981b62002f05565b60008162002057575060016200075d565b6000838152600460205260409020548015620020825762002079818462003b26565b9150506200075d565b60606200208e62002029565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b158015620020db57600080fd5b505afa158015620020f0573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156200211a57600080fd5b81019080805160405193929190846401000000008211156200213b57600080fd5b9083019060208201858111156200215157600080fd5b82518660208202830111640100000000821117156200216f57600080fd5b82525081516020918201928201910280838360005b838110156200219e57818101518382015260200162002184565b5050505090500160405260200180516040519392919084640100000000821115620021c857600080fd5b908301906020820185811115620021de57600080fd5b8251866020820283011164010000000082111715620021fc57600080fd5b82525081516020918201928201910280838360005b838110156200222b57818101518382015260200162002211565b505050509050016040525050505090506000600190505b8151811015620022a85760008282815181106200225b57fe5b60200260200101511180156200228c57506200228c8282815181106200227d57fe5b60200260200101518662003b26565b156200229f57600193505050506200075d565b60010162002242565b50600095945050505050565b6000546001600160a01b03163314620022ff5760405162461bcd60e51b815260040180806020018281038252602f8152602001806200592e602f913960400191505060405180910390fd5b565b600080600060606200231262001a6d565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156200237057600080fd5b505afa15801562002385573d6000803e3d6000fd5b505050506040513d60208110156200239c57600080fd5b5051604080518281526020808402820101909152909250606090838015620023e157816020015b620023cd620044d1565b815260200190600190039081620023c35790505b50905060005b83811015620025ea57600080620023fd620044d1565b6200240a8b8b8662003b90565b90506000806200241a8362003cb2565b9150915060006200242a62002029565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b1580156200249a57600080fd5b505afa158015620024af573d6000803e3d6000fd5b505050506040513d6020811015620024c657600080fd5b50516080850151909150600090620024e090839062003e0f565b9050620024f285606001518262003b26565b62002573578085606001511115620025375760608501516200251b908263ffffffff62002fe616565b96506200252f8d8863ffffffff62002b1116565b9c5062002573565b8460600151811115620025735760608501516200255c90829063ffffffff62002fe616565b9550620025708c8763ffffffff62002b1116565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a00151815250898981518110620025ca57fe5b6020026020010181905250505050505050508080600101915050620023e7565b50905092959194509250565b6000620026038262003ea8565b9050631cd554d160e21b831480620026215750631cd554d160e21b82145b156200262d576200075d565b607360f81b6001600160f81b0319600085901a60f81b16148015620026665750606960f81b6001600160f81b0319600084901a60f81b16145b80620026a65750606960f81b6001600160f81b0319600085901a60f81b16148015620026a65750607360f81b6001600160f81b0319600084901a60f81b16145b156200075d576200075a81600263ffffffff62003f8516565b6000806000620026d08686620006b8565b156200270e5760405162461bcd60e51b8152600401808060200182810382526023815260200180620059a06023913960400191505060405180910390fd5b60008060006060620027218a8a62002301565b935093509350935082841115620027595762002744848463ffffffff62002fe616565b9650620027538a8a8962003fe3565b62002783565b83831115620027835762002774838563ffffffff62002fe616565b9550620027838a8a886200413d565b87156200287257604080516001808252818301909252606091602080830190803883390190505090508981600081518110620027bb57fe5b602002602001018181525050620027d162004297565b6001600160a01b031663cda218c7826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156200283157818101518382015260200162002817565b5050505090500192505050600060405180830381600087803b1580156200285757600080fd5b505af11580156200286c573d6000803e3d6000fd5b50505050505b60005b8151811015620029c1578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110620028b757fe5b602002602001015160000151848481518110620028d057fe5b602002602001015160200151858581518110620028e957fe5b6020026020010151604001518686815181106200290257fe5b6020026020010151606001518787815181106200291b57fe5b6020026020010151608001518888815181106200293457fe5b602002602001015160a001518989815181106200294d57fe5b602002602001015160c001518a8a815181106200296657fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a260010162002875565b50819450620029cf62001a6d565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801562002a2f57600080fd5b505af115801562002a44573d6000803e3d6000fd5b505050505050505093509350939050565b600062002a61620042b0565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002ade57600080fd5b505afa15801562002af3573d6000803e3d6000fd5b505050506040513d602081101562002b0a57600080fd5b5051905090565b6000828201838110156200075a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600062000d187044656c6567617465417070726f76616c7360781b62002f05565b62002b9762001af4565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801562002bed57600080fd5b505af115801562002c02573d6000803e3d6000fd5b50505050505050565b600062002c17620042b0565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002ade57600080fd5b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811062002ccb57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801562002d0b578160200160208202803883390190505b50905060005b835181101562002d515783818151811062002d2857fe5b602002602001015182828151811062002d3d57fe5b602090810291909101015260010162002d11565b5060005b825181101562002d985782818151811062002d6c57fe5b602002602001015182828651018151811062002d8457fe5b602090810291909101015260010162002d55565b5092915050565b600062002dab620042b0565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002ade57600080fd5b60008060008060008062002e3362002029565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801562002e8757600080fd5b505afa15801562002e9c573d6000803e3d6000fd5b505050506040513d606081101562002eb357600080fd5b5080516020820151604090920151919450909250905062002ed58888620025f6565b935062002ee3818562003e0f565b955062002ef7818763ffffffff62002fe616565b945050939792965093509350565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908162002d985760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562002faa57818101518382015260200162002f90565b50505050905090810190601f16801562002fd85780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000828211156200303e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b8083141562003090576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e6f2dce8d606b1b604482015290519081900360640190fd5b60008211620030d4576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b604080516002808252606080830184529260208301908038833901905050905083816000815181106200310357fe5b60200260200101818152505081816001815181106200311e57fe5b6020026020010181815250506200313462002029565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015620031945781810151838201526020016200317a565b505050509050019250505060206040518083038186803b158015620031b857600080fd5b505afa158015620031cd573d6000803e3d6000fd5b505050506040513d6020811015620031e457600080fd5b505115620032245760405162461bcd60e51b81526004018080602001828103825260228152602001806200597e6022913960400191505060405180910390fd5b50505050565b60008060006200323d85856000620026bf565b88955090935091505080156200325e576200325b8585888562000d22565b92505b50509392505050565b600062003275838362002046565b15620032f7576200328562001ff7565b6001600160a01b031663abc0bb6e8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015620032d457600080fd5b505af1158015620032e9573d6000803e3d6000fd5b50505050600190506200075d565b6000928352600460205260409092205590565b60006200331662002013565b6001600160a01b03166332608039896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200335a57600080fd5b505afa1580156200336f573d6000803e3d6000fd5b505050506040513d60208110156200338657600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b158015620033db57600080fd5b505af1158015620033f0573d6000803e3d6000fd5b5050505060006200340062002013565b6001600160a01b03166332608039876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200344457600080fd5b505afa15801562003459573d6000803e3d6000fd5b505050506040513d60208110156200347057600080fd5b50519050821562003578576000819050620034f5816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015620034be57600080fd5b505afa158015620034d3573d6000803e3d6000fd5b505050506040513d6020811015620034ea57600080fd5b505186888a620042cf565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156200355857600080fd5b505af11580156200356d573d6000803e3d6000fd5b5050505050620035f3565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015620035d957600080fd5b505af1158015620035ee573d6000803e3d6000fd5b505050505b50979650505050505050565b600062000d1866119959541bdbdb60ca1b62002f05565b8151600090631cd554d160e21b14806200363a57506020830151631cd554d160e21b145b90506000816200364c5760036200364f565b60025b60ff16905060608160405190808252806020026020018201604052801562003681578160200160208202803883390190505b5090508460006020020151816000815181106200369a57fe5b6020908102919091010152846001602002015181600181518110620036bb57fe5b602002602001018181525050606082604051908082528060200260200182016040528015620036f4578160200160208202803883390190505b5090508460006020020151816000815181106200370d57fe5b60209081029190910101528460016020020151816001815181106200372e57fe5b60200260200101818152505083620037f257631cd554d160e21b826002815181106200375657fe5b60200260200101818152505073__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620037a757600080fd5b505af4158015620037bc573d6000803e3d6000fd5b505050506040513d6020811015620037d357600080fd5b5051815182906002908110620037e557fe5b6020026020010181815250505b620037fc62004297565b6001600160a01b03166317b38db483836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b838110156200386157818101518382015260200162003847565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015620038a257818101518382015260200162003888565b50505050905001945050505050600060405180830381600087803b158015620038ca57600080fd5b505af1158015620038df573d6000803e3d6000fd5b50505050505050505050565b6000620038f762002029565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200394057600080fd5b505afa15801562003955573d6000803e3d6000fd5b505050506040513d60208110156200396c57600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015620039bc57600080fd5b505afa158015620039d1573d6000803e3d6000fd5b505050506040513d6020811015620039e857600080fd5b50519050620039f662001a6d565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801562003a7c57600080fd5b505af115801562003a91573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b600062000d186d54726164696e675265776172647360901b62002f05565b600082158062003b34575081155b1562003b43575060016200075d565b60008383111562003b685762003b60838563ffffffff6200440a16565b905062003b7d565b62003b7a848463ffffffff6200440a16565b90505b62003b8762002a55565b11159392505050565b62003b9a620044d1565b60008060008060008060008062003bb062001a6d565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801562003c1757600080fd5b505afa15801562003c2c573d6000803e3d6000fd5b505050506040513d61010081101562003c4457600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b600080600062003cc162002029565b9050600062003ccf62002c0b565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801562003d3a57600080fd5b505afa15801562003d4f573d6000803e3d6000fd5b505050506040513d602081101562003d6657600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b15801562003dd757600080fd5b505afa15801562003dec573d6000803e3d6000fd5b505050506040513d602081101562003e0357600080fd5b50519395939450505050565b60006200075a62003e9a8373__$29008fb5f140f0f244128aebf8ddf3d79f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801562003e5f57600080fd5b505af415801562003e74573d6000803e3d6000fd5b505050506040513d602081101562003e8b57600080fd5b50519063ffffffff62002fe616565b849063ffffffff6200443816565b600062003eb4620042b0565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562003f5157600080fd5b505afa15801562003f66573d6000803e3d6000fd5b505050506040513d602081101562003f7d57600080fd5b505192915050565b60008262003f96575060006200075d565b8282028284828162003fa457fe5b04146200075a5760405162461bcd60e51b81526004018080602001828103825260218152602001806200595d6021913960400191505060405180910390fd5b62003fed62002013565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200403157600080fd5b505afa15801562004046573d6000803e3d6000fd5b505050506040513d60208110156200405d57600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b158015620040b257600080fd5b505af1158015620040c7573d6000803e3d6000fd5b50505050620040d562001af4565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002bed57600080fd5b6200414762002013565b6001600160a01b03166332608039836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200418b57600080fd5b505afa158015620041a0573d6000803e3d6000fd5b505050506040513d6020811015620041b757600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b1580156200420c57600080fd5b505af115801562004221573d6000803e3d6000fd5b505050506200422f62001af4565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002bed57600080fd5b600062000d186844656274436163686560b81b62002f05565b600062000d186e466c657869626c6553746f7261676560881b62002f05565b6000606960f81b6001600160f81b031983831a60f81b1614156200433a576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732073796e746800000000604482015290519081900360640190fd5b60025460405186916001600160a01b0316908690869086906200435d906200451c565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f080158015620043ac573d6000803e3d6000fd5b50604080516001600160a01b03808416825260208201869052818301879052915192935081871692918816917fb5ec76d79549c775883022e4426db5cd36bd5307f216cdb341554c301548ef9f9181900360600190a3949350505050565b60006200075a826200442b85670de0b6b3a764000063ffffffff62003f8516565b9063ffffffff6200446516565b6000670de0b6b3a764000062004455848463ffffffff62003f8516565b816200445d57fe5b049392505050565b6000808211620044bc576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620044c857fe5b04949350505050565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b611389806200452b8339019056fe60806040526004805460ff60a01b1916905534801561001d57600080fd5b50604051611389380380611389833981810160405260a081101561004057600080fd5b508051602082015160408301516060840151608090940151600380546001600160a01b038087166001600160a01b03199283161790925560048054928616929091169190911790556007819055929391929091906100a783836001600160e01b036100b416565b506005555061020f915050565b6001600160a01b03821661010f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610128816002546101ae60201b610b011790919060201c565b6002556001600160a01b03821660009081526020818152604090912054610158918390610b016101ae821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015610208576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b61116b8061021e6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80633db3dc9b116100b85780638f7758391161007c5780638f7758391461036657806395d89b411461036e578063a457c2d714610376578063a9059cbb146103a2578063dbd06c85146103ce578063dd62ed3e146103d657610142565b80633db3dc9b146103005780634be37cea146103085780636a256b291461031057806370a082311461033857806378f2ac261461035e57610142565b806323b872dd1161010a57806323b872dd1461024a5780632c4e722e14610280578063313ce56714610288578063378dc3dc146102a657806339509351146102ae5780633af9e669146102da57610142565b806304f3bcec1461014757806306fdde031461016b578063095ea7b3146101e8578063115f4fee1461022857806318160ddd14610230575b600080fd5b61014f610404565b604080516001600160a01b039092168252519081900360200190f35b610173610413565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ad578181015183820152602001610195565b50505050905090810190601f1680156101da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610214600480360360408110156101fe57600080fd5b506001600160a01b03813516906020013561044d565b604080519115158252519081900360200190f35b61014f610464565b610238610473565b60408051918252519081900360200190f35b6102146004803603606081101561026057600080fd5b506001600160a01b03813581169160208101359091169060400135610479565b6102386104d0565b6102906104df565b6040805160ff9092168252519081900360200190f35b6102386104e4565b610214600480360360408110156102c457600080fd5b506001600160a01b0381351690602001356104ea565b610238600480360360208110156102f057600080fd5b50356001600160a01b0316610526565b610238610531565b610238610537565b6103366004803603602081101561032657600080fd5b50356001600160a01b0316610541565b005b6102386004803603602081101561034e57600080fd5b50356001600160a01b03166105f5565b610214610610565b610214610620565b610173610630565b6102146004803603604081101561038c57600080fd5b506001600160a01b03813516906020013561065c565b610214600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610698565b6102386106a5565b610238600480360360408110156103ec57600080fd5b506001600160a01b03813581169160200135166106ab565b6004546001600160a01b031681565b600754604080516d02b34b93a3ab0b61029bcb73a34160951b6020820152602e8082019390935281518082039093018352604e0190525b90565b600061045a3384846106d6565b5060015b92915050565b6003546001600160a01b031681565b60025490565b60006104868484846107c2565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546104c69186916104c1908663ffffffff61090416565b6106d6565b5060019392505050565b60006104da610961565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff610b0116565b600061045e82610b62565b60065481565b60006104da610b88565b610549610c22565b6003546001600160a01b031663a9059cbb8261056481610b62565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156105b357600080fd5b505af11580156105c7573d6000803e3d6000fd5b505050506040513d60208110156105dd57600080fd5b506105f29050816105ed816105f5565b610da2565b50565b6001600160a01b031660009081526020819052604090205490565b600061061a610b88565b15905090565b600454600160a01b900460ff1681565b60075460408051603b60f91b602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff61090416565b600061045a3384846107c2565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661071b5760405162461bcd60e51b81526004018080602001828103825260248152602001806111136024913960400191505060405180910390fd5b6001600160a01b0382166107605760405162461bcd60e51b815260040180806020018281038252602281526020018061108a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108075760405162461bcd60e51b81526004018080602001828103825260258152602001806110ee6025913960400191505060405180910390fd5b6001600160a01b03821661084c5760405162461bcd60e51b81526004018080602001828103825260238152602001806110676023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610875908263ffffffff61090416565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108aa908263ffffffff610b0116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561095b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000600554600014156109765750600061044a565b600454600090600160a01b900460ff16610ae257600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156109d557600080fd5b505afa1580156109e9573d6000803e3d6000fd5b505050506040513d60208110156109ff57600080fd5b50519050600080610a0e610e7b565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610a6d57600080fd5b505afa158015610a81573d6000803e3d6000fd5b505050506040513d6060811015610a9757600080fd5b50805160209091015190925090508115610ac257610abb838363ffffffff61090416565b9250610adb565b8015610adb57610ad8838263ffffffff610b0116565b92505b5050610ae7565b506006545b600554610afb90829063ffffffff610f0a16565b91505090565b600082820183811015610b5b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610b6e836105f5565b9050610b5b610b7b610961565b829063ffffffff610f1f16565b6000610b92610e7b565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610bf157600080fd5b505afa158015610c05573d6000803e3d6000fd5b505050506040513d6020811015610c1b57600080fd5b5051905090565b600454600160a01b900460ff1615610c3957610da0565b6004805460ff60a01b1916600160a01b179055610c54610e7b565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b505050506040513d6060811015610cdf57600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d2c57600080fd5b505afa158015610d40573d6000803e3d6000fd5b505050506040513d6020811015610d5657600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610d84610473565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610de75760405162461bcd60e51b81526004018080602001828103825260218152602001806110cd6021913960400191505060405180910390fd5b600254610dfa908263ffffffff61090416565b6002556001600160a01b038216600090815260208190526040902054610e26908263ffffffff61090416565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b600480546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b9381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610bf157600080fd5b6000610b5b8383670de0b6b3a7640000610f34565b6000610b5b8383670de0b6b3a7640000610f78565b600080610f5a84610f4e87600a870263ffffffff610fa316565b9063ffffffff610ffc16565b90506005600a825b0610610f6c57600a015b600a9004949350505050565b600080600a8304610f8f868663ffffffff610fa316565b81610f9657fe5b0490506005600a82610f62565b600082610fb25750600061045e565b82820282848281610fbf57fe5b0414610b5b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110ac6021913960400191505060405180910390fd5b6000808211611052576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161105d57fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820a7e415c40ae7b90c2c3aa9e6b37de89d7c88d69c0729af30dbf0e84d62920a5464736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c792073796e746865746978206f7220612073796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a72315820c3bc928c523069c68ba8457fe5c339b0711cd581830345ac1ea7bf04e41cbf9564736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntryAppended",
					"type": "event",
					"signature": "0x62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reclaim",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rebate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeTimestamp",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntrySettled",
					"type": "event",
					"signature": "0x8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "vPynth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "VirtualPynthCreated",
					"type": "event",
					"signature": "0x40d987c0a731a91929904e2b9a1a44b1aa1c6ab528b7ee2e35652fe1691cbd36"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fa70f45"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						}
					],
					"name": "calculateAmountAfterSettlement",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountAfterSettlement",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c268fc8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a1e187d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a1c4758"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdfffca76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86baa45c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf3995224"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a5c6095"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "getAmountsForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf450aa34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6f32e06"
				},
				{
					"constant": true,
					"inputs": [],
					"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": "isPynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4a9c266"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dd1a57a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "maxSecsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x059c29ec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x57630a40"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b16802c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settlementOwing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rebateAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntries",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19d5c665"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "suspendPynthWithInvalidRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aed5b46"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0xd754d5cdbdb4e6203dcc39bdaed00532478313e8883c9b4b6c6207e0b9cb805b",
				"urls": [
					"bzz-raw://3cf698150fa1430124c3bb094d5998183bd299aeed01e3a4703bac9dd8ec2000",
					"dweb:/ipfs/QmNQc5bVRbfD6UMegKJk9P3VLrJVrEQnNwzAasTKfBXaMg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangerWithVirtualPynth.sol": "ExchangerWithVirtualPynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangerWithVirtualPynth.sol": {
						"keccak256": "0xd754d5cdbdb4e6203dcc39bdaed00532478313e8883c9b4b6c6207e0b9cb805b",
						"urls": [
							"bzz-raw://3cf698150fa1430124c3bb094d5998183bd299aeed01e3a4703bac9dd8ec2000",
							"dweb:/ipfs/QmNQc5bVRbfD6UMegKJk9P3VLrJVrEQnNwzAasTKfBXaMg"
						]
					}
				},
				"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": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe50a31b3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5246f2b9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRateAt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb52e0dc8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03f048b0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRatesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x381c5cb5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf07aa9d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "getShortRatesLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0356f6e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xeb94bbde"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe31f27c1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8c582503"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2f00475"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ratesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x781dc0e2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "removeShortCurrency",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6431e0bd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32261fe"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "shortRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x173fcb41"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortRatesLastUpdated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55374799"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "long",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "short",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3a71202"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoans",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc952b57"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf53037b6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateShortRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24620639"
				}
			],
			"source": {
				"keccak256": "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": "pynth",
							"type": "bytes32"
						}
					],
					"name": "ShortablePynthAdded",
					"type": "event",
					"signature": "0x228eebae23ce843c98c840591345820f72bfe22ac0ba807deebe0ee7d467ebd3"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "ShortablePynthRemoved",
					"type": "event",
					"signature": "0xc82c7ce2215189b78c42565fd1d25136f008aab037634d9db1f1b801ac025248"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "PynthAdded",
					"type": "event",
					"signature": "0xab4de7cb0edc2a9cbd9d540b749091def16b96cfc8a28853eba7fd3d74f71840"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "PynthRemoved",
					"type": "event",
					"signature": "0x7ff80d3b3127593365b40f9f83c5c8739a8d47febe308d40e9390839b5335cf1"
				},
				{
					"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": "requiredPynthAndInverseNamesInResolver",
							"type": "bytes32[2][]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0692b170"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredPynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areShortablePynthsSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb5aa1e1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredPynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbf386682"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4db7764c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe50a31b3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5246f2b9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "exceedsDebtLimit",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canIssue",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb4d6cb40"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "borrowRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba1c5e80"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getNewLoanId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3b46732"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03f048b0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "getShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "shortRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "rateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee81f790"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf07aa9d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "hasAllCollaterals",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x744d646e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "hasCollateral",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb38988f7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xeb94bbde"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe31f27c1"
				},
				{
					"constant": true,
					"inputs": [],
					"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": "isPynthManaged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x42e32f13"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2f00475"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0064c00"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "removeCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xffa749cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "removeShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcc7ae663"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e5de389"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseBorrowRate",
							"type": "uint256"
						}
					],
					"name": "setBaseBorrowRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c9c81a1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseShortRate",
							"type": "uint256"
						}
					],
					"name": "setBaseShortRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8b173e81"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxDebt",
							"type": "uint256"
						}
					],
					"name": "setMaxDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6526941b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_utilisationMultiplier",
							"type": "uint256"
						}
					],
					"name": "setUtilisationMultiplier",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f7eac37"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32261fe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralManagerState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthToInversePynth",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7060f9e8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLong",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1e33fc6b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalShort",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad79a858"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf53037b6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateShortRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24620639"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "utilisationMultiplier",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9e18015"
				}
			],
			"source": {
				"keccak256": "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": "60806040523480156200001157600080fd5b5060405162000f6c38038062000f6c83398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b610c9a80620002d26000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba50971461011a5780638da5cb5b1461012257806398c61c371461012a578063a1c5158614610152578063aefc4ccb14610172578063e0b6adbc1461017a576100a9565b80631627540c146100ae57806344dce41c146100c357806352f445ca146100d657806353a47bb7146100e95780635c33120414610107575b600080fd5b6100c16100bc36600461088c565b61019a565b005b6100c16100d13660046108ec565b6101f8565b6100c16100e436600461088c565b610352565b6100f16103a5565b6040516100fe9190610adc565b60405180910390f35b6100c16101153660046108ec565b6103b4565b6100c161048d565b6100f1610529565b61013d6101383660046108b2565b610538565b6040516100fe99989796959493929190610b59565b6101656101603660046108b2565b6105ad565b6040516100fe9190610b3c565b6100f16106e4565b61018d61018836600461088c565b6106f3565b6040516100fe9190610b4b565b6101a261070e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101ed908390610adc565b60405180910390a150565b6002546001600160a01b0316331461022b5760405162461bcd60e51b815260040161022290610b2c565b60405180910390fd5b6020808201516001600160a01b03166000908152600390915260408120905b815481101561034d57826000015182828154811061026457fe5b906000526020600020906009020160000154141561034557826003600085602001516001600160a01b03166001600160a01b0316815260200190815260200160002082815481106102b157fe5b6000918252602091829020835160099290920201908155908201516001820180546001600160a01b0319166001600160a01b0390921691909117905560408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e08201516007820155610100909101516008909101555b60010161024a565b505050565b61035a61070e565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906101ed908390610adc565b6001546001600160a01b031681565b6002546001600160a01b031633146103de5760405162461bcd60e51b815260040161022290610b2c565b602081810180516001600160a01b03908116600090815260038085526040808320805460018082018355918552969093208751600990970201958655935191850180546001600160a01b03191692909316919091179091559083015160028301556060830151908201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e0820151600782015561010090910151600890910155565b6001546001600160a01b031633146104b75760405162461bcd60e51b815260040161022290610b0c565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926104fa926001600160a01b0391821692911690610aea565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003602052816000526040600020818154811061055157fe5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801549699506001600160a01b03909516975092959194909360ff90931692919089565b6105b561073a565b6001600160a01b0383166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610683576000848152602090819020604080516101208101825260098602909201805483526001808201546001600160a01b0316848601526002820154928401929092526003810154606084015260048101546080840152600581015460ff16151560a0840152600681015460c0840152600781015460e08401526008015461010083015290835290920191016105ed565b509293506000925050505b81518110156106db57838282815181106106a457fe5b60200260200101516000015114156106d3578181815181106106c257fe5b6020026020010151925050506106de565b60010161068e565b50505b92915050565b6002546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107385760405162461bcd60e51b815260040161022290610b1c565b565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b80356106de81610c2e565b80356106de81610c45565b80356106de81610c4e565b600061012082840312156107c857600080fd5b6107d3610120610bdf565b905060006107e184846107aa565b82525060206107f284848301610794565b6020830152506040610806848285016107aa565b604083015250606061081a848285016107aa565b606083015250608061082e848285016107aa565b60808301525060a06108428482850161079f565b60a08301525060c0610856848285016107aa565b60c08301525060e061086a848285016107aa565b60e08301525061010061087f848285016107aa565b6101008301525092915050565b60006020828403121561089e57600080fd5b60006108aa8484610794565b949350505050565b600080604083850312156108c557600080fd5b60006108d18585610794565b92505060206108e2858286016107aa565b9150509250929050565b600061012082840312156108ff57600080fd5b60006108aa84846107b5565b61091481610c0f565b82525050565b61091481610c1a565b61091481610c1f565b6000610939603583610c06565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610990602f83610c06565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006109e1603483610c06565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b8051610120830190610a3c8482610923565b506020820151610a4f602085018261090b565b506040820151610a626040850182610923565b506060820151610a756060850182610923565b506080820151610a886080850182610923565b5060a0820151610a9b60a085018261091a565b5060c0820151610aae60c0850182610923565b5060e0820151610ac160e0850182610923565b50610100820151610ad6610100850182610923565b50505050565b602081016106de828461090b565b60408101610af8828561090b565b610b05602083018461090b565b9392505050565b602080825281016106de8161092c565b602080825281016106de81610983565b602080825281016106de816109d4565b61012081016106de8284610a2a565b602081016106de8284610923565b6101208101610b68828c610923565b610b75602083018b61090b565b610b82604083018a610923565b610b8f6060830189610923565b610b9c6080830188610923565b610ba960a083018761091a565b610bb660c0830186610923565b610bc360e0830185610923565b610bd1610100830184610923565b9a9950505050505050505050565b60405181810167ffffffffffffffff81118282101715610bfe57600080fd5b604052919050565b90815260200190565b60006106de82610c22565b151590565b90565b6001600160a01b031690565b610c3781610c0f565b8114610c4257600080fd5b50565b610c3781610c1a565b610c3781610c1f56fea365627a7a72315820aa1c625f556447ac2b8508e19fa9c4217e55d8ecdc5500f0fe8b683516d0bc646c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0xc238df01b6845ebf985ef266b8a50321f5410843b04b9de084a771bb5b95459c",
				"urls": [
					"bzz-raw://dfe62ba7869f068edf77a14c0f90a78c2142fe7c14a9c2cf47a71aeca219a15a",
					"dweb:/ipfs/QmQFwJRay2CCab6nZ1u6MEEPE7ovwypB6TxjJ9Noae8os7"
				]
			},
			"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": "0xc238df01b6845ebf985ef266b8a50321f5410843b04b9de084a771bb5b95459c",
						"urls": [
							"bzz-raw://dfe62ba7869f068edf77a14c0f90a78c2142fe7c14a9c2cf47a71aeca219a15a",
							"dweb:/ipfs/QmQFwJRay2CCab6nZ1u6MEEPE7ovwypB6TxjJ9Noae8os7"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralEth": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b50604051620061a5380380620061a58339810160408190526200004c916200016c565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f9062000294565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d59184906200026e565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b5550506001601055506200031595505050505050565b80516200014c81620002e5565b92915050565b80516200014c81620002ff565b80516200014c816200030a565b600080600080600080600060e0888a0312156200018857600080fd5b6000620001968a8a6200015f565b9750506020620001a98a828b016200013f565b9650506040620001bc8a828b016200013f565b9550506060620001cf8a828b016200013f565b9450506080620001e28a828b0162000152565b93505060a0620001f58a828b0162000152565b92505060c0620002088a828b0162000152565b91505092959891949750929550565b6200022281620002d8565b82525050565b6200022281620002af565b600062000242601983620002a6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200027e828562000217565b6200028d602083018462000228565b9392505050565b602080825281016200014c8162000233565b90815260200190565b60006200014c82620002cc565b90565b60006200014c82620002af565b6001600160a01b031690565b60006200014c82620002bf565b620002f081620002af565b8114620002fc57600080fd5b50565b620002f081620002bc565b620002f081620002bf565b615e8080620003256000396000f3fe6080604052600436106102465760003560e01c80635eb2ad0111610139578063a76cdfa5116100b6578063d2b8035a1161007a578063d2b8035a14610638578063dac8cf6814610658578063de81eda914610678578063e74337c614610698578063eb8e3b65146106b8578063f3f43703146106cd57610246565b8063a76cdfa5146105b9578063b562a1ab146105d9578063ba2de9bc146105ee578063c19d93fb14610603578063d0ebdbe71461061857610246565b8063899ffef4116100fd578063899ffef41461052d5780638cd2e0c71461054f5780638da5cb5b1461056f57806390abb4d914610584578063925ead11146105a457610246565b80635eb2ad01146104a357806372e18b6a146104c357806374185360146104e357806379ba5097146104f85780637e1323551461050d57610246565b806330edd961116101c7578063441a3e701161018b578063441a3e701461041957806347e7ef2414610439578063481c6a751461044c5780634c17ace41461046e57806353a47bb71461048e57610246565b806330edd9611461038f578063361e2086146103af578063379607f5146103c457806338245377146103e45780634065b81b1461040457610246565b80630cdd1c651161020e5780630cdd1c65146102f857806315aaf4dd146103185780631627540c1461032d57806323d60e2e1461034d5780632af64bd31461036d57610246565b806304f3bcec1461024b57806306c19e3f146102765780630710285c1461028b5780630a153c97146102ab5780630aebeb4e146102d8575b600080fd5b34801561025757600080fd5b506102606106ed565b60405161026d9190615adc565b60405180910390f35b61028961028436600461502e565b6106fc565b005b34801561029757600080fd5b506102896102a6366004614ee7565b61070e565b3480156102b757600080fd5b506102cb6102c636600461502e565b610754565b60405161026d9190615a6a565b3480156102e457600080fd5b506102896102f3366004615010565b610890565b34801561030457600080fd5b50610289610313366004615010565b6108d3565b34801561032457600080fd5b506102cb6109be565b34801561033957600080fd5b50610289610348366004614e71565b6109c4565b34801561035957600080fd5b50610289610368366004614f34565b610a17565b34801561037957600080fd5b50610382610add565b60405161026d9190615a5c565b34801561039b57600080fd5b506102cb6103aa366004615010565b610bf5565b3480156103bb57600080fd5b506102cb610c13565b3480156103d057600080fd5b506102896103df366004615010565b610c19565b3480156103f057600080fd5b506102cb6103ff366004615010565b610cee565b34801561041057600080fd5b50610382610d00565b34801561042557600080fd5b5061028961043436600461502e565b610d09565b610289610447366004614ead565b610d4d565b34801561045857600080fd5b50610461610d58565b60405161026d91906159eb565b34801561047a57600080fd5b50610289610489366004615010565b610d67565b34801561049a57600080fd5b50610461610e43565b3480156104af57600080fd5b506102896104be366004614ead565b610e52565b3480156104cf57600080fd5b506103826104de366004614f34565b610e88565b3480156104ef57600080fd5b50610289610f4a565b34801561050457600080fd5b5061028961109c565b34801561051957600080fd5b506102cb61052836600461502e565b611138565b34801561053957600080fd5b506105426111e1565b60405161026d9190615a4b565b34801561055b57600080fd5b5061028961056a366004614ee7565b611346565b34801561057b57600080fd5b50610461611352565b34801561059057600080fd5b5061028961059f366004614fa4565b611361565b3480156105b057600080fd5b506102cb6113ad565b3480156105c557600080fd5b506102896105d4366004615010565b6113b3565b3480156105e557600080fd5b506102cb6113f0565b3480156105fa57600080fd5b506102cb6113f6565b34801561060f57600080fd5b506102606113fc565b34801561062457600080fd5b50610289610633366004614e71565b61140b565b34801561064457600080fd5b5061028961065336600461502e565b611464565b34801561066457600080fd5b506102cb61067336600461504d565b61146e565b34801561068457600080fd5b50610461610693366004615010565b6115c7565b3480156106a457600080fd5b506102cb6106b336600461504d565b6115e2565b3480156106c457600080fd5b506102cb611831565b3480156106d957600080fd5b506102cb6106e8366004614e71565b611837565b6002546001600160a01b031681565b6107093483836000611849565b505050565b600061071b848484612072565b3360009081526011602052604090205490915061073e908263ffffffff6124d716565b3360009081526011602052604090205550505050565b60008061075f612505565b90506107696125b7565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161079a93929190615ab4565b60206040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ea919081019061508b565b915061088861087b8273__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561083757600080fd5b505af415801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061086f919081019061508b565b9063ffffffff6124d716565b839063ffffffff6125d216565b949350505050565b600061089c33836125fc565b336000908152601160205260409020549091506108bf908263ffffffff6124d716565b336000908152601160205260409020555050565b6108db612b61565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561091f57600080fd5b505af4158015610933573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610957919081019061508b565b811161097e5760405162461bcd60e51b815260040161097590615b0b565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906109b3908390615a6a565b60405180910390a150565b600e5481565b6109cc612b61565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906109b39083906159eb565b610a1f612b61565b828114610a3e5760405162461bcd60e51b815260040161097590615afb565b60005b83811015610ace576000858583818110610a5757fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610aab57fe5b602090810292909201358352508101919091526040016000205550600101610a41565b50610ad7610f4a565b50505050565b60006060610ae96111e1565b905060005b8151811015610beb576000828281518110610b0557fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b56908590600401615a6a565b60206040518083038186803b158015610b6e57600080fd5b505afa158015610b82573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ba69190810190614e8f565b6001600160a01b0316141580610bd157506000818152600360205260409020546001600160a01b0316155b15610be25760009350505050610bf2565b50600101610aee565b5060019150505b90565b60078181548110610c0257fe5b600091825260209091200154905081565b600c5481565b601080546001019081905533600090815260116020526040902054610c44908363ffffffff612b8d16565b336000818152601160205260408082209390935591518490610c65906159e0565b60006040518083038185875af1925050503d8060008114610ca2576040519150601f19603f3d011682016040523d82523d6000602084013e610ca7565b606091505b5050905080610cc85760405162461bcd60e51b815260040161097590615b4b565b506010548114610cea5760405162461bcd60e51b815260040161097590615cbb565b5050565b60086020526000908152604090205481565b600f5460ff1681565b6000610d158383612bb5565b33600090815260116020526040902054909150610d38908263ffffffff6124d716565b33600090815260116020526040902055505050565b610cea828234612e52565b6006546001600160a01b031681565b610d6f612b61565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610db357600080fd5b505af4158015610dc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610deb919081019061508b565b610e1002811115610e0e5760405162461bcd60e51b815260040161097590615c1b565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906109b3908390615a6a565b6001546001600160a01b031681565b610e5a612b61565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610e9c57506000610888565b60005b84811015610f3e576000868683818110610eb557fe5b9050602002013590508060078381548110610ecc57fe5b906000526020600020015414610ee757600092505050610888565b60078281548110610ef457fe5b906000526020600020015460086000878786818110610f0f57fe5b9050602002013581526020019081526020016000205414610f3557600092505050610888565b50600101610e9f565b50600195945050505050565b6060610f546111e1565b905060005b8151811015610cea576000828281518110610f7057fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610fb291906159d5565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fde929190615a94565b60206040518083038186803b158015610ff657600080fd5b505afa15801561100a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061102e9190810190614e8f565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa689061108a9084908490615a78565b60405180910390a15050600101610f59565b6001546001600160a01b031633146110c65760405162461bcd60e51b815260040161097590615b3b565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611109926001600160a01b0391821692911690615a22565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111da6111456125b7565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161117693929190615ab4565b60206040518083038186803b15801561118e57600080fd5b505afa1580156111a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111c6919081019061508b565b6111ce6130e3565b9063ffffffff6125d216565b9392505050565b6060806111ec613173565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061122b57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061125557fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061127b57fe5b6020026020010181815250506b53797374656d53746174757360a01b816003815181106112a457fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816004815181106112ca57fe5b60200260200101818152505060606112e283836131c4565b905061133e81600780548060200260200160405190810160405280929190818152602001828054801561133457602002820191906000526020600020905b815481526020019060010190808311611320575b50505050506131c4565b935050505090565b61070983338484613280565b6000546001600160a01b031681565b611369612b61565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916109b39160ff90911690615a5c565b600a5481565b6113bb612b61565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906109b3908390615a6a565b60045481565b600b5481565b6005546001600160a01b031681565b611413612b61565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926109b39216906159eb565b610cea828261363b565b6000806114796125b7565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b81526004016114b593929190615ab4565b60206040518083038186803b1580156114cd57600080fd5b505afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611505919081019061508b565b905060006115116125b7565b6001600160a01b031663654a60ac856060015161153f8760c0015188608001516124d790919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b815260040161156593929190615ab4565b60206040518083038186803b15801561157d57600080fd5b505afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b5919081019061508b565b9050610888828263ffffffff613bfb16565b6009602052600090815260409020546001600160a01b031681565b6000806115ed612505565b905060006116946115fc6125b7565b6001600160a01b031663ac82f60886606001516040518263ffffffff1660e01b815260040161162b9190615a6a565b60206040518083038186803b15801561164357600080fd5b505afa158015611657573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061167b919081019061508b565b60c086015160808701516111ce9163ffffffff6124d716565b905060006117316116a36125b7565b6001600160a01b031663ac82f6086004546040518263ffffffff1660e01b81526004016116d09190615a6a565b60206040518083038186803b1580156116e857600080fd5b505afa1580156116fc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611720919081019061508b565b60408701519063ffffffff6125d216565b9050600073__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561177957600080fd5b505af415801561178d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b1919081019061508b565b905060006117da6117cd600a5485613bfb90919063ffffffff16565b859063ffffffff612b8d16565b90506000611813611806600a546117fa89876124d790919063ffffffff16565b9063ffffffff613bfb16565b849063ffffffff612b8d16565b9050611825828263ffffffff613bfb16565b98975050505050505050565b600d5481565b60116020526000908152604090205481565b6000611853613c25565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561188b57600080fd5b505afa15801561189f573d6000803e3d6000fd5b5050600f5460ff1691506118c790505760405162461bcd60e51b815260040161097590615c0b565b6118cf6125b7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016118fc9190615a6a565b60206040518083038186803b15801561191457600080fd5b505afa158015611928573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061194c9190810190614fc2565b156119695760405162461bcd60e51b815260040161097590615c2b565b6000838152600860205260409020546119945760405162461bcd60e51b815260040161097590615c5b565b61199c6125b7565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016119c79190615a6a565b60206040518083038186803b1580156119df57600080fd5b505afa1580156119f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a179190810190614fc2565b15611a345760405162461bcd60e51b815260040161097590615bbb565b600b54851015611a565760405162461bcd60e51b815260040161097590615bab565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90611a899033906004016159f9565b60206040518083038186803b158015611aa157600080fd5b505afa158015611ab5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ad9919081019061508b565b10611af65760405162461bcd60e51b815260040161097590615b8b565b600080611b01613c3f565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401611b2e929190615a86565b604080518083038186803b158015611b4557600080fd5b505afa158015611b59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b7d9190810190614fe0565b91509150818015611b8c575080155b611ba85760405162461bcd60e51b815260040161097590615c9b565b611bb28786611138565b861115611bd15760405162461bcd60e51b815260040161097590615c3b565b6000611be8600c5488613c4e90919063ffffffff16565b90506000611bfc888363ffffffff612b8d16565b9050611c06613c3f565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c4057600080fd5b505af1158015611c54573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c78919081019061508b565b9450611c82614beb565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050611cda81613c63565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490611d0b908490600401615cdb565b600060405180830381600087803b158015611d2557600080fd5b505af1158015611d39573d6000803e3d6000fd5b50505050611d47838961414f565b8615611f3d57611d5561433b565b6001600160a01b031663867904b433611d6c6125b7565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401611da293929190615ab4565b60206040518083038186803b158015611dba57600080fd5b505afa158015611dce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611df2919081019061508b565b6040518363ffffffff1660e01b8152600401611e0f929190615a07565b600060405180830381600087803b158015611e2957600080fd5b505af1158015611e3d573d6000803e3d6000fd5b50505050611e49613c3f565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401611e76929190615a86565b600060405180830381600087803b158015611e9057600080fd5b505af1158015611ea4573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050611f38576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611f059033908d90600401615a07565b600060405180830381600087803b158015611f1f57600080fd5b505af1158015611f33573d6000803e3d6000fd5b505050505b61201c565b600088815260086020526040902054611f5590614352565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401611f82929190615a07565b600060405180830381600087803b158015611f9c57600080fd5b505af1158015611fb0573d6000803e3d6000fd5b50505050611fbc613c3f565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401611fe9929190615a86565b600060405180830381600087803b15801561200357600080fd5b505af1158015612017573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c8860405161205d959493929190615d28565b60405180910390a25050505050949350505050565b600061207c613c25565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156120b457600080fd5b505afa1580156120c8573d6000803e3d6000fd5b505050506120d46125b7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016121019190615a6a565b60206040518083038186803b15801561211957600080fd5b505afa15801561212d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121519190810190614fc2565b1561216e5760405162461bcd60e51b815260040161097590615c2b565b6000821161218e5760405162461bcd60e51b815260040161097590615b6b565b612196614beb565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906121c89088908890600401615a3d565b6101206040518083038186803b1580156121e157600080fd5b505afa1580156121f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612219919081019061506c565b90506122248161435d565b61222d81613c63565b905061223e338260600151856143bd565b600a5461224a8261146e565b106122675760405162461bcd60e51b815260040161097590615b9b565b6000612272826115e2565b905060008482106122835784612285565b815b905060006122a48460c0015185608001516124d790919063ffffffff16565b90508082106122c3576122b8883386614470565b9450505050506111da565b6122cd848361483f565b93506122dd846060015183610754565b60408501519095506122f5908663ffffffff612b8d16565b604085015242610100850152612309614a62565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b815260040161233a929190615a07565b60206040518083038186803b15801561235257600080fd5b505afa158015612366573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061238a9190810190614fc2565b156123a75760405162461bcd60e51b815260040161097590615ccb565b60608401516000908152600860205260409020546123c490614352565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b81526004016123f1929190615a07565b600060405180830381600087803b15801561240b57600080fd5b505af115801561241f573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612453908790600401615cdb565b600060405180830381600087803b15801561246d57600080fd5b505af1158015612481573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5883385896040516124c49493929190615cea565b60405180910390a2505050509392505050565b6000828201838110156124fc5760405162461bcd60e51b815260040161097590615b7b565b90505b92915050565b600061250f614a79565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401612562929190615a86565b60206040518083038186803b15801561257a57600080fd5b505afa15801561258e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125b2919081019061508b565b905090565b60006125b26c45786368616e6765526174657360981b614a92565b6000670de0b6b3a76400006125ed848463ffffffff614aef16565b816125f457fe5b049392505050565b6000612606613c25565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561263e57600080fd5b505afa158015612652573d6000803e3d6000fd5b5050505061265e6125b7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161268b9190615a6a565b60206040518083038186803b1580156126a357600080fd5b505afa1580156126b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126db9190810190614fc2565b156126f85760405162461bcd60e51b815260040161097590615c2b565b612700614beb565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906127329087908790600401615a3d565b6101206040518083038186803b15801561274b57600080fd5b505afa15801561275f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612783919081019061506c565b905061278e8161435d565b61279781613c63565b905060006127b68260c0015183608001516124d790919063ffffffff16565b90506127cb82602001518360600151836143bd565b6127d3614a62565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b8152600401612804929190615a3d565b60206040518083038186803b15801561281c57600080fd5b505afa158015612830573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128549190810190614fc2565b156128715760405162461bcd60e51b815260040161097590615bcb565b606082015160009081526008602052604090205461288e90614352565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016128bb929190615a3d565b600060405180830381600087803b1580156128d557600080fd5b505af11580156128e9573d6000803e3d6000fd5b505050508160a0015115612a07576128ff613c3f565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b8152600401612934929190615a86565b600060405180830381600087803b15801561294e57600080fd5b505af1158015612962573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b031615612a0257606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916129cf918991600401615a3d565b600060405180830381600087803b1580156129e957600080fd5b505af11580156129fd573d6000803e3d6000fd5b505050505b612a77565b612a0f613c3f565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b8152600401612a44929190615a86565b600060405180830381600087803b158015612a5e57600080fd5b505af1158015612a72573d6000803e3d6000fd5b505050505b81604001519250612a908260c00151836060015161414f565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612ae6908590600401615cdb565b600060405180830381600087803b158015612b0057600080fd5b505af1158015612b14573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f85604051612b519190615a6a565b60405180910390a2505092915050565b6000546001600160a01b03163314612b8b5760405162461bcd60e51b815260040161097590615c4b565b565b600082821115612baf5760405162461bcd60e51b815260040161097590615bdb565b50900390565b6000612bbf613c25565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612bf757600080fd5b505afa158015612c0b573d6000803e3d6000fd5b50505050612c176125b7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612c449190615a6a565b60206040518083038186803b158015612c5c57600080fd5b505afa158015612c70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c949190810190614fc2565b15612cb15760405162461bcd60e51b815260040161097590615c2b565b612cb9614beb565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612ceb9033908890600401615a07565b6101206040518083038186803b158015612d0457600080fd5b505afa158015612d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d3c919081019061506c565b9050612d478161435d565b612d5081613c63565b6040810151909150612d68908463ffffffff612b8d16565b604082015242610100820152600a54612d808261146e565b11612d9d5760405162461bcd60e51b815260040161097590615b1b565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612dcd908490600401615cdb565b600060405180830381600087803b158015612de757600080fd5b505af1158015612dfb573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330385858460400151604051612e4393929190615ab4565b60405180910390a25092915050565b612e5a613c25565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612e9257600080fd5b505afa158015612ea6573d6000803e3d6000fd5b50505050612eb26125b7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612edf9190615a6a565b60206040518083038186803b158015612ef757600080fd5b505afa158015612f0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f2f9190810190614fc2565b15612f4c5760405162461bcd60e51b815260040161097590615c2b565b60008111612f6c5760405162461bcd60e51b815260040161097590615c8b565b612f74614beb565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612fa69087908790600401615a3d565b6101206040518083038186803b158015612fbf57600080fd5b505afa158015612fd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ff7919081019061506c565b90506130028161435d565b61300b81613c63565b6040810151909150613023908363ffffffff6124d716565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90613062908490600401615cdb565b600060405180830381600087803b15801561307c57600080fd5b505af1158015613090573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c848484604001516040516130d593929190615ab4565b60405180910390a250505050565b60006125b2600a5473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561312f57600080fd5b505af4158015613143573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613167919081019061508b565b9063ffffffff614b2916565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106131b557fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156131f4578160200160208202803883390190505b50905060005b83518110156132365783818151811061320f57fe5b602002602001015182828151811061322357fe5b60209081029190910101526001016131fa565b5060005b82518110156132795782818151811061324f57fe5b602002602001015182828651018151811061326657fe5b602090810291909101015260010161323a565b5092915050565b613288613c25565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156132c057600080fd5b505afa1580156132d4573d6000803e3d6000fd5b505050506132e06125b7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b815260040161330d9190615a6a565b60206040518083038186803b15801561332557600080fd5b505afa158015613339573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061335d9190810190614fc2565b1561337a5760405162461bcd60e51b815260040161097590615c2b565b6000811161339a5760405162461bcd60e51b815260040161097590615b6b565b6133a2614beb565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906133d49088908790600401615a3d565b6101206040518083038186803b1580156133ed57600080fd5b505afa158015613401573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613425919081019061506c565b90506134308161435d565b61343981613c63565b905061344a848260600151846143bd565b613454818361483f565b426101008201529050613465614a62565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401613496929190615a3d565b60206040518083038186803b1580156134ae57600080fd5b505afa1580156134c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134e69190810190614fc2565b156135035760405162461bcd60e51b815260040161097590615ccb565b606081015160009081526008602052604090205461352090614352565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b815260040161354d929190615a3d565b600060405180830381600087803b15801561356757600080fd5b505af115801561357b573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506135af908490600401615cdb565b600060405180830381600087803b1580156135c957600080fd5b505af11580156135dd573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f8585856080015160405161362c93929190615ab4565b60405180910390a35050505050565b613643613c25565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561367b57600080fd5b505afa15801561368f573d6000803e3d6000fd5b5050505061369b6125b7565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016136c89190615a6a565b60206040518083038186803b1580156136e057600080fd5b505afa1580156136f4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137189190810190614fc2565b156137355760405162461bcd60e51b815260040161097590615c2b565b61373d614beb565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061376f9033908790600401615a07565b6101206040518083038186803b15801561378857600080fd5b505afa15801561379c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137c0919081019061506c565b90506137cb8161435d565b6137d481613c63565b60808101519091506137ec908363ffffffff6124d716565b6080820152600a546137fd8261146e565b1161381a5760405162461bcd60e51b815260040161097590615b2b565b6000613831600c5484613c4e90919063ffffffff16565b90506000613845848363ffffffff612b8d16565b90508260a0015115613a5257613859613c3f565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b815260040161388a929190615a86565b600060405180830381600087803b1580156138a457600080fd5b505af11580156138b8573d6000803e3d6000fd5b505050506138c461433b565b6001600160a01b031663867904b4336138db6125b7565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b815260040161391593929190615ab4565b60206040518083038186803b15801561392d57600080fd5b505afa158015613941573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613965919081019061508b565b6040518363ffffffff1660e01b8152600401613982929190615a07565b600060405180830381600087803b15801561399c57600080fd5b505af11580156139b0573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b031615613a4d5760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613a1a9033908890600401615a07565b600060405180830381600087803b158015613a3457600080fd5b505af1158015613a48573d6000803e3d6000fd5b505050505b613b3a565b613a5a613c3f565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401613a8b929190615a86565b600060405180830381600087803b158015613aa557600080fd5b505af1158015613ab9573d6000803e3d6000fd5b5050506060840151600090815260086020526040902054613ada9150614352565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401613b07929190615a07565b600060405180830381600087803b158015613b2157600080fd5b505af1158015613b35573d6000803e3d6000fd5b505050505b613b4882846060015161414f565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613b7f908690600401615cdb565b600060405180830381600087803b158015613b9957600080fd5b505af1158015613bad573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106548686604051613bec929190615a86565b60405180910390a25050505050565b60006111da82613c1985670de0b6b3a764000063ffffffff614aef16565b9063ffffffff614b3e16565b60006125b26b53797374656d53746174757360a01b614a92565b6006546001600160a01b031690565b60006111da8383670de0b6b3a7640000614b73565b613c6b614beb565b8190506000806000808560a00151613d0957613c85613c3f565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613cb49190615a6a565b60806040518083038186803b158015613ccc57600080fd5b505afa158015613ce0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d0491908101906150c8565b613d96565b613d11613c3f565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613d46929190615a86565b60806040518083038186803b158015613d5e57600080fd5b505afa158015613d72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d9691908101906150c8565b93509350935093506000808760a00151613e2657613db2613c3f565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613de957600080fd5b505afa158015613dfd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e2191908101906150a9565b613ebe565b613e2e613c3f565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613e6f91600401615a6a565b604080518083038186803b158015613e8657600080fd5b505afa158015613e9a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ebe91908101906150a9565b915091508015613ee05760405162461bcd60e51b815260040161097590615bfb565b6000613f7d73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613f2957600080fd5b505af4158015613f3d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f61919081019061508b565b613f71428863ffffffff612b8d16565b9063ffffffff614aef16565b90506000613fa1613f94858463ffffffff6125d216565b889063ffffffff6124d716565b905060008a60e00151600014613fda57613fd5613fc4838b63ffffffff612b8d16565b60808d01519063ffffffff6125d216565b613fdd565b60005b90508a60a0015161405257613ff0613c3f565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b815260040161401b9190615a6a565b600060405180830381600087803b15801561403557600080fd5b505af1158015614049573d6000803e3d6000fd5b505050506140be565b61405a613c3f565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b815260040161408b929190615a86565b600060405180830381600087803b1580156140a557600080fd5b505af11580156140b9573d6000803e3d6000fd5b505050505b60c08b01516140d3908263ffffffff6124d716565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061410f908d90600401615cdb565b600060405180830381600087803b15801561412957600080fd5b505af115801561413d573d6000803e3d6000fd5b50505050505050505050505050919050565b8115610cea57631cd554d160e21b81146141f45761416b6125b7565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b81526004016141a193929190615ab4565b60206040518083038186803b1580156141b957600080fd5b505afa1580156141cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141f1919081019061508b565b91505b6141fc61433b565b6001600160a01b031663867904b4614212614bb0565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561424a57600080fd5b505afa15801561425e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506142829190810190614e8f565b846040518363ffffffff1660e01b81526004016142a0929190615a3d565b600060405180830381600087803b1580156142ba57600080fd5b505af11580156142ce573d6000803e3d6000fd5b505050506142da614bb0565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b81526004016143059190615a6a565b600060405180830381600087803b15801561431f57600080fd5b505af1158015614333573d6000803e3d6000fd5b505050505050565b60006125b26814de5b9d1a1cd554d160ba1b614a92565b60006124ff82614a92565b60008160e00151116143815760405162461bcd60e51b815260040161097590615cab565b4261439c600e548361010001516124d790919063ffffffff16565b11156143ba5760405162461bcd60e51b815260040161097590615b5b565b50565b60008281526008602052604090205481906143d790614352565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161440291906159eb565b60206040518083038186803b15801561441a57600080fd5b505afa15801561442e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614452919081019061508b565b10156107095760405162461bcd60e51b815260040161097590615c7b565b60008061448e8360c0015184608001516124d790919063ffffffff16565b6080840151604085015193509091506144a5614a62565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016144d6929190615a3d565b60206040518083038186803b1580156144ee57600080fd5b505afa158015614502573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506145269190810190614fc2565b156145435760405162461bcd60e51b815260040161097590615ccb565b606084015160009081526008602052604090205461456090614352565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b815260040161458d929190615a3d565b600060405180830381600087803b1580156145a757600080fd5b505af11580156145bb573d6000803e3d6000fd5b505050508360a00151156146d9576145d1613c3f565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b8152600401614606929190615a86565b600060405180830381600087803b15801561462057600080fd5b505af1158015614634573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156146d457606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916146a1918a91600401615a3d565b600060405180830381600087803b1580156146bb57600080fd5b505af11580156146cf573d6000803e3d6000fd5b505050505b614749565b6146e1613c3f565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b8152600401614716929190615a86565b600060405180830381600087803b15801561473057600080fd5b505af1158015614744573d6000803e3d6000fd5b505050505b61475b8460c00151856060015161414f565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906147b1908790600401615cdb565b600060405180830381600087803b1580156147cb57600080fd5b505af11580156147df573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb8660000151848760405161482e93929190615ab4565b60405180910390a350509392505050565b614847614beb565b5081811580159061485c575060008360c00151115b156148b95760008360c001518311614874578261487a565b8360c001515b60c0850151909150614892908263ffffffff612b8d16565b60c08301526148a7838263ffffffff612b8d16565b92506148b781856060015161414f565b505b81156124ff5760808301516148d4908363ffffffff612b8d16565b608082015260a0810151156149f1576148eb613c3f565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161491c929190615a86565b600060405180830381600087803b15801561493657600080fd5b505af115801561494a573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156149ec5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916149b991908690600401615a07565b600060405180830381600087803b1580156149d357600080fd5b505af11580156149e7573d6000803e3d6000fd5b505050505b6124ff565b6149f9613c3f565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b8152600401614a2a929190615a86565b600060405180830381600087803b158015614a4457600080fd5b505af1158015614a58573d6000803e3d6000fd5b5050505092915050565b60006125b26822bc31b430b733b2b960b91b614a92565b60006125b26e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b039091169182151591614ac2918691016159b5565b604051602081830303815290604052906132795760405162461bcd60e51b81526004016109759190615aea565b600082614afe575060006124ff565b82820282848281614b0b57fe5b04146124fc5760405162461bcd60e51b815260040161097590615c6b565b60006111da8383670de0b6b3a7640000614bc5565b6000808211614b5f5760405162461bcd60e51b815260040161097590615beb565b6000828481614b6a57fe5b04949350505050565b600080600a8304614b8a868663ffffffff614aef16565b81614b9157fe5b0490506005600a825b0610614ba457600a015b600a9004949350505050565b60006125b266119959541bdbdb60ca1b614a92565b600080614bdf84613c1987600a870263ffffffff614aef16565b90506005600a82614b9a565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b80356124ff81615e17565b80516124ff81615e17565b60008083601f840112614c6d57600080fd5b50813567ffffffffffffffff811115614c8557600080fd5b602083019150836020820283011115614c9d57600080fd5b9250929050565b80356124ff81615e2b565b80516124ff81615e2b565b80356124ff81615e34565b80516124ff81615e34565b60006101208284031215614ce357600080fd5b614cee610120615d74565b90506000614cfc8484614cba565b8252506020614d0d84848301614c45565b6020830152506040614d2184828501614cba565b6040830152506060614d3584828501614cba565b6060830152506080614d4984828501614cba565b60808301525060a0614d5d84828501614ca4565b60a08301525060c0614d7184828501614cba565b60c08301525060e0614d8584828501614cba565b60e083015250610100614d9a84828501614cba565b6101008301525092915050565b60006101208284031215614dba57600080fd5b614dc5610120615d74565b90506000614dd38484614cc5565b8252506020614de484848301614c50565b6020830152506040614df884828501614cc5565b6040830152506060614e0c84828501614cc5565b6060830152506080614e2084828501614cc5565b60808301525060a0614e3484828501614caf565b60a08301525060c0614e4884828501614cc5565b60c08301525060e0614e5c84828501614cc5565b60e083015250610100614d9a84828501614cc5565b600060208284031215614e8357600080fd5b60006108888484614c45565b600060208284031215614ea157600080fd5b60006108888484614c50565b60008060408385031215614ec057600080fd5b6000614ecc8585614c45565b9250506020614edd85828601614cba565b9150509250929050565b600080600060608486031215614efc57600080fd5b6000614f088686614c45565b9350506020614f1986828701614cba565b9250506040614f2a86828701614cba565b9150509250925092565b60008060008060408587031215614f4a57600080fd5b843567ffffffffffffffff811115614f6157600080fd5b614f6d87828801614c5b565b9450945050602085013567ffffffffffffffff811115614f8c57600080fd5b614f9887828801614c5b565b95989497509550505050565b600060208284031215614fb657600080fd5b60006108888484614ca4565b600060208284031215614fd457600080fd5b60006108888484614caf565b60008060408385031215614ff357600080fd5b6000614fff8585614caf565b9250506020614edd85828601614caf565b60006020828403121561502257600080fd5b60006108888484614cba565b6000806040838503121561504157600080fd5b6000614ecc8585614cba565b6000610120828403121561506057600080fd5b60006108888484614cd0565b6000610120828403121561507f57600080fd5b60006108888484614da7565b60006020828403121561509d57600080fd5b60006108888484614cc5565b600080604083850312156150bc57600080fd5b6000614fff8585614cc5565b600080600080608085870312156150de57600080fd5b60006150ea8787614cc5565b94505060206150fb87828801614cc5565b935050604061510c87828801614cc5565b925050606061511d87828801614cc5565b91505092959194509250565b600061513583836151b7565b505060200190565b61514681615dcf565b82525050565b61514681615db3565b600061516082615da1565b61516a8185615da5565b935061517583615d9b565b8060005b838110156151a357815161518d8882615129565b975061519883615d9b565b925050600101615179565b509495945050505050565b61514681615dbe565b61514681610bf2565b6151466151cc82610bf2565b610bf2565b61514681615dd6565b60006151e582615da1565b6151ef8185615da5565b93506151ff818560208601615de1565b61520881615e0d565b9093019392505050565b600061521f601b83615da5565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000615258601683615da5565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b600061528a600e83615da5565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b60006152b4601583615da5565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b60006152e5603583615da5565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061533c600f83615da5565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b6000615367601d83615da5565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006153a0601e83615da5565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006153d9601b83615da5565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615412601283615da5565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615440601e83615da5565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615479601d83615da5565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006154b2601883615da5565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006154eb602083615da5565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b6000615524601e83615da5565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061555d601a83615da5565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615596601183615dae565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006155c3601183615da5565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006155f0601383615da5565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b600061561f600a83615da5565b6926b0bc1018903437bab960b11b815260200192915050565b6000615645601a83615da5565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b600061567e601b83615da5565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b60006156b7602f83615da5565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000615708601f83615da5565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b6000615741602183615da5565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615784601883615da5565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b60006157bd601e83615da5565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b60006157f6601a83615da5565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b600061582f601983615dae565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006124ff600083615dae565b6000615875601383615da5565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b60006158a4601f83615da5565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b60006158dd601b83615da5565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b805161012083019061591b84826151b7565b50602082015161592e602085018261514c565b50604082015161594160408501826151b7565b50606082015161595460608501826151b7565b50608082015161596760808501826151b7565b5060a082015161597a60a08501826151ae565b5060c082015161598d60c08501826151b7565b5060e08201516159a060e08501826151b7565b50610100820151610ad76101008501826151b7565b60006159c082615589565b91506159cc82846151c0565b50602001919050565b60006159c082615822565b60006124ff8261585b565b602081016124ff828461514c565b602081016124ff828461513d565b60408101615a15828561513d565b6111da60208301846151b7565b60408101615a30828561514c565b6111da602083018461514c565b60408101615a15828561514c565b602080825281016111da8184615155565b602081016124ff82846151ae565b602081016124ff82846151b7565b60408101615a3082856151b7565b60408101615a1582856151b7565b60408101615aa282856151b7565b818103602083015261088881846151da565b60608101615ac282866151b7565b615acf60208301856151b7565b61088860408301846151b7565b602081016124ff82846151d1565b602080825281016111da81846151da565b602080825281016124ff81615212565b602080825281016124ff8161524b565b602080825281016124ff8161527d565b602080825281016124ff816152a7565b602080825281016124ff816152d8565b602080825281016124ff8161532f565b602080825281016124ff8161535a565b602080825281016124ff81615393565b602080825281016124ff816153cc565b602080825281016124ff81615405565b602080825281016124ff81615433565b602080825281016124ff8161546c565b602080825281016124ff816154a5565b602080825281016124ff816154de565b602080825281016124ff81615517565b602080825281016124ff81615550565b602080825281016124ff816155b6565b602080825281016124ff816155e3565b602080825281016124ff81615612565b602080825281016124ff81615638565b602080825281016124ff81615671565b602080825281016124ff816156aa565b602080825281016124ff816156fb565b602080825281016124ff81615734565b602080825281016124ff81615777565b602080825281016124ff816157b0565b602080825281016124ff816157e9565b602080825281016124ff81615868565b602080825281016124ff81615897565b602080825281016124ff816158d0565b61012081016124ff8284615909565b60808101615cf882876151b7565b615d05602083018661513d565b615d1260408301856151b7565b615d1f60608301846151b7565b95945050505050565b60a08101615d3682886151b7565b615d4360208301876151b7565b615d5060408301866151b7565b615d5d60608301856151b7565b615d6a60808301846151b7565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615d9357600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b60006124ff82615dc3565b151590565b6001600160a01b031690565b60006124ff825b60006124ff82615db3565b60005b83811015615dfc578181015183820152602001615de4565b83811115610ad75750506000910152565b601f01601f191690565b615e2081615db3565b81146143ba57600080fd5b615e2081615dbe565b615e2081610bf256fea365627a7a723158206c85a223c6cc0fdc6823b830e8fb0213f53f69bf90b838367580a5c5db5f77cd6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "claim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x379607f5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x47e7ef24"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x06c19e3f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pendingWithdrawals",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf3f43703"
				},
				{
					"constant": 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": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [
						{
							"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": "0x1c9a753645e530b04a7d8ac4d394154efe5b4d0c097cd3dcb410ad03d477918d",
				"urls": [
					"bzz-raw://d9d8a5d8d61a46eb27c71c5570ed1372e04cf141ca9f71c80012c1edaaa78ab2",
					"dweb:/ipfs/QmeVmeGACqe9FtsHXZWkCCBTZvBCyMiq8AKLvQNBM8dKA3"
				]
			},
			"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": "0x1c9a753645e530b04a7d8ac4d394154efe5b4d0c097cd3dcb410ad03d477918d",
						"urls": [
							"bzz-raw://d9d8a5d8d61a46eb27c71c5570ed1372e04cf141ca9f71c80012c1edaaa78ab2",
							"dweb:/ipfs/QmeVmeGACqe9FtsHXZWkCCBTZvBCyMiq8AKLvQNBM8dKA3"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralErc20": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b50604051620062b5380380620062b58339810160408190526200004c916200018c565b888888888888888380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f90620002e0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d5918490620002ba565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498831698821698909817909755600580549982169990971698909817909555600492909255600a55600b555050600f80549490921661010002610100600160a81b031990941693909317905560105550620003619650505050505050565b80516200016c8162000331565b92915050565b80516200016c816200034b565b80516200016c8162000356565b60008060008060008060008060006101208a8c031215620001ac57600080fd5b6000620001ba8c8c6200017f565b9950506020620001cd8c828d016200015f565b9850506040620001e08c828d016200015f565b9750506060620001f38c828d016200015f565b9650506080620002068c828d0162000172565b95505060a0620002198c828d0162000172565b94505060c06200022c8c828d0162000172565b93505060e06200023f8c828d016200015f565b925050610100620002538c828d0162000172565b9150509295985092959850929598565b6200026e8162000324565b82525050565b6200026e81620002fb565b60006200028e601983620002f2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002ca828562000263565b620002d9602083018462000274565b9392505050565b602080825281016200016c816200027f565b90815260200190565b60006200016c8262000318565b90565b60006200016c82620002fb565b6001600160a01b031690565b60006200016c826200030b565b6200033c81620002fb565b81146200034857600080fd5b50565b6200033c8162000308565b6200033c816200030b565b615f4480620003716000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c806372e18b6a11610151578063b094f2c4116100c3578063d2b8035a11610087578063d2b8035a146104be578063dac8cf68146104d1578063de81eda9146104e4578063e74337c6146104f7578063eb8e3b651461050a578063f93451ed1461051257610269565b8063b094f2c414610480578063b562a1ab14610493578063ba2de9bc1461049b578063c19d93fb146104a3578063d0ebdbe7146104ab57610269565b8063899ffef411610115578063899ffef4146104225780638cd2e0c7146104375780638da5cb5b1461044a57806390abb4d914610452578063925ead1114610465578063a76cdfa51461046d57610269565b806372e18b6a146103d957806374185360146103ec57806379ba5097146103f45780637e132355146103fc578063883a22091461040f57610269565b80632af64bd3116101ea5780634065b81b116101ae5780634065b81b14610388578063441a3e7014610390578063481c6a75146103a35780634c17ace4146103ab57806353a47bb7146103be5780635eb2ad01146103c657610269565b80632af64bd31461033d57806330edd96114610352578063361e208614610365578063382453771461036d5780633cc3ffc71461038057610269565b80630efe6a8b116102315780630efe6a8b146102e757806310cfe906146102fa57806315aaf4dd1461030f5780631627540c1461031757806323d60e2e1461032a57610269565b806304f3bcec1461026e5780630710285c1461028c5780630a153c97146102a15780630aebeb4e146102c15780630cdd1c65146102d4575b600080fd5b610276610525565b6040516102839190615bb0565b60405180910390f35b61029f61029a366004614fb4565b610534565b005b6102b46102af3660046150fb565b6105e0565b6040516102839190615b4b565b61029f6102cf3660046150dd565b61071c565b61029f6102e23660046150dd565b6107c5565b61029f6102f5366004614fb4565b6108b0565b6103026109f8565b6040516102839190615a96565b6102b4610a0c565b61029f610325366004614f3e565b610a12565b61029f610338366004615001565b610a65565b610345610b25565b6040516102839190615b3d565b6102b46103603660046150dd565b610c3d565b6102b4610c5b565b6102b461037b3660046150dd565b610c61565b6102b4610c73565b610345610c79565b61029f61039e3660046150fb565b610c82565b610302610c9b565b61029f6103b93660046150dd565b610caa565b610302610d86565b61029f6103d4366004614f7a565b610d95565b6103456103e7366004615001565b610dcb565b61029f610e8d565b61029f610fe3565b6102b461040a3660046150fb565b61107f565b6102b461041d3660046150dd565b611128565b61042a61114d565b6040516102839190615b2c565b61029f610445366004614fb4565b6112b2565b6103026112c3565b61029f610460366004615071565b6112d2565b6102b461131e565b61029f61047b3660046150dd565b611324565b6102b461048e3660046150dd565b611361565b6102b4611386565b6102b461138c565b610276611392565b61029f6104b9366004614f3e565b6113a1565b61029f6104cc3660046150fb565b6113fa565b6102b46104df36600461511a565b611404565b6103026104f23660046150dd565b61155d565b6102b461050536600461511a565b611578565b6102b46117c7565b61029f610520366004615195565b6117cd565b6002546001600160a01b031681565b600061054184848461191e565b9050600061054e82611361565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb906105869033908590600401615af5565b602060405180830381600087803b1580156105a057600080fd5b505af11580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d8919081019061508f565b505050505050565b6000806105eb611d83565b90506105f5611e35565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161062693929190615b95565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106769190810190615158565b91506107146107078273__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505af41580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106fb9190810190615158565b9063ffffffff611e5016565b839063ffffffff611e7e16565b949350505050565b60006107283383611ea8565b9050600061073582611361565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061076d9033908590600401615af5565b602060405180830381600087803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107bf919081019061508f565b50505050565b6107cd61240d565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505af4158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108499190810190615158565b81116108705760405162461bcd60e51b815260040161086790615bdf565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906108a5908390615b4b565b60405180910390a150565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906108e69033903090600401615ab2565b60206040518083038186803b1580156108fe57600080fd5b505afa158015610912573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109369190810190615158565b8111156109555760405162461bcd60e51b815260040161086790615c1f565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd9061098d90339030908690600401615acd565b602060405180830381600087803b1580156109a757600080fd5b505af11580156109bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109df919081019061508f565b5060006109eb82611128565b90506107bf848483612439565b600f5461010090046001600160a01b031681565b600e5481565b610a1a61240d565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a5908390615a96565b610a6d61240d565b828114610a8c5760405162461bcd60e51b815260040161086790615bcf565b60005b83811015610b1c576000858583818110610aa557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610af957fe5b602090810292909201358352508101919091526040016000205550600101610a8f565b506107bf610e8d565b60006060610b3161114d565b905060005b8151811015610c33576000828281518110610b4d57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b9e908590600401615b4b565b60206040518083038186803b158015610bb657600080fd5b505afa158015610bca573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bee9190810190614f5c565b6001600160a01b0316141580610c1957506000818152600360205260409020546001600160a01b0316155b15610c2a5760009350505050610c3a565b50600101610b36565b5060019150505b90565b60078181548110610c4a57fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b60105481565b600f5460ff1681565b6000610c8d82611128565b9050600061054184836126ca565b6006546001600160a01b031681565b610cb261240d565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cf657600080fd5b505af4158015610d0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2e9190810190615158565b610e1002811115610d515760405162461bcd60e51b815260040161086790615cef565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906108a5908390615b4b565b6001546001600160a01b031681565b610d9d61240d565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610ddf57506000610714565b60005b84811015610e81576000868683818110610df857fe5b9050602002013590508060078381548110610e0f57fe5b906000526020600020015414610e2a57600092505050610714565b60078281548110610e3757fe5b906000526020600020015460086000878786818110610e5257fe5b9050602002013581526020019081526020016000205414610e7857600092505050610714565b50600101610de2565b50600195945050505050565b6060610e9761114d565b905060005b8151811015610fdf576000828281518110610eb357fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610ef59190615a8b565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f21929190615b75565b60206040518083038186803b158015610f3957600080fd5b505afa158015610f4d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f719190810190614f5c565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610fcd9084908490615b59565b60405180910390a15050600101610e9c565b5050565b6001546001600160a01b0316331461100d5760405162461bcd60e51b815260040161086790615c0f565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611050926001600160a01b0391821692911690615b10565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061112161108c611e35565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b81526004016110bd93929190615b95565b60206040518083038186803b1580156110d557600080fd5b505afa1580156110e9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061110d9190810190615158565b611115612967565b9063ffffffff611e7e16565b9392505050565b60008061113860126010546129f7565b600a0a9050611121838263ffffffff612a1f16565b606080611158612a59565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061119757fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106111c157fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106111e757fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061121057fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b8160048151811061123657fe5b602002602001018181525050606061124e8383612aaa565b90506112aa8160078054806020026020016040519081016040528092919081815260200182805480156112a057602002820191906000526020600020905b81548152602001906001019080831161128c575b5050505050612aaa565b935050505090565b6112be83338484612b66565b505050565b6000546001600160a01b031681565b6112da61240d565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108a59160ff90911690615b3d565b600a5481565b61132c61240d565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906108a5908390615b4b565b60008061137160126010546129f7565b600a0a9050611121838263ffffffff612f2116565b60045481565b600b5481565b6005546001600160a01b031681565b6113a961240d565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926108a5921690615a96565b610fdf8282612f56565b60008061140f611e35565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b815260040161144b93929190615b95565b60206040518083038186803b15801561146357600080fd5b505afa158015611477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061149b9190810190615158565b905060006114a7611e35565b6001600160a01b031663654a60ac85606001516114d58760c001518860800151611e5090919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b81526004016114fb93929190615b95565b60206040518083038186803b15801561151357600080fd5b505afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061154b9190810190615158565b9050610714828263ffffffff61351616565b6009602052600090815260409020546001600160a01b031681565b600080611583611d83565b9050600061162a611592611e35565b6001600160a01b031663ac82f60886606001516040518263ffffffff1660e01b81526004016115c19190615b4b565b60206040518083038186803b1580156115d957600080fd5b505afa1580156115ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116119190810190615158565b60c086015160808701516111159163ffffffff611e5016565b905060006116c7611639611e35565b6001600160a01b031663ac82f6086004546040518263ffffffff1660e01b81526004016116669190615b4b565b60206040518083038186803b15801561167e57600080fd5b505afa158015611692573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116b69190810190615158565b60408701519063ffffffff611e7e16565b9050600073__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561170f57600080fd5b505af4158015611723573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117479190810190615158565b90506000611770611763600a548561351690919063ffffffff16565b859063ffffffff6129f716565b905060006117a961179c600a546117908987611e5090919063ffffffff16565b9063ffffffff61351616565b849063ffffffff6129f716565b90506117bb828263ffffffff61351616565b98975050505050505050565b600d5481565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906118039033903090600401615ab2565b60206040518083038186803b15801561181b57600080fd5b505afa15801561182f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118539190810190615158565b8311156118725760405162461bcd60e51b815260040161086790615c1f565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd906118aa90339030908890600401615acd565b602060405180830381600087803b1580156118c457600080fd5b505af11580156118d8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118fc919081019061508f565b50600061190884611128565b90506119178184846000613540565b5050505050565b6000611928613d69565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561196057600080fd5b505afa158015611974573d6000803e3d6000fd5b50505050611980611e35565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016119ad9190615b4b565b60206040518083038186803b1580156119c557600080fd5b505afa1580156119d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119fd919081019061508f565b15611a1a5760405162461bcd60e51b815260040161086790615cff565b60008211611a3a5760405162461bcd60e51b815260040161086790615c3f565b611a42614cb8565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611a749088908890600401615b1e565b6101206040518083038186803b158015611a8d57600080fd5b505afa158015611aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ac59190810190615139565b9050611ad081613d83565b611ad981613de3565b9050611aea338260600151856142cf565b600a54611af682611404565b10611b135760405162461bcd60e51b815260040161086790615c6f565b6000611b1e82611578565b90506000848210611b2f5784611b31565b815b90506000611b508460c001518560800151611e5090919063ffffffff16565b9050808210611b6f57611b64883386614382565b945050505050611121565b611b798483614751565b9350611b898460600151836105e0565b6040850151909550611ba1908663ffffffff6129f716565b604085015242610100850152611bb5614974565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611be6929190615af5565b60206040518083038186803b158015611bfe57600080fd5b505afa158015611c12573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c36919081019061508f565b15611c535760405162461bcd60e51b815260040161086790615d8f565b6060840151600090815260086020526040902054611c709061498b565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611c9d929190615af5565b600060405180830381600087803b158015611cb757600080fd5b505af1158015611ccb573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611cff908790600401615d9f565b600060405180830381600087803b158015611d1957600080fd5b505af1158015611d2d573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d709493929190615dae565b60405180910390a2505050509392505050565b6000611d8d614996565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611de0929190615b67565b60206040518083038186803b158015611df857600080fd5b505afa158015611e0c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e309190810190615158565b905090565b6000611e306c45786368616e6765526174657360981b6149af565b600082820183811015611e755760405162461bcd60e51b815260040161086790615c4f565b90505b92915050565b6000670de0b6b3a7640000611e99848463ffffffff612a1f16565b81611ea057fe5b049392505050565b6000611eb2613d69565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611eea57600080fd5b505afa158015611efe573d6000803e3d6000fd5b50505050611f0a611e35565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611f379190615b4b565b60206040518083038186803b158015611f4f57600080fd5b505afa158015611f63573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f87919081019061508f565b15611fa45760405162461bcd60e51b815260040161086790615cff565b611fac614cb8565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611fde9087908790600401615b1e565b6101206040518083038186803b158015611ff757600080fd5b505afa15801561200b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061202f9190810190615139565b905061203a81613d83565b61204381613de3565b905060006120628260c001518360800151611e5090919063ffffffff16565b905061207782602001518360600151836142cf565b61207f614974565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b81526004016120b0929190615b1e565b60206040518083038186803b1580156120c857600080fd5b505afa1580156120dc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612100919081019061508f565b1561211d5760405162461bcd60e51b815260040161086790615c9f565b606082015160009081526008602052604090205461213a9061498b565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612167929190615b1e565b600060405180830381600087803b15801561218157600080fd5b505af1158015612195573d6000803e3d6000fd5b505050508160a00151156122b3576121ab614a0c565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b81526004016121e0929190615b67565b600060405180830381600087803b1580156121fa57600080fd5b505af115801561220e573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156122ae57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161227b918991600401615b1e565b600060405180830381600087803b15801561229557600080fd5b505af11580156122a9573d6000803e3d6000fd5b505050505b612323565b6122bb614a0c565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b81526004016122f0929190615b67565b600060405180830381600087803b15801561230a57600080fd5b505af115801561231e573d6000803e3d6000fd5b505050505b8160400151925061233c8260c001518360600151614a1b565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612392908590600401615d9f565b600060405180830381600087803b1580156123ac57600080fd5b505af11580156123c0573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516123fd9190615b4b565b60405180910390a2505092915050565b6000546001600160a01b031633146124375760405162461bcd60e51b815260040161086790615d1f565b565b612441613d69565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561247957600080fd5b505afa15801561248d573d6000803e3d6000fd5b50505050612499611e35565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016124c69190615b4b565b60206040518083038186803b1580156124de57600080fd5b505afa1580156124f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612516919081019061508f565b156125335760405162461bcd60e51b815260040161086790615cff565b600081116125535760405162461bcd60e51b815260040161086790615d5f565b61255b614cb8565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061258d9087908790600401615b1e565b6101206040518083038186803b1580156125a657600080fd5b505afa1580156125ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125de9190810190615139565b90506125e981613d83565b6125f281613de3565b604081015190915061260a908363ffffffff611e5016565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612649908490600401615d9f565b600060405180830381600087803b15801561266357600080fd5b505af1158015612677573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c848484604001516040516126bc93929190615b95565b60405180910390a250505050565b60006126d4613d69565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561270c57600080fd5b505afa158015612720573d6000803e3d6000fd5b5050505061272c611e35565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127599190615b4b565b60206040518083038186803b15801561277157600080fd5b505afa158015612785573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127a9919081019061508f565b156127c65760405162461bcd60e51b815260040161086790615cff565b6127ce614cb8565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906128009033908890600401615af5565b6101206040518083038186803b15801561281957600080fd5b505afa15801561282d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128519190810190615139565b905061285c81613d83565b61286581613de3565b604081015190915061287d908463ffffffff6129f716565b604082015242610100820152600a5461289582611404565b116128b25760405162461bcd60e51b815260040161086790615bef565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c906128e2908490600401615d9f565b600060405180830381600087803b1580156128fc57600080fd5b505af1158015612910573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161295893929190615b95565b60405180910390a25092915050565b6000611e30600a5473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156129b357600080fd5b505af41580156129c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129eb9190810190615158565b9063ffffffff614bff16565b600082821115612a195760405162461bcd60e51b815260040161086790615caf565b50900390565b600082612a2e57506000611e78565b82820282848281612a3b57fe5b0414611e755760405162461bcd60e51b815260040161086790615d3f565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612a9b57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612ada578160200160208202803883390190505b50905060005b8351811015612b1c57838181518110612af557fe5b6020026020010151828281518110612b0957fe5b6020908102919091010152600101612ae0565b5060005b8251811015612b5f57828181518110612b3557fe5b6020026020010151828286510181518110612b4c57fe5b6020908102919091010152600101612b20565b5092915050565b612b6e613d69565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612ba657600080fd5b505afa158015612bba573d6000803e3d6000fd5b50505050612bc6611e35565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612bf39190615b4b565b60206040518083038186803b158015612c0b57600080fd5b505afa158015612c1f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c43919081019061508f565b15612c605760405162461bcd60e51b815260040161086790615cff565b60008111612c805760405162461bcd60e51b815260040161086790615c3f565b612c88614cb8565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612cba9088908790600401615b1e565b6101206040518083038186803b158015612cd357600080fd5b505afa158015612ce7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d0b9190810190615139565b9050612d1681613d83565b612d1f81613de3565b9050612d30848260600151846142cf565b612d3a8183614751565b426101008201529050612d4b614974565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612d7c929190615b1e565b60206040518083038186803b158015612d9457600080fd5b505afa158015612da8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dcc919081019061508f565b15612de95760405162461bcd60e51b815260040161086790615d8f565b6060810151600090815260086020526040902054612e069061498b565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612e33929190615b1e565b600060405180830381600087803b158015612e4d57600080fd5b505af1158015612e61573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612e95908490600401615d9f565b600060405180830381600087803b158015612eaf57600080fd5b505af1158015612ec3573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612f1293929190615b95565b60405180910390a35050505050565b6000808211612f425760405162461bcd60e51b815260040161086790615cbf565b6000828481612f4d57fe5b04949350505050565b612f5e613d69565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f9657600080fd5b505afa158015612faa573d6000803e3d6000fd5b50505050612fb6611e35565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612fe39190615b4b565b60206040518083038186803b158015612ffb57600080fd5b505afa15801561300f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613033919081019061508f565b156130505760405162461bcd60e51b815260040161086790615cff565b613058614cb8565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061308a9033908790600401615af5565b6101206040518083038186803b1580156130a357600080fd5b505afa1580156130b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506130db9190810190615139565b90506130e681613d83565b6130ef81613de3565b6080810151909150613107908363ffffffff611e5016565b6080820152600a5461311882611404565b116131355760405162461bcd60e51b815260040161086790615bff565b600061314c600c5484614c1490919063ffffffff16565b90506000613160848363ffffffff6129f716565b90508260a001511561336d57613174614a0c565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b81526004016131a5929190615b67565b600060405180830381600087803b1580156131bf57600080fd5b505af11580156131d3573d6000803e3d6000fd5b505050506131df614c29565b6001600160a01b031663867904b4336131f6611e35565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b815260040161323093929190615b95565b60206040518083038186803b15801561324857600080fd5b505afa15801561325c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132809190810190615158565b6040518363ffffffff1660e01b815260040161329d929190615af5565b600060405180830381600087803b1580156132b757600080fd5b505af11580156132cb573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156133685760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906133359033908890600401615af5565b600060405180830381600087803b15801561334f57600080fd5b505af1158015613363573d6000803e3d6000fd5b505050505b613455565b613375614a0c565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016133a6929190615b67565b600060405180830381600087803b1580156133c057600080fd5b505af11580156133d4573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546133f5915061498b565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401613422929190615af5565b600060405180830381600087803b15801561343c57600080fd5b505af1158015613450573d6000803e3d6000fd5b505050505b613463828460600151614a1b565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061349a908690600401615d9f565b600060405180830381600087803b1580156134b457600080fd5b505af11580156134c8573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106548686604051613507929190615b67565b60405180910390a25050505050565b60006111218261353485670de0b6b3a764000063ffffffff612a1f16565b9063ffffffff612f2116565b600061354a613d69565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561358257600080fd5b505afa158015613596573d6000803e3d6000fd5b5050600f5460ff1691506135be90505760405162461bcd60e51b815260040161086790615cdf565b6135c6611e35565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016135f39190615b4b565b60206040518083038186803b15801561360b57600080fd5b505afa15801561361f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613643919081019061508f565b156136605760405162461bcd60e51b815260040161086790615cff565b60008381526008602052604090205461368b5760405162461bcd60e51b815260040161086790615d2f565b613693611e35565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016136be9190615b4b565b60206040518083038186803b1580156136d657600080fd5b505afa1580156136ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061370e919081019061508f565b1561372b5760405162461bcd60e51b815260040161086790615c8f565b600b5485101561374d5760405162461bcd60e51b815260040161086790615c7f565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90613780903390600401615aa4565b60206040518083038186803b15801561379857600080fd5b505afa1580156137ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506137d09190810190615158565b106137ed5760405162461bcd60e51b815260040161086790615c5f565b6000806137f8614a0c565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401613825929190615b67565b604080518083038186803b15801561383c57600080fd5b505afa158015613850573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061387491908101906150ad565b91509150818015613883575080155b61389f5760405162461bcd60e51b815260040161086790615d6f565b6138a9878661107f565b8611156138c85760405162461bcd60e51b815260040161086790615d0f565b60006138df600c5488614c1490919063ffffffff16565b905060006138f3888363ffffffff6129f716565b90506138fd614a0c565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561393757600080fd5b505af115801561394b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061396f9190810190615158565b9450613979614cb8565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a8152602001881515815260200160008152602001600081526020014281525090506139d181613de3565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613a02908490600401615d9f565b600060405180830381600087803b158015613a1c57600080fd5b505af1158015613a30573d6000803e3d6000fd5b50505050613a3e8389614a1b565b8615613c3457613a4c614c29565b6001600160a01b031663867904b433613a63611e35565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401613a9993929190615b95565b60206040518083038186803b158015613ab157600080fd5b505afa158015613ac5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ae99190810190615158565b6040518363ffffffff1660e01b8152600401613b06929190615af5565b600060405180830381600087803b158015613b2057600080fd5b505af1158015613b34573d6000803e3d6000fd5b50505050613b40614a0c565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401613b6d929190615b67565b600060405180830381600087803b158015613b8757600080fd5b505af1158015613b9b573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613c2f576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613bfc9033908d90600401615af5565b600060405180830381600087803b158015613c1657600080fd5b505af1158015613c2a573d6000803e3d6000fd5b505050505b613d13565b600088815260086020526040902054613c4c9061498b565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401613c79929190615af5565b600060405180830381600087803b158015613c9357600080fd5b505af1158015613ca7573d6000803e3d6000fd5b50505050613cb3614a0c565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401613ce0929190615b67565b600060405180830381600087803b158015613cfa57600080fd5b505af1158015613d0e573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613d54959493929190615dec565b60405180910390a25050505050949350505050565b6000611e306b53797374656d53746174757360a01b6149af565b60008160e0015111613da75760405162461bcd60e51b815260040161086790615d7f565b42613dc2600e54836101000151611e5090919063ffffffff16565b1115613de05760405162461bcd60e51b815260040161086790615c2f565b50565b613deb614cb8565b8190506000806000808560a00151613e8957613e05614a0c565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613e349190615b4b565b60806040518083038186803b158015613e4c57600080fd5b505afa158015613e60573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613e8491908101906151b6565b613f16565b613e91614a0c565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613ec6929190615b67565b60806040518083038186803b158015613ede57600080fd5b505afa158015613ef2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f1691908101906151b6565b93509350935093506000808760a00151613fa657613f32614a0c565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613f6957600080fd5b505afa158015613f7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fa19190810190615176565b61403e565b613fae614a0c565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613fef91600401615b4b565b604080518083038186803b15801561400657600080fd5b505afa15801561401a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061403e9190810190615176565b9150915080156140605760405162461bcd60e51b815260040161086790615ccf565b60006140fd73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156140a957600080fd5b505af41580156140bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140e19190810190615158565b6140f1428863ffffffff6129f716565b9063ffffffff612a1f16565b90506000614121614114858463ffffffff611e7e16565b889063ffffffff611e5016565b905060008a60e0015160001461415a57614155614144838b63ffffffff6129f716565b60808d01519063ffffffff611e7e16565b61415d565b60005b90508a60a001516141d257614170614a0c565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b815260040161419b9190615b4b565b600060405180830381600087803b1580156141b557600080fd5b505af11580156141c9573d6000803e3d6000fd5b5050505061423e565b6141da614a0c565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b815260040161420b929190615b67565b600060405180830381600087803b15801561422557600080fd5b505af1158015614239573d6000803e3d6000fd5b505050505b60c08b0151614253908263ffffffff611e5016565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c9061428f908d90600401615d9f565b600060405180830381600087803b1580156142a957600080fd5b505af11580156142bd573d6000803e3d6000fd5b50505050505050505050505050919050565b60008281526008602052604090205481906142e99061498b565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016143149190615a96565b60206040518083038186803b15801561432c57600080fd5b505afa158015614340573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143649190810190615158565b10156112be5760405162461bcd60e51b815260040161086790615d4f565b6000806143a08360c001518460800151611e5090919063ffffffff16565b6080840151604085015193509091506143b7614974565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016143e8929190615b1e565b60206040518083038186803b15801561440057600080fd5b505afa158015614414573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614438919081019061508f565b156144555760405162461bcd60e51b815260040161086790615d8f565b60608401516000908152600860205260409020546144729061498b565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b815260040161449f929190615b1e565b600060405180830381600087803b1580156144b957600080fd5b505af11580156144cd573d6000803e3d6000fd5b505050508360a00151156145eb576144e3614a0c565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b8152600401614518929190615b67565b600060405180830381600087803b15801561453257600080fd5b505af1158015614546573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156145e657606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916145b3918a91600401615b1e565b600060405180830381600087803b1580156145cd57600080fd5b505af11580156145e1573d6000803e3d6000fd5b505050505b61465b565b6145f3614a0c565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b8152600401614628929190615b67565b600060405180830381600087803b15801561464257600080fd5b505af1158015614656573d6000803e3d6000fd5b505050505b61466d8460c001518560600151614a1b565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906146c3908790600401615d9f565b600060405180830381600087803b1580156146dd57600080fd5b505af11580156146f1573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb8660000151848760405161474093929190615b95565b60405180910390a350509392505050565b614759614cb8565b5081811580159061476e575060008360c00151115b156147cb5760008360c001518311614786578261478c565b8360c001515b60c08501519091506147a4908263ffffffff6129f716565b60c08301526147b9838263ffffffff6129f716565b92506147c9818560600151614a1b565b505b8115611e785760808301516147e6908363ffffffff6129f716565b608082015260a081015115614903576147fd614a0c565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161482e929190615b67565b600060405180830381600087803b15801561484857600080fd5b505af115801561485c573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156148fe5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916148cb91908690600401615af5565b600060405180830381600087803b1580156148e557600080fd5b505af11580156148f9573d6000803e3d6000fd5b505050505b611e78565b61490b614a0c565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161493c929190615b67565b600060405180830381600087803b15801561495657600080fd5b505af115801561496a573d6000803e3d6000fd5b5050505092915050565b6000611e306822bc31b430b733b2b960b91b6149af565b6000611e78826149af565b6000611e306e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916149df91869101615a6b565b60405160208183030381529060405290612b5f5760405162461bcd60e51b81526004016108679190615bbe565b6006546001600160a01b031690565b8115610fdf57631cd554d160e21b8114614ac057614a37611e35565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401614a6d93929190615b95565b60206040518083038186803b158015614a8557600080fd5b505afa158015614a99573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614abd9190810190615158565b91505b614ac8614c29565b6001600160a01b031663867904b4614ade614c40565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015614b1657600080fd5b505afa158015614b2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b4e9190810190614f5c565b846040518363ffffffff1660e01b8152600401614b6c929190615b1e565b600060405180830381600087803b158015614b8657600080fd5b505af1158015614b9a573d6000803e3d6000fd5b50505050614ba6614c40565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401614bd19190615b4b565b600060405180830381600087803b158015614beb57600080fd5b505af11580156105d8573d6000803e3d6000fd5b60006111218383670de0b6b3a7640000614c55565b60006111218383670de0b6b3a7640000614c8d565b6000611e306814de5b9d1a1cd554d160ba1b6149af565b6000611e3066119959541bdbdb60ca1b6149af565b600080614c6f8461353487600a870263ffffffff612a1f16565b90506005600a825b0610614c8157600a015b600a9004949350505050565b600080600a8304614ca4868663ffffffff612a1f16565b81614cab57fe5b0490506005600a82614c77565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611e7881615edb565b8051611e7881615edb565b60008083601f840112614d3a57600080fd5b50813567ffffffffffffffff811115614d5257600080fd5b602083019150836020820283011115614d6a57600080fd5b9250929050565b8035611e7881615eef565b8051611e7881615eef565b8035611e7881615ef8565b8051611e7881615ef8565b60006101208284031215614db057600080fd5b614dbb610120615e38565b90506000614dc98484614d87565b8252506020614dda84848301614d12565b6020830152506040614dee84828501614d87565b6040830152506060614e0284828501614d87565b6060830152506080614e1684828501614d87565b60808301525060a0614e2a84828501614d71565b60a08301525060c0614e3e84828501614d87565b60c08301525060e0614e5284828501614d87565b60e083015250610100614e6784828501614d87565b6101008301525092915050565b60006101208284031215614e8757600080fd5b614e92610120615e38565b90506000614ea08484614d92565b8252506020614eb184848301614d1d565b6020830152506040614ec584828501614d92565b6040830152506060614ed984828501614d92565b6060830152506080614eed84828501614d92565b60808301525060a0614f0184828501614d7c565b60a08301525060c0614f1584828501614d92565b60c08301525060e0614f2984828501614d92565b60e083015250610100614e6784828501614d92565b600060208284031215614f5057600080fd5b60006107148484614d12565b600060208284031215614f6e57600080fd5b60006107148484614d1d565b60008060408385031215614f8d57600080fd5b6000614f998585614d12565b9250506020614faa85828601614d87565b9150509250929050565b600080600060608486031215614fc957600080fd5b6000614fd58686614d12565b9350506020614fe686828701614d87565b9250506040614ff786828701614d87565b9150509250925092565b6000806000806040858703121561501757600080fd5b843567ffffffffffffffff81111561502e57600080fd5b61503a87828801614d28565b9450945050602085013567ffffffffffffffff81111561505957600080fd5b61506587828801614d28565b95989497509550505050565b60006020828403121561508357600080fd5b60006107148484614d71565b6000602082840312156150a157600080fd5b60006107148484614d7c565b600080604083850312156150c057600080fd5b60006150cc8585614d7c565b9250506020614faa85828601614d7c565b6000602082840312156150ef57600080fd5b60006107148484614d87565b6000806040838503121561510e57600080fd5b6000614f998585614d87565b6000610120828403121561512d57600080fd5b60006107148484614d9d565b6000610120828403121561514c57600080fd5b60006107148484614e74565b60006020828403121561516a57600080fd5b60006107148484614d92565b6000806040838503121561518957600080fd5b60006150cc8585614d92565b6000806000606084860312156151aa57600080fd5b6000614fd58686614d87565b600080600080608085870312156151cc57600080fd5b60006151d88787614d92565b94505060206151e987828801614d92565b93505060406151fa87828801614d92565b925050606061520b87828801614d92565b91505092959194509250565b600061522383836152a5565b505060200190565b61523481615e93565b82525050565b61523481615e77565b600061524e82615e65565b6152588185615e69565b935061526383615e5f565b8060005b8381101561529157815161527b8882615217565b975061528683615e5f565b925050600101615267565b509495945050505050565b61523481615e82565b61523481610c3a565b6152346152ba82610c3a565b610c3a565b61523481615e9a565b60006152d382615e65565b6152dd8185615e69565b93506152ed818560208601615ea5565b6152f681615ed1565b9093019392505050565b600061530d601b83615e69565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000615346601683615e69565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000615378600e83615e69565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b60006153a2601583615e69565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b60006153d3603583615e69565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061542a601983615e69565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000615463601d83615e69565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b600061549c601e83615e69565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006154d5601b83615e69565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061550e601283615e69565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b600061553c601e83615e69565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615575601d83615e69565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006155ae601883615e69565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006155e7602083615e69565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b6000615620601e83615e69565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615659601a83615e69565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615692601183615e72565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006156bf601183615e69565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006156ec601383615e69565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b600061571b600a83615e69565b6926b0bc1018903437bab960b11b815260200192915050565b6000615741601a83615e69565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b600061577a601b83615e69565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b60006157b3602f83615e69565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000615804601f83615e69565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b600061583d602183615e69565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615880601883615e69565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b60006158b9601e83615e69565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b60006158f2601a83615e69565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b600061592b601983615e72565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615964601383615e69565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615993601b83615e69565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906159d184826152a5565b5060208201516159e4602085018261523a565b5060408201516159f760408501826152a5565b506060820151615a0a60608501826152a5565b506080820151615a1d60808501826152a5565b5060a0820151615a3060a085018261529c565b5060c0820151615a4360c08501826152a5565b5060e0820151615a5660e08501826152a5565b506101008201516107bf6101008501826152a5565b6000615a7682615685565b9150615a8282846152ae565b50602001919050565b6000615a768261591e565b60208101611e78828461523a565b60208101611e78828461522b565b60408101615ac0828561522b565b611121602083018461523a565b60608101615adb828661522b565b615ae8602083018561523a565b61071460408301846152a5565b60408101615b03828561522b565b61112160208301846152a5565b60408101615ac0828561523a565b60408101615b03828561523a565b602080825281016111218184615243565b60208101611e78828461529c565b60208101611e7882846152a5565b60408101615ac082856152a5565b60408101615b0382856152a5565b60408101615b8382856152a5565b818103602083015261071481846152c8565b60608101615ba382866152a5565b615ae860208301856152a5565b60208101611e7882846152bf565b6020808252810161112181846152c8565b60208082528101611e7881615300565b60208082528101611e7881615339565b60208082528101611e788161536b565b60208082528101611e7881615395565b60208082528101611e78816153c6565b60208082528101611e788161541d565b60208082528101611e7881615456565b60208082528101611e788161548f565b60208082528101611e78816154c8565b60208082528101611e7881615501565b60208082528101611e788161552f565b60208082528101611e7881615568565b60208082528101611e78816155a1565b60208082528101611e78816155da565b60208082528101611e7881615613565b60208082528101611e788161564c565b60208082528101611e78816156b2565b60208082528101611e78816156df565b60208082528101611e788161570e565b60208082528101611e7881615734565b60208082528101611e788161576d565b60208082528101611e78816157a6565b60208082528101611e78816157f7565b60208082528101611e7881615830565b60208082528101611e7881615873565b60208082528101611e78816158ac565b60208082528101611e78816158e5565b60208082528101611e7881615957565b60208082528101611e7881615986565b6101208101611e7882846159bf565b60808101615dbc82876152a5565b615dc9602083018661522b565b615dd660408301856152a5565b615de360608301846152a5565b95945050505050565b60a08101615dfa82886152a5565b615e0760208301876152a5565b615e1460408301866152a5565b615e2160608301856152a5565b615e2e60808301846152a5565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615e5757600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611e7882615e87565b151590565b6001600160a01b031690565b6000611e78825b6000611e7882615e77565b60005b83811015615ec0578181015183820152602001615ea8565b838111156107bf5750506000910152565b601f01601f191690565b615ee481615e77565b8114613de057600080fd5b615ee481615e82565b615ee481610c3a56fea365627a7a723158206b036a9a9d7276cef7956b1d2f66f81abf68b0b3964cc7e19c1a9ce7df37dc3a6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0efe6a8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf93451ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": 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": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": 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": "0xd179858cd8df017e9c0a4313a6d9b2ad2af1a528498a1c1633aaa65b79395c12",
				"urls": [
					"bzz-raw://0ffcb823221c24fba1cd4a0dddf08b668d2428cc42fe701d90b7132da62cb66e",
					"dweb:/ipfs/QmeXkFS4f8ZmhTeSxnNMvkc9GQvC9jZbLY7vfGnk5yNvup"
				]
			},
			"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": "0xd179858cd8df017e9c0a4313a6d9b2ad2af1a528498a1c1633aaa65b79395c12",
						"urls": [
							"bzz-raw://0ffcb823221c24fba1cd4a0dddf08b668d2428cc42fe701d90b7132da62cb66e",
							"dweb:/ipfs/QmeXkFS4f8ZmhTeSxnNMvkc9GQvC9jZbLY7vfGnk5yNvup"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralShort": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b506040516200630a3803806200630a8339810160408190526200004c916200019f565b88888888888888886012888888888888888380876001600160a01b038116620000925760405162461bcd60e51b81526004016200008990620002f3565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000df918490620002cd565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498831698821698909817909755600580549982169990971698909817909555600492909255600a55600b555050600f80549490921661010002610100600160a81b031990941693909317905560105550620003749f50505050505050505050505050505050565b80516200017f8162000344565b92915050565b80516200017f816200035e565b80516200017f8162000369565b60008060008060008060008060006101208a8c031215620001bf57600080fd5b6000620001cd8c8c62000192565b9950506020620001e08c828d0162000172565b9850506040620001f38c828d0162000172565b9750506060620002068c828d0162000172565b9650506080620002198c828d0162000185565b95505060a06200022c8c828d0162000185565b94505060c06200023f8c828d0162000185565b93505060e0620002528c828d0162000172565b925050610100620002668c828d0162000185565b9150509295985092959850929598565b620002818162000337565b82525050565b62000281816200030e565b6000620002a160198362000305565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002dd828562000276565b620002ec602083018462000287565b9392505050565b602080825281016200017f8162000292565b90815260200190565b60006200017f826200032b565b90565b60006200017f826200030e565b6001600160a01b031690565b60006200017f826200031e565b6200034f816200030e565b81146200035b57600080fd5b50565b6200034f816200031b565b6200034f816200031e565b615f8680620003846000396000f3fe608060405234801561001057600080fd5b50600436106102745760003560e01c806372e18b6a11610151578063b094f2c4116100c3578063d2b8035a11610087578063d2b8035a146104dc578063dac8cf68146104ef578063de81eda914610502578063e74337c614610515578063eb8e3b6514610528578063f93451ed1461053057610274565b8063b094f2c41461049e578063b562a1ab146104b1578063ba2de9bc146104b9578063c19d93fb146104c1578063d0ebdbe7146104c957610274565b8063899ffef411610115578063899ffef4146104405780638cd2e0c7146104555780638da5cb5b1461046857806390abb4d914610470578063925ead1114610483578063a76cdfa51461048b57610274565b806372e18b6a146103f7578063741853601461040a57806379ba5097146104125780637e1323551461041a578063883a22091461042d57610274565b806330edd961116101ea578063441a3e70116101ae578063441a3e701461039b578063481c6a75146103ae5780634c17ace4146103b657806353a47bb7146103c957806356dc04a1146103d15780635eb2ad01146103e457610274565b806330edd9611461035d578063361e20861461037057806338245377146103785780633cc3ffc71461038b5780634065b81b1461039357610274565b80630efe6a8b1161023c5780630efe6a8b146102f257806310cfe9061461030557806315aaf4dd1461031a5780631627540c1461032257806323d60e2e146103355780632af64bd31461034857610274565b806304f3bcec146102795780630710285c146102975780630a153c97146102ac5780630aebeb4e146102cc5780630cdd1c65146102df575b600080fd5b610281610543565b60405161028e9190615bf2565b60405180910390f35b6102aa6102a5366004614fc6565b610552565b005b6102bf6102ba36600461513d565b6105fe565b60405161028e9190615b8d565b6102aa6102da3660046150ef565b61073a565b6102aa6102ed3660046150ef565b6107e3565b6102aa610300366004614fc6565b6108ce565b61030d610a16565b60405161028e9190615ad8565b6102bf610a2a565b6102aa610330366004614f50565b610a30565b6102aa610343366004615013565b610a83565b610350610b43565b60405161028e9190615b7f565b6102bf61036b3660046150ef565b610c5b565b6102bf610c79565b6102bf6103863660046150ef565b610c7f565b6102bf610c91565b610350610c97565b6102aa6103a936600461513d565b610ca0565b61030d610cb9565b6102aa6103c43660046150ef565b610cc8565b61030d610da4565b6102aa6103df36600461510d565b610db3565b6102aa6103f2366004614f8c565b610e3f565b610350610405366004615013565b610e75565b6102aa610f37565b6102aa611089565b6102bf61042836600461513d565b611125565b6102bf61043b3660046150ef565b6111ce565b6104486111f3565b60405161028e9190615b6e565b6102aa610463366004614fc6565b611358565b61030d611369565b6102aa61047e366004615083565b611378565b6102bf6113c4565b6102aa6104993660046150ef565b6113ca565b6102bf6104ac3660046150ef565b611407565b6102bf61142c565b6102bf611432565b610281611438565b6102aa6104d7366004614f50565b611447565b6102aa6104ea36600461513d565b6114a0565b6102bf6104fd36600461515c565b6114aa565b61030d6105103660046150ef565b611603565b6102bf61052336600461515c565b61161e565b6102bf61186d565b6102aa61053e3660046151d7565b611873565b6002546001600160a01b031681565b600061055f84848461195e565b9050600061056c82611407565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb906105a49033908590600401615b37565b602060405180830381600087803b1580156105be57600080fd5b505af11580156105d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105f691908101906150a1565b505050505050565b600080610609611dc3565b9050610613611e75565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161064493929190615bd7565b60206040518083038186803b15801561065c57600080fd5b505afa158015610670573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610694919081019061519a565b91506107326107258273__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156106e157600080fd5b505af41580156106f5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610719919081019061519a565b9063ffffffff611e9016565b839063ffffffff611ebe16565b949350505050565b60006107463383611ee8565b9050600061075382611407565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061078b9033908590600401615b37565b602060405180830381600087803b1580156107a557600080fd5b505af11580156107b9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107dd91908101906150a1565b50505050565b6107eb61244d565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561082f57600080fd5b505af4158015610843573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610867919081019061519a565b811161088e5760405162461bcd60e51b815260040161088590615c21565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906108c3908390615b8d565b60405180910390a150565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906109049033903090600401615af4565b60206040518083038186803b15801561091c57600080fd5b505afa158015610930573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610954919081019061519a565b8111156109735760405162461bcd60e51b815260040161088590615c61565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd906109ab90339030908690600401615b0f565b602060405180830381600087803b1580156109c557600080fd5b505af11580156109d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109fd91908101906150a1565b506000610a09826111ce565b90506107dd848483612479565b600f5461010090046001600160a01b031681565b600e5481565b610a3861244d565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108c3908390615ad8565b610a8b61244d565b828114610aaa5760405162461bcd60e51b815260040161088590615c11565b60005b83811015610b3a576000858583818110610ac357fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610b1757fe5b602090810292909201358352508101919091526040016000205550600101610aad565b506107dd610f37565b60006060610b4f6111f3565b905060005b8151811015610c51576000828281518110610b6b57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610bbc908590600401615b8d565b60206040518083038186803b158015610bd457600080fd5b505afa158015610be8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c0c9190810190614f6e565b6001600160a01b0316141580610c3757506000818152600360205260409020546001600160a01b0316155b15610c485760009350505050610c58565b50600101610b54565b5060019150505b90565b60078181548110610c6857fe5b600091825260209091200154905081565b600c5481565b60086020526000908152604090205481565b60105481565b600f5460ff1681565b6000610cab826111ce565b9050600061055f848361270a565b6006546001600160a01b031681565b610cd061244d565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610d1457600080fd5b505af4158015610d28573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d4c919081019061519a565b610e1002811115610d6f5760405162461bcd60e51b815260040161088590615d31565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906108c3908390615b8d565b6001546001600160a01b031681565b6000828152600960205260409020546001600160a01b031615610e3b5760008281526009602052604090819020549051630c00007b60e41b81526001600160a01b039091169063c00007b090610e0d908490600401615ad8565b600060405180830381600087803b158015610e2757600080fd5b505af11580156105f6573d6000803e3d6000fd5b5050565b610e4761244d565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6007546000908414610e8957506000610732565b60005b84811015610f2b576000868683818110610ea257fe5b9050602002013590508060078381548110610eb957fe5b906000526020600020015414610ed457600092505050610732565b60078281548110610ee157fe5b906000526020600020015460086000878786818110610efc57fe5b9050602002013581526020019081526020016000205414610f2257600092505050610732565b50600101610e8c565b50600195945050505050565b6060610f416111f3565b905060005b8151811015610e3b576000828281518110610f5d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610f9f9190615acd565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fcb929190615bb7565b60206040518083038186803b158015610fe357600080fd5b505afa158015610ff7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061101b9190810190614f6e565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906110779084908490615b9b565b60405180910390a15050600101610f46565b6001546001600160a01b031633146110b35760405162461bcd60e51b815260040161088590615c51565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110f6926001600160a01b0391821692911690615b52565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111c7611132611e75565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161116393929190615bd7565b60206040518083038186803b15801561117b57600080fd5b505afa15801561118f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111b3919081019061519a565b6111bb6129a7565b9063ffffffff611ebe16565b9392505050565b6000806111de6012601054612a37565b600a0a90506111c7838263ffffffff612a5f16565b6060806111fe612a99565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061123d57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061126757fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061128d57fe5b6020026020010181815250506b53797374656d53746174757360a01b816003815181106112b657fe5b6020026020010181815250506814de5b9d1a1cd554d160ba1b816004815181106112dc57fe5b60200260200101818152505060606112f48383612aea565b905061135081600780548060200260200160405190810160405280929190818152602001828054801561134657602002820191906000526020600020905b815481526020019060010190808311611332575b5050505050612aea565b935050505090565b61136483338484612ba6565b505050565b6000546001600160a01b031681565b61138061244d565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108c39160ff90911690615b7f565b600a5481565b6113d261244d565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906108c3908390615b8d565b6000806114176012601054612a37565b600a0a90506111c7838263ffffffff612f6116565b60045481565b600b5481565b6005546001600160a01b031681565b61144f61244d565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926108c3921690615ad8565b610e3b8282612f96565b6000806114b5611e75565b6001600160a01b031663654a60ac6004548560400151631cd554d160e21b6040518463ffffffff1660e01b81526004016114f193929190615bd7565b60206040518083038186803b15801561150957600080fd5b505afa15801561151d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611541919081019061519a565b9050600061154d611e75565b6001600160a01b031663654a60ac856060015161157b8760c001518860800151611e9090919063ffffffff16565b631cd554d160e21b6040518463ffffffff1660e01b81526004016115a193929190615bd7565b60206040518083038186803b1580156115b957600080fd5b505afa1580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f1919081019061519a565b9050610732828263ffffffff61355616565b6009602052600090815260409020546001600160a01b031681565b600080611629611dc3565b905060006116d0611638611e75565b6001600160a01b031663ac82f60886606001516040518263ffffffff1660e01b81526004016116679190615b8d565b60206040518083038186803b15801561167f57600080fd5b505afa158015611693573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116b7919081019061519a565b60c086015160808701516111bb9163ffffffff611e9016565b9050600061176d6116df611e75565b6001600160a01b031663ac82f6086004546040518263ffffffff1660e01b815260040161170c9190615b8d565b60206040518083038186803b15801561172457600080fd5b505afa158015611738573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061175c919081019061519a565b60408701519063ffffffff611ebe16565b9050600073__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b557600080fd5b505af41580156117c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117ed919081019061519a565b90506000611816611809600a548561355690919063ffffffff16565b859063ffffffff612a3716565b9050600061184f611842600a546118368987611e9090919063ffffffff16565b9063ffffffff61355616565b849063ffffffff612a3716565b9050611861828263ffffffff61355616565b98975050505050505050565b600d5481565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906118a99033903090600401615af4565b60206040518083038186803b1580156118c157600080fd5b505afa1580156118d5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118f9919081019061519a565b8311156119185760405162461bcd60e51b815260040161088590615c61565b6119258383836001613580565b50600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd9061078b90339030908890600401615b0f565b6000611968613da9565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119a057600080fd5b505afa1580156119b4573d6000803e3d6000fd5b505050506119c0611e75565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016119ed9190615b8d565b60206040518083038186803b158015611a0557600080fd5b505afa158015611a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a3d91908101906150a1565b15611a5a5760405162461bcd60e51b815260040161088590615d41565b60008211611a7a5760405162461bcd60e51b815260040161088590615c81565b611a82614cca565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611ab49088908890600401615b60565b6101206040518083038186803b158015611acd57600080fd5b505afa158015611ae1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b05919081019061517b565b9050611b1081613dc3565b611b1981613e23565b9050611b2a3382606001518561430f565b600a54611b36826114aa565b10611b535760405162461bcd60e51b815260040161088590615cb1565b6000611b5e8261161e565b90506000848210611b6f5784611b71565b815b90506000611b908460c001518560800151611e9090919063ffffffff16565b9050808210611baf57611ba48833866143c2565b9450505050506111c7565b611bb98483614791565b9350611bc98460600151836105fe565b6040850151909550611be1908663ffffffff612a3716565b604085015242610100850152611bf56149b4565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611c26929190615b37565b60206040518083038186803b158015611c3e57600080fd5b505afa158015611c52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c7691908101906150a1565b15611c935760405162461bcd60e51b815260040161088590615dd1565b6060840151600090815260086020526040902054611cb0906149cb565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611cdd929190615b37565b600060405180830381600087803b158015611cf757600080fd5b505af1158015611d0b573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d3f908790600401615de1565b600060405180830381600087803b158015611d5957600080fd5b505af1158015611d6d573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611db09493929190615df0565b60405180910390a2505050509392505050565b6000611dcd6149d6565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611e20929190615ba9565b60206040518083038186803b158015611e3857600080fd5b505afa158015611e4c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e70919081019061519a565b905090565b6000611e706c45786368616e6765526174657360981b6149ef565b600082820183811015611eb55760405162461bcd60e51b815260040161088590615c91565b90505b92915050565b6000670de0b6b3a7640000611ed9848463ffffffff612a5f16565b81611ee057fe5b049392505050565b6000611ef2613da9565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611f2a57600080fd5b505afa158015611f3e573d6000803e3d6000fd5b50505050611f4a611e75565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401611f779190615b8d565b60206040518083038186803b158015611f8f57600080fd5b505afa158015611fa3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fc791908101906150a1565b15611fe45760405162461bcd60e51b815260040161088590615d41565b611fec614cca565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061201e9087908790600401615b60565b6101206040518083038186803b15801561203757600080fd5b505afa15801561204b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061206f919081019061517b565b905061207a81613dc3565b61208381613e23565b905060006120a28260c001518360800151611e9090919063ffffffff16565b90506120b7826020015183606001518361430f565b6120bf6149b4565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b81526004016120f0929190615b60565b60206040518083038186803b15801561210857600080fd5b505afa15801561211c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061214091908101906150a1565b1561215d5760405162461bcd60e51b815260040161088590615ce1565b606082015160009081526008602052604090205461217a906149cb565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016121a7929190615b60565b600060405180830381600087803b1580156121c157600080fd5b505af11580156121d5573d6000803e3d6000fd5b505050508160a00151156122f3576121eb614a4c565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b8152600401612220929190615ba9565b600060405180830381600087803b15801561223a57600080fd5b505af115801561224e573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156122ee57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916122bb918991600401615b60565b600060405180830381600087803b1580156122d557600080fd5b505af11580156122e9573d6000803e3d6000fd5b505050505b612363565b6122fb614a4c565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b8152600401612330929190615ba9565b600060405180830381600087803b15801561234a57600080fd5b505af115801561235e573d6000803e3d6000fd5b505050505b8160400151925061237c8260c001518360600151614a5b565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906123d2908590600401615de1565b600060405180830381600087803b1580156123ec57600080fd5b505af1158015612400573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f8560405161243d9190615b8d565b60405180910390a2505092915050565b6000546001600160a01b031633146124775760405162461bcd60e51b815260040161088590615d61565b565b612481613da9565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156124b957600080fd5b505afa1580156124cd573d6000803e3d6000fd5b505050506124d9611e75565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016125069190615b8d565b60206040518083038186803b15801561251e57600080fd5b505afa158015612532573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061255691908101906150a1565b156125735760405162461bcd60e51b815260040161088590615d41565b600081116125935760405162461bcd60e51b815260040161088590615da1565b61259b614cca565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906125cd9087908790600401615b60565b6101206040518083038186803b1580156125e657600080fd5b505afa1580156125fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061261e919081019061517b565b905061262981613dc3565b61263281613e23565b604081015190915061264a908363ffffffff611e9016565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612689908490600401615de1565b600060405180830381600087803b1580156126a357600080fd5b505af11580156126b7573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c848484604001516040516126fc93929190615bd7565b60405180910390a250505050565b6000612714613da9565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561274c57600080fd5b505afa158015612760573d6000803e3d6000fd5b5050505061276c611e75565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016127999190615b8d565b60206040518083038186803b1580156127b157600080fd5b505afa1580156127c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127e991908101906150a1565b156128065760405162461bcd60e51b815260040161088590615d41565b61280e614cca565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906128409033908890600401615b37565b6101206040518083038186803b15801561285957600080fd5b505afa15801561286d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612891919081019061517b565b905061289c81613dc3565b6128a581613e23565b60408101519091506128bd908463ffffffff612a3716565b604082015242610100820152600a546128d5826114aa565b116128f25760405162461bcd60e51b815260040161088590615c31565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612922908490600401615de1565b600060405180830381600087803b15801561293c57600080fd5b505af1158015612950573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161299893929190615bd7565b60405180910390a25092915050565b6000611e70600a5473__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156129f357600080fd5b505af4158015612a07573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a2b919081019061519a565b9063ffffffff614c1116565b600082821115612a595760405162461bcd60e51b815260040161088590615cf1565b50900390565b600082612a6e57506000611eb8565b82820282848281612a7b57fe5b0414611eb55760405162461bcd60e51b815260040161088590615d81565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612adb57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612b1a578160200160208202803883390190505b50905060005b8351811015612b5c57838181518110612b3557fe5b6020026020010151828281518110612b4957fe5b6020908102919091010152600101612b20565b5060005b8251811015612b9f57828181518110612b7557fe5b6020026020010151828286510181518110612b8c57fe5b6020908102919091010152600101612b60565b5092915050565b612bae613da9565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612be657600080fd5b505afa158015612bfa573d6000803e3d6000fd5b50505050612c06611e75565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401612c339190615b8d565b60206040518083038186803b158015612c4b57600080fd5b505afa158015612c5f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c8391908101906150a1565b15612ca05760405162461bcd60e51b815260040161088590615d41565b60008111612cc05760405162461bcd60e51b815260040161088590615c81565b612cc8614cca565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612cfa9088908790600401615b60565b6101206040518083038186803b158015612d1357600080fd5b505afa158015612d27573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d4b919081019061517b565b9050612d5681613dc3565b612d5f81613e23565b9050612d708482606001518461430f565b612d7a8183614791565b426101008201529050612d8b6149b4565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612dbc929190615b60565b60206040518083038186803b158015612dd457600080fd5b505afa158015612de8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e0c91908101906150a1565b15612e295760405162461bcd60e51b815260040161088590615dd1565b6060810151600090815260086020526040902054612e46906149cb565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612e73929190615b60565b600060405180830381600087803b158015612e8d57600080fd5b505af1158015612ea1573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612ed5908490600401615de1565b600060405180830381600087803b158015612eef57600080fd5b505af1158015612f03573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612f5293929190615bd7565b60405180910390a35050505050565b6000808211612f825760405162461bcd60e51b815260040161088590615d01565b6000828481612f8d57fe5b04949350505050565b612f9e613da9565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612fd657600080fd5b505afa158015612fea573d6000803e3d6000fd5b50505050612ff6611e75565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016130239190615b8d565b60206040518083038186803b15801561303b57600080fd5b505afa15801561304f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061307391908101906150a1565b156130905760405162461bcd60e51b815260040161088590615d41565b613098614cca565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130ca9033908790600401615b37565b6101206040518083038186803b1580156130e357600080fd5b505afa1580156130f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061311b919081019061517b565b905061312681613dc3565b61312f81613e23565b6080810151909150613147908363ffffffff611e9016565b6080820152600a54613158826114aa565b116131755760405162461bcd60e51b815260040161088590615c41565b600061318c600c5484614c2690919063ffffffff16565b905060006131a0848363ffffffff612a3716565b90508260a00151156133ad576131b4614a4c565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b81526004016131e5929190615ba9565b600060405180830381600087803b1580156131ff57600080fd5b505af1158015613213573d6000803e3d6000fd5b5050505061321f614c3b565b6001600160a01b031663867904b433613236611e75565b6001600160a01b031663654a60ac876060015186631cd554d160e21b6040518463ffffffff1660e01b815260040161327093929190615bd7565b60206040518083038186803b15801561328857600080fd5b505afa15801561329c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132c0919081019061519a565b6040518363ffffffff1660e01b81526004016132dd929190615b37565b600060405180830381600087803b1580156132f757600080fd5b505af115801561330b573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156133a85760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906133759033908890600401615b37565b600060405180830381600087803b15801561338f57600080fd5b505af11580156133a3573d6000803e3d6000fd5b505050505b613495565b6133b5614a4c565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016133e6929190615ba9565b600060405180830381600087803b15801561340057600080fd5b505af1158015613414573d6000803e3d6000fd5b505050606084015160009081526008602052604090205461343591506149cb565b6001600160a01b031663867904b433836040518363ffffffff1660e01b8152600401613462929190615b37565b600060405180830381600087803b15801561347c57600080fd5b505af1158015613490573d6000803e3d6000fd5b505050505b6134a3828460600151614a5b565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c906134da908690600401615de1565b600060405180830381600087803b1580156134f457600080fd5b505af1158015613508573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf3583106548686604051613547929190615ba9565b60405180910390a25050505050565b60006111c78261357485670de0b6b3a764000063ffffffff612a5f16565b9063ffffffff612f6116565b600061358a613da9565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156135c257600080fd5b505afa1580156135d6573d6000803e3d6000fd5b5050600f5460ff1691506135fe90505760405162461bcd60e51b815260040161088590615d21565b613606611e75565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016136339190615b8d565b60206040518083038186803b15801561364b57600080fd5b505afa15801561365f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061368391908101906150a1565b156136a05760405162461bcd60e51b815260040161088590615d41565b6000838152600860205260409020546136cb5760405162461bcd60e51b815260040161088590615d71565b6136d3611e75565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016136fe9190615b8d565b60206040518083038186803b15801561371657600080fd5b505afa15801561372a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061374e91908101906150a1565b1561376b5760405162461bcd60e51b815260040161088590615cd1565b600b5485101561378d5760405162461bcd60e51b815260040161088590615cc1565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc906137c0903390600401615ae6565b60206040518083038186803b1580156137d857600080fd5b505afa1580156137ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613810919081019061519a565b1061382d5760405162461bcd60e51b815260040161088590615ca1565b600080613838614a4c565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401613865929190615ba9565b604080518083038186803b15801561387c57600080fd5b505afa158015613890573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138b491908101906150bf565b915091508180156138c3575080155b6138df5760405162461bcd60e51b815260040161088590615db1565b6138e98786611125565b8611156139085760405162461bcd60e51b815260040161088590615d51565b600061391f600c5488614c2690919063ffffffff16565b90506000613933888363ffffffff612a3716565b905061393d614a4c565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561397757600080fd5b505af115801561398b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139af919081019061519a565b94506139b9614cca565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050613a1181613e23565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613a42908490600401615de1565b600060405180830381600087803b158015613a5c57600080fd5b505af1158015613a70573d6000803e3d6000fd5b50505050613a7e8389614a5b565b8615613c7457613a8c614c3b565b6001600160a01b031663867904b433613aa3611e75565b6001600160a01b031663654a60ac8c87631cd554d160e21b6040518463ffffffff1660e01b8152600401613ad993929190615bd7565b60206040518083038186803b158015613af157600080fd5b505afa158015613b05573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b29919081019061519a565b6040518363ffffffff1660e01b8152600401613b46929190615b37565b600060405180830381600087803b158015613b6057600080fd5b505af1158015613b74573d6000803e3d6000fd5b50505050613b80614a4c565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401613bad929190615ba9565b600060405180830381600087803b158015613bc757600080fd5b505af1158015613bdb573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613c6f576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190613c3c9033908d90600401615b37565b600060405180830381600087803b158015613c5657600080fd5b505af1158015613c6a573d6000803e3d6000fd5b505050505b613d53565b600088815260086020526040902054613c8c906149cb565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401613cb9929190615b37565b600060405180830381600087803b158015613cd357600080fd5b505af1158015613ce7573d6000803e3d6000fd5b50505050613cf3614a4c565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401613d20929190615ba9565b600060405180830381600087803b158015613d3a57600080fd5b505af1158015613d4e573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c88604051613d94959493929190615e2e565b60405180910390a25050505050949350505050565b6000611e706b53797374656d53746174757360a01b6149ef565b60008160e0015111613de75760405162461bcd60e51b815260040161088590615dc1565b42613e02600e54836101000151611e9090919063ffffffff16565b1115613e205760405162461bcd60e51b815260040161088590615c71565b50565b613e2b614cca565b8190506000806000808560a00151613ec957613e45614a4c565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613e749190615b8d565b60806040518083038186803b158015613e8c57600080fd5b505afa158015613ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ec491908101906151f8565b613f56565b613ed1614a4c565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613f06929190615ba9565b60806040518083038186803b158015613f1e57600080fd5b505afa158015613f32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f5691908101906151f8565b93509350935093506000808760a00151613fe657613f72614a4c565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613fa957600080fd5b505afa158015613fbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fe191908101906151b8565b61407e565b613fee614a4c565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f7909161402f91600401615b8d565b604080518083038186803b15801561404657600080fd5b505afa15801561405a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061407e91908101906151b8565b9150915080156140a05760405162461bcd60e51b815260040161088590615d11565b600061413d73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156140e957600080fd5b505af41580156140fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614121919081019061519a565b614131428863ffffffff612a3716565b9063ffffffff612a5f16565b90506000614161614154858463ffffffff611ebe16565b889063ffffffff611e9016565b905060008a60e0015160001461419a57614195614184838b63ffffffff612a3716565b60808d01519063ffffffff611ebe16565b61419d565b60005b90508a60a00151614212576141b0614a4c565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b81526004016141db9190615b8d565b600060405180830381600087803b1580156141f557600080fd5b505af1158015614209573d6000803e3d6000fd5b5050505061427e565b61421a614a4c565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b815260040161424b929190615ba9565b600060405180830381600087803b15801561426557600080fd5b505af1158015614279573d6000803e3d6000fd5b505050505b60c08b0151614293908263ffffffff611e9016565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c906142cf908d90600401615de1565b600060405180830381600087803b1580156142e957600080fd5b505af11580156142fd573d6000803e3d6000fd5b50505050505050505050505050919050565b6000828152600860205260409020548190614329906149cb565b6001600160a01b03166370a08231856040518263ffffffff1660e01b81526004016143549190615ad8565b60206040518083038186803b15801561436c57600080fd5b505afa158015614380573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506143a4919081019061519a565b10156113645760405162461bcd60e51b815260040161088590615d91565b6000806143e08360c001518460800151611e9090919063ffffffff16565b6080840151604085015193509091506143f76149b4565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b8152600401614428929190615b60565b60206040518083038186803b15801561444057600080fd5b505afa158015614454573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061447891908101906150a1565b156144955760405162461bcd60e51b815260040161088590615dd1565b60608401516000908152600860205260409020546144b2906149cb565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016144df929190615b60565b600060405180830381600087803b1580156144f957600080fd5b505af115801561450d573d6000803e3d6000fd5b505050508360a001511561462b57614523614a4c565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b8152600401614558929190615ba9565b600060405180830381600087803b15801561457257600080fd5b505af1158015614586573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561462657606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916145f3918a91600401615b60565b600060405180830381600087803b15801561460d57600080fd5b505af1158015614621573d6000803e3d6000fd5b505050505b61469b565b614633614a4c565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b8152600401614668929190615ba9565b600060405180830381600087803b15801561468257600080fd5b505af1158015614696573d6000803e3d6000fd5b505050505b6146ad8460c001518560600151614a5b565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c90614703908790600401615de1565b600060405180830381600087803b15801561471d57600080fd5b505af1158015614731573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb8660000151848760405161478093929190615bd7565b60405180910390a350509392505050565b614799614cca565b508181158015906147ae575060008360c00151115b1561480b5760008360c0015183116147c657826147cc565b8360c001515b60c08501519091506147e4908263ffffffff612a3716565b60c08301526147f9838263ffffffff612a3716565b9250614809818560600151614a5b565b505b8115611eb8576080830151614826908363ffffffff612a3716565b608082015260a0810151156149435761483d614a4c565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161486e929190615ba9565b600060405180830381600087803b15801561488857600080fd5b505af115801561489c573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b03161561493e5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161490b91908690600401615b37565b600060405180830381600087803b15801561492557600080fd5b505af1158015614939573d6000803e3d6000fd5b505050505b611eb8565b61494b614a4c565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161497c929190615ba9565b600060405180830381600087803b15801561499657600080fd5b505af11580156149aa573d6000803e3d6000fd5b5050505092915050565b6000611e706822bc31b430b733b2b960b91b6149ef565b6000611eb8826149ef565b6000611e706e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b039091169182151591614a1f91869101615aad565b60405160208183030381529060405290612b9f5760405162461bcd60e51b81526004016108859190615c00565b6006546001600160a01b031690565b8115610e3b57631cd554d160e21b8114614b0057614a77611e75565b6001600160a01b031663654a60ac8284631cd554d160e21b6040518463ffffffff1660e01b8152600401614aad93929190615bd7565b60206040518083038186803b158015614ac557600080fd5b505afa158015614ad9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614afd919081019061519a565b91505b614b08614c3b565b6001600160a01b031663867904b4614b1e614c52565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015614b5657600080fd5b505afa158015614b6a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250614b8e9190810190614f6e565b846040518363ffffffff1660e01b8152600401614bac929190615b60565b600060405180830381600087803b158015614bc657600080fd5b505af1158015614bda573d6000803e3d6000fd5b50505050614be6614c52565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401610e0d9190615b8d565b60006111c78383670de0b6b3a7640000614c67565b60006111c78383670de0b6b3a7640000614c9f565b6000611e706814de5b9d1a1cd554d160ba1b6149ef565b6000611e7066119959541bdbdb60ca1b6149ef565b600080614c818461357487600a870263ffffffff612a5f16565b90506005600a825b0610614c9357600a015b600a9004949350505050565b600080600a8304614cb6868663ffffffff612a5f16565b81614cbd57fe5b0490506005600a82614c89565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611eb881615f1d565b8051611eb881615f1d565b60008083601f840112614d4c57600080fd5b50813567ffffffffffffffff811115614d6457600080fd5b602083019150836020820283011115614d7c57600080fd5b9250929050565b8035611eb881615f31565b8051611eb881615f31565b8035611eb881615f3a565b8051611eb881615f3a565b60006101208284031215614dc257600080fd5b614dcd610120615e7a565b90506000614ddb8484614d99565b8252506020614dec84848301614d24565b6020830152506040614e0084828501614d99565b6040830152506060614e1484828501614d99565b6060830152506080614e2884828501614d99565b60808301525060a0614e3c84828501614d83565b60a08301525060c0614e5084828501614d99565b60c08301525060e0614e6484828501614d99565b60e083015250610100614e7984828501614d99565b6101008301525092915050565b60006101208284031215614e9957600080fd5b614ea4610120615e7a565b90506000614eb28484614da4565b8252506020614ec384848301614d2f565b6020830152506040614ed784828501614da4565b6040830152506060614eeb84828501614da4565b6060830152506080614eff84828501614da4565b60808301525060a0614f1384828501614d8e565b60a08301525060c0614f2784828501614da4565b60c08301525060e0614f3b84828501614da4565b60e083015250610100614e7984828501614da4565b600060208284031215614f6257600080fd5b60006107328484614d24565b600060208284031215614f8057600080fd5b60006107328484614d2f565b60008060408385031215614f9f57600080fd5b6000614fab8585614d24565b9250506020614fbc85828601614d99565b9150509250929050565b600080600060608486031215614fdb57600080fd5b6000614fe78686614d24565b9350506020614ff886828701614d99565b925050604061500986828701614d99565b9150509250925092565b6000806000806040858703121561502957600080fd5b843567ffffffffffffffff81111561504057600080fd5b61504c87828801614d3a565b9450945050602085013567ffffffffffffffff81111561506b57600080fd5b61507787828801614d3a565b95989497509550505050565b60006020828403121561509557600080fd5b60006107328484614d83565b6000602082840312156150b357600080fd5b60006107328484614d8e565b600080604083850312156150d257600080fd5b60006150de8585614d8e565b9250506020614fbc85828601614d8e565b60006020828403121561510157600080fd5b60006107328484614d99565b6000806040838503121561512057600080fd5b600061512c8585614d99565b9250506020614fbc85828601614d24565b6000806040838503121561515057600080fd5b6000614fab8585614d99565b6000610120828403121561516f57600080fd5b60006107328484614daf565b6000610120828403121561518e57600080fd5b60006107328484614e86565b6000602082840312156151ac57600080fd5b60006107328484614da4565b600080604083850312156151cb57600080fd5b60006150de8585614da4565b6000806000606084860312156151ec57600080fd5b6000614fe78686614d99565b6000806000806080858703121561520e57600080fd5b600061521a8787614da4565b945050602061522b87828801614da4565b935050604061523c87828801614da4565b925050606061524d87828801614da4565b91505092959194509250565b600061526583836152e7565b505060200190565b61527681615ed5565b82525050565b61527681615eb9565b600061529082615ea7565b61529a8185615eab565b93506152a583615ea1565b8060005b838110156152d35781516152bd8882615259565b97506152c883615ea1565b9250506001016152a9565b509495945050505050565b61527681615ec4565b61527681610c58565b6152766152fc82610c58565b610c58565b61527681615edc565b600061531582615ea7565b61531f8185615eab565b935061532f818560208601615ee7565b61533881615f13565b9093019392505050565b600061534f601b83615eab565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000615388601683615eab565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b60006153ba600e83615eab565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b60006153e4601583615eab565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b6000615415603583615eab565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061546c601983615eab565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b60006154a5601d83615eab565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006154de601e83615eab565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615517601b83615eab565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615550601283615eab565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b600061557e601e83615eab565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b60006155b7601d83615eab565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006155f0601883615eab565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b6000615629602083615eab565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b6000615662601e83615eab565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061569b601a83615eab565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006156d4601183615eb4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615701601183615eab565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b600061572e601383615eab565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b600061575d600a83615eab565b6926b0bc1018903437bab960b11b815260200192915050565b6000615783601a83615eab565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b60006157bc601b83615eab565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b60006157f5602f83615eab565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000615846601f83615eab565b7f4e6f7420616c6c6f77656420746f20697373756520746869732073796e746800815260200192915050565b600061587f602183615eab565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006158c2601883615eab565b7f4e6f7420656e6f7567682073796e74682062616c616e63650000000000000000815260200192915050565b60006158fb601e83615eab565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b6000615934601a83615eab565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b600061596d601983615eb4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006159a6601383615eab565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b60006159d5601b83615eab565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b8051610120830190615a1384826152e7565b506020820151615a26602085018261527c565b506040820151615a3960408501826152e7565b506060820151615a4c60608501826152e7565b506080820151615a5f60808501826152e7565b5060a0820151615a7260a08501826152de565b5060c0820151615a8560c08501826152e7565b5060e0820151615a9860e08501826152e7565b506101008201516107dd6101008501826152e7565b6000615ab8826156c7565b9150615ac482846152f0565b50602001919050565b6000615ab882615960565b60208101611eb8828461527c565b60208101611eb8828461526d565b60408101615b02828561526d565b6111c7602083018461527c565b60608101615b1d828661526d565b615b2a602083018561527c565b61073260408301846152e7565b60408101615b45828561526d565b6111c760208301846152e7565b60408101615b02828561527c565b60408101615b45828561527c565b602080825281016111c78184615285565b60208101611eb882846152de565b60208101611eb882846152e7565b60408101615b0282856152e7565b60408101615b4582856152e7565b60408101615bc582856152e7565b8181036020830152610732818461530a565b60608101615be582866152e7565b615b2a60208301856152e7565b60208101611eb88284615301565b602080825281016111c7818461530a565b60208082528101611eb881615342565b60208082528101611eb88161537b565b60208082528101611eb8816153ad565b60208082528101611eb8816153d7565b60208082528101611eb881615408565b60208082528101611eb88161545f565b60208082528101611eb881615498565b60208082528101611eb8816154d1565b60208082528101611eb88161550a565b60208082528101611eb881615543565b60208082528101611eb881615571565b60208082528101611eb8816155aa565b60208082528101611eb8816155e3565b60208082528101611eb88161561c565b60208082528101611eb881615655565b60208082528101611eb88161568e565b60208082528101611eb8816156f4565b60208082528101611eb881615721565b60208082528101611eb881615750565b60208082528101611eb881615776565b60208082528101611eb8816157af565b60208082528101611eb8816157e8565b60208082528101611eb881615839565b60208082528101611eb881615872565b60208082528101611eb8816158b5565b60208082528101611eb8816158ee565b60208082528101611eb881615927565b60208082528101611eb881615999565b60208082528101611eb8816159c8565b6101208101611eb88284615a01565b60808101615dfe82876152e7565b615e0b602083018661526d565b615e1860408301856152e7565b615e2560608301846152e7565b95945050505050565b60a08101615e3c82886152e7565b615e4960208301876152e7565b615e5660408301866152e7565b615e6360608301856152e7565b615e7060808301846152e7565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615e9957600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611eb882615ec9565b151590565b6001600160a01b031690565b6000611eb8825b6000611eb882615eb9565b60005b83811015615f02578181015183820152602001615eea565b838111156107dd5750506000910152565b601f01601f191690565b615f2681615eb9565b8114613e2057600080fd5b615f2681615ec4565b615f2681610c5856fea365627a7a72315820d4aba5266d8b22a489ac1222c99637c04ad1a59cc08aa0bf250edf6b1a8373fd6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "decimals",
							"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": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0efe6a8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x56dc04a1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf93451ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": 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": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": 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": "0xcfd4c10190e41e869cd9dfce6881f7f54d106c6a93bea6ea4f242c21608024b4",
				"urls": [
					"bzz-raw://3f8252837218f3a99ea6abcf931cd096a17debcf6989a5b0be6d7f0e117bdf20",
					"dweb:/ipfs/QmaFSTAmDeWifukz9mkCfAztBHEgycvYNu1syPezNsVPge"
				]
			},
			"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": "0xcfd4c10190e41e869cd9dfce6881f7f54d106c6a93bea6ea4f242c21608024b4",
						"urls": [
							"bzz-raw://3f8252837218f3a99ea6abcf931cd096a17debcf6989a5b0be6d7f0e117bdf20",
							"dweb:/ipfs/QmaFSTAmDeWifukz9mkCfAztBHEgycvYNu1syPezNsVPge"
						]
					}
				},
				"version": 1
			}
		},
		"StakingRewards": {
			"bytecode": "60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516118513803806118518339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611692806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101e45760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610448578063df136d6514610450578063e9fad8ee14610458578063ebe2b12b14610460576101e4565b8063a694fc3a146103fe578063c8f33c911461041b578063cc1a378f14610423578063cd3daf9d14610440576101e4565b80638980f11f116100de5780638980f11f1461039c5780638b876347146103c85780638da5cb5b146103ee57806391b4ded9146103f6576101e4565b806372f702f31461037c57806379ba5097146103845780637b0a47ee1461038c57806380faa57d14610394576101e4565b80632e1a7d4d116101875780633fc6df6e116101565780633fc6df6e1461030e57806353a47bb7146103325780635c975abb1461033a57806370a0823114610356576101e4565b80632e1a7d4d146102c4578063386a9525146102e15780633c6b16ab146102e95780633d18b91214610306576101e4565b806316c38b3c116101c357806316c38b3c1461026f57806318160ddd1461028e57806319762143146102965780631c1f78eb146102bc576101e4565b80628cc262146101e95780630700037d146102215780631627540c14610247575b600080fd5b61020f600480360360208110156101ff57600080fd5b50356001600160a01b0316610468565b60408051918252519081900360200190f35b61020f6004803603602081101561023757600080fd5b50356001600160a01b03166104fe565b61026d6004803603602081101561025d57600080fd5b50356001600160a01b0316610510565b005b61026d6004803603602081101561028557600080fd5b5035151561056c565b61020f6105e6565b61026d600480360360208110156102ac57600080fd5b50356001600160a01b03166105ed565b61020f610617565b61026d600480360360208110156102da57600080fd5b5035610635565b61020f6107d7565b61026d600480360360208110156102ff57600080fd5b50356107dd565b61026d610a33565b610316610b71565b604080516001600160a01b039092168252519081900360200190f35b610316610b80565b610342610b8f565b604080519115158252519081900360200190f35b61020f6004803603602081101561036c57600080fd5b50356001600160a01b0316610b98565b610316610bb3565b61026d610bc2565b61020f610c7e565b61020f610c84565b61026d600480360360408110156103b257600080fd5b506001600160a01b038135169060200135610c92565b61020f600480360360208110156103de57600080fd5b50356001600160a01b0316610d4f565b610316610d61565b61020f610d70565b61026d6004803603602081101561041457600080fd5b5035610d76565b61020f610f54565b61026d6004803603602081101561043957600080fd5b5035610f5a565b61020f610fdd565b610316611037565b61020f61104b565b61026d611051565b61020f611074565b6001600160a01b0381166000908152600d6020908152604080832054600c9092528220546104f891906104ec90670de0b6b3a7640000906104e0906104bb906104af610fdd565b9063ffffffff61107a16565b6001600160a01b0388166000908152600f60205260409020549063ffffffff6110d716565b9063ffffffff61113716565b9063ffffffff6111a116565b92915050565b600d6020526000908152604090205481565b6105186111fb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6105746111fb565b60055460ff161515811515141561058a576105e3565b6005805460ff1916821515179081905560ff16156105a757426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b6105f56111fb565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60006106306009546008546110d790919063ffffffff16565b905090565b600380546001019081905533610649610fdd565b600b55610654610c84565b600a556001600160a01b0381161561069b5761066f81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b600083116106e4576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600e546106f7908463ffffffff61107a16565b600e55336000908152600f602052604090205461071a908463ffffffff61107a16565b336000818152600f6020526040902091909155600654610746916001600160a01b039091169085611244565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25060035481146107d3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b031633146108265760405162461bcd60e51b815260040180806020018281038252602a8152602001806115e9602a913960400191505060405180910390fd5b6000610830610fdd565b600b5561083b610c84565b600a556001600160a01b038116156108825761085681610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108a75760095461089f90839063ffffffff61113716565b6008556108f6565b6007546000906108bd904263ffffffff61107a16565b905060006108d6600854836110d790919063ffffffff16565b6009549091506108f0906104e0868463ffffffff6111a116565b60085550505b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561094657600080fd5b505afa15801561095a573d6000803e3d6000fd5b505050506040513d602081101561097057600080fd5b505160095490915061098990829063ffffffff61113716565b60085411156109df576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a8190556009546109f8919063ffffffff6111a116565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610a47610fdd565b600b55610a52610c84565b600a556001600160a01b03811615610a9957610a6d81610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b1957336000818152600d6020526040812055600554610ae2916101009091046001600160a01b0316908363ffffffff61124416565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b505060035481146105e3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c0b5760405162461bcd60e51b81526004018080602001828103825260358152602001806115286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60006106304260075461129b565b610c9a6111fb565b6006546001600160a01b0383811691161415610ce75760405162461bcd60e51b815260040180806020018281038252602181526020018061163d6021913960400191505060405180910390fd5b600054610d07906001600160a01b0384811691168363ffffffff61124416565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610dc35760405162461bcd60e51b815260040180806020018281038252603c8152602001806115ad603c913960400191505060405180910390fd5b33610dcc610fdd565b600b55610dd7610c84565b600a556001600160a01b03811615610e1e57610df281610468565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610e64576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600e54610e77908463ffffffff6111a116565b600e55336000908152600f6020526040902054610e9a908463ffffffff6111a116565b336000818152600f6020526040902091909155600654610ec7916001600160a01b039091169030866112b1565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25060035481146107d3576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610f626111fb565b6007544211610fa25760405162461bcd60e51b81526004018080602001828103825260588152602001806114d06058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e5460001415610ff35750600b546105ea565b610630611028600e546104e0670de0b6b3a764000061101c60085461101c600a546104af610c84565b9063ffffffff6110d716565b600b549063ffffffff6111a116565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f602052604090205461106a90610635565b611072610a33565b565b60075481565b6000828211156110d1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000826110e6575060006104f8565b828202828482816110f357fe5b04146111305760405162461bcd60e51b815260040180806020018281038252602181526020018061158c6021913960400191505060405180910390fd5b9392505050565b600080821161118d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161119857fe5b04949350505050565b600082820183811015611130576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146110725760405162461bcd60e51b815260040180806020018281038252602f81526020018061155d602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b179052611296908490611311565b505050565b60008183106112aa5781611130565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261130b908590611311565b50505050565b611323826001600160a01b03166114c9565b611374576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106113b25780518252601f199092019160209182019101611393565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611414576040519150601f19603f3d011682016040523d82523d6000602084013e611419565b606091505b509150915081611470576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561130b5780806020019051602081101561148c57600080fd5b505161130b5760405162461bcd60e51b815260040180806020018281038252602a815260200180611613602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a72315820bc17877f803b455ea0fe3957c469a38d88597e8d816faab04daed948fe7a0b5c64736f6c63430005100032",
			"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": 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": "0x887fbc76ddd8d83f704e96ada13cdc7f01adf45c2bff445a83b721780bfe1479",
				"urls": [
					"bzz-raw://c9fe8bc8145a2bb8c724999d238f66c5a4e86afefd744a5e16d6a36a88622083",
					"dweb:/ipfs/QmSc5g8VxLhupMRgMYBd22eHYPMoKyWAB2TtAchGAcSyd5"
				]
			},
			"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": "0x887fbc76ddd8d83f704e96ada13cdc7f01adf45c2bff445a83b721780bfe1479",
						"urls": [
							"bzz-raw://c9fe8bc8145a2bb8c724999d238f66c5a4e86afefd744a5e16d6a36a88622083",
							"dweb:/ipfs/QmSc5g8VxLhupMRgMYBd22eHYPMoKyWAB2TtAchGAcSyd5"
						]
					}
				},
				"version": 1
			}
		},
		"Perifi": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200516938038062005169833981810160405260a08110156200003757600080fd5b5080516020808301516040808501516060860151608090960151825180840184526012808252712832b934902334b730b731b2902a37b5b2b760711b82880152845180860190955260048552635045524960e01b9685019690965295969395919490928792879287928792879283928892889290919087908986816001600160a01b0381166200010e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620001b9576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200023b906006906020880190620002a4565b50835162000251906007906020870190620002a4565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620003499c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002e757805160ff191683800117855562000317565b8280016001018555821562000317579182015b8281111562000317578251825591602001919060010190620002fa565b506200032592915062000329565b5090565b6200034691905b8082111562000325576000815560010162000330565b90565b614e1080620003596000396000f3fe608060405234801561001057600080fd5b506004361061041d5760003560e01c806379ba50971161022b578063c836fa0a11610130578063ddd03a3f116100b8578063ec55688911610087578063ec55688914610d96578063edef719a14610861578063ee52a2f314610d9e578063f5adc4f514610dc7578063f9eea80c14610dcf5761041d565b8063ddd03a3f14610d0d578063e58c3e8614610d36578063e6203ed114610d62578063e90dd9e214610d8e5761041d565b8063d67bdd25116100ff578063d67bdd2514610c95578063d6980ba114610c9d578063d8a1f76f14610cba578063d99947de14610cd7578063dd62ed3e14610cdf5761041d565b8063c836fa0a14610bee578063c9a2f3ad14610c26578063d37c4d8b14610c4c578063d3a7120214610c785761041d565b80639df95f9f116101b3578063a9059cbb11610182578063a9059cbb14610b27578063aa1b8af814610b53578063ace88afd14610b79578063b07ecd2e14610bab578063bc67f83214610bc85761041d565b80639df95f9f14610a985780639f76980714610ab5578063a311c7c214610adb578063a5fdc5de14610b015761041d565b806391e56b68116101fa57806391e56b68146109ff57806395d89b4114610a4557806397107d6d14610a4d578063987757dd14610a735780639cbdaeb614610a905761041d565b806379ba5097146109df578063899ffef4146109e75780638da5cb5b146109ef5780638e2ac0ea146109f75761041d565b80632f0bb6fa1161033157806357ad4663116102b95780636f01a986116102885780636f01a9861461090a578063705a23691461093c57806370a082311461095957806372cb051f1461097f57806374185360146109d75761041d565b806357ad466314610844578063666ed4f1146108615780636b9db4e61461088d5780636c7b9f69146108cc5761041d565b806342f760cb1161030057806342f760cb146107bc5780634e92c3fb146107e857806353a47bb71461080e57806354037f761461081657806355182ccb1461081e5761041d565b80632f0bb6fa146106de57806330ead76014610732578063313ce567146107705780633b09280a146107785761041d565b806318160ddd116103b457806323b872dd1161038357806323b872dd1461065457806328691a751461068a5780632a905318146106b05780632af64bd3146106b85780632e0f2625146106c05761041d565b806318160ddd146105cf57806318821400146105e95780631b99084c146105f15780631fce304d146106375761041d565b80630e30963c116103f05780630e30963c1461052b5780631249c58b1461057b578063131b0ae7146105835780631627540c146105a95761041d565b806304f3bcec1461042257806306fdde0314610446578063095ea7b3146104c35780630ce4f2ef14610503575b600080fd5b61042a610dd7565b604080516001600160a01b039092168252519081900360200190f35b61044e610deb565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610488578181015183820152602001610470565b50505050905090810190601f1680156104b55780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6104ef600480360360408110156104d957600080fd5b506001600160a01b038135169060200135610e79565b604080519115158252519081900360200190f35b6105296004803603602081101561051957600080fd5b50356001600160a01b0316610f12565b005b61055a6004803603608081101561054157600080fd5b5080359060208101359060408101359060600135610fef565b604080519283526001600160a01b0390911660208301528051918290030190f35b6104ef61117b565b6105296004803603602081101561059957600080fd5b50356001600160a01b0316611670565b610529600480360360208110156105bf57600080fd5b50356001600160a01b031661169a565b6105d76116f6565b60408051918252519081900360200190f35b61044e6116fc565b610529600480360360c081101561060757600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160808201359160a001351661172a565b6104ef6004803603602081101561064d57600080fd5b50356118dc565b6104ef6004803603606081101561066a57600080fd5b506001600160a01b0381358116916020810135909116906040013561196f565b610529600480360360208110156106a057600080fd5b50356001600160a01b03166119fc565b61044e611abd565b6104ef611add565b6106c8611bee565b6040805160ff9092168252519081900360200190f35b61070a600480360360408110156106f457600080fd5b506001600160a01b038135169060200135611bf3565b604080516001600160a01b039094168452602084019290925282820152519081900360600190f35b6105d7600480360360a081101561074857600080fd5b508035906020810135906040810135906001600160a01b036060820135169060800135611c3c565b6106c8611dc6565b61079e6004803603602081101561078e57600080fd5b50356001600160a01b0316611dcf565b60408051938452602084019290925282820152519081900360600190f35b610529600480360360408110156107d257600080fd5b506001600160a01b038135169060200135611e75565b610529600480360360208110156107fe57600080fd5b50356001600160a01b0316611f5a565b61042a611fc9565b610529611fd8565b6105d76004803603602081101561083457600080fd5b50356001600160a01b03166120aa565b61042a6004803603602081101561085a57600080fd5b503561213b565b6105296004803603604081101561087757600080fd5b506001600160a01b038135169060200135612188565b6108b3600480360360208110156108a357600080fd5b50356001600160a01b0316612190565b6040805192835260208301919091528051918290030190f35b610529600480360360a08110156108e257600080fd5b506001600160a01b0381351690602081013590604081013590606081013590608001356122a0565b6105296004803603606081101561092057600080fd5b506001600160a01b038135169060208101359060400135612312565b6105296004803603602081101561095257600080fd5b50356124a6565b6105d76004803603602081101561096f57600080fd5b50356001600160a01b0316612564565b6109876125b5565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156109c35781810151838201526020016109ab565b505050509050019250505060405180910390f35b6105296126c5565b61052961289e565b61098761295a565b61042a612a78565b610529612a87565b6105d7600480360360c0811015610a1557600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135612b3e565b61044e612ccc565b61052960048036036020811015610a6357600080fd5b50356001600160a01b0316612d27565b61079e60048036036020811015610a8957600080fd5b5035612d83565b61042a612e03565b61042a60048036036020811015610aae57600080fd5b5035612e12565b61052960048036036020811015610acb57600080fd5b50356001600160a01b0316612e5f565b6105d760048036036020811015610af157600080fd5b50356001600160a01b0316612e8b565b6105d760048036036020811015610b1757600080fd5b50356001600160a01b0316612eea565b6104ef60048036036040811015610b3d57600080fd5b506001600160a01b038135169060200135612f49565b6105d760048036036020811015610b6957600080fd5b50356001600160a01b0316612fda565b61052960048036036060811015610b8f57600080fd5b506001600160a01b0381351690602081013590604001356130d9565b61052960048036036020811015610bc157600080fd5b503561318c565b61052960048036036020811015610bde57600080fd5b50356001600160a01b031661324a565b6105d760048036036080811015610c0457600080fd5b506001600160a01b038135169060208101359060408101359060600135613274565b6105d760048036036020811015610c3c57600080fd5b50356001600160a01b03166133f1565b6105d760048036036040811015610c6257600080fd5b506001600160a01b038135169060200135613450565b6105d760048036036020811015610c8e57600080fd5b50356134ea565b61042a613544565b6105d760048036036020811015610cb357600080fd5b5035613553565b61052960048036036020811015610cd057600080fd5b50356135ad565b6105d76135b5565b6105d760048036036040811015610cf557600080fd5b506001600160a01b0381358116916020013516613628565b61052960048036036060811015610d2357600080fd5b5080359060208101359060400135613681565b61052960048036036040811015610d4c57600080fd5b506001600160a01b03813516906020013561379e565b6104ef60048036036040811015610d7857600080fd5b506001600160a01b038135169060200135613866565b61042a6139a6565b61042a6139b5565b6105d760048036036060811015610db457600080fd5b50803590602081013590604001356139c4565b6104ef613b3d565b6105d7613b7f565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610e715780601f10610e4657610100808354040283529160200191610e71565b820191906000526020600020905b815481529060010190602001808311610e5457829003601f168201915b505050505081565b6000610e83613b8a565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b158015610ee557600080fd5b505af1158015610ef9573d6000803e3d6000fd5b50505050610f08818585613be0565b5060019392505050565b610f1a613caa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610f5257600080fd5b505afa158015610f66573d6000803e3d6000fd5b50505050610f72613b8a565b610f7a613cc9565b6004805460408051632334883560e11b81526001600160a01b03868116948201949094529183166024830152519290911691634669106a9160448082019260009290919082900301818387803b158015610fd357600080fd5b505af1158015610fe7573d6000803e3d6000fd5b505050505b50565b6000808584610ffc613caa565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b15801561103457600080fd5b505afa158015611048573d6000803e3d6000fd5b50505050611054613caa565b6001600160a01b0316633cb4d44383836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b15801561109f57600080fd5b505afa1580156110b3573d6000803e3d6000fd5b505050506110bf613b8a565b6110c7613cdd565b6004805460408051633ce6548960e21b81526001600160a01b03928316938101849052602481018d9052604481018c9052606481018b9052608481019390935260a483018990528051939091169263f39952249260c48082019392918290030181600087803b15801561113957600080fd5b505af115801561114d573d6000803e3d6000fd5b505050506040513d604081101561116357600080fd5b50805160209091015190999098509650505050505050565b6000611185613caa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156111bd57600080fd5b505afa1580156111d1573d6000803e3d6000fd5b5050505060006001600160a01b03166111e8613cf4565b6001600160a01b03161415611244576040805162461bcd60e51b815260206004820152601b60248201527f52657761726473446973747269627574696f6e206e6f74207365740000000000604482015290519081900360640190fd5b600061124e613d15565b9050600061125a613cf4565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561129757600080fd5b505afa1580156112ab573d6000803e3d6000fd5b505050506040513d60208110156112c157600080fd5b505190508061130f576040805162461bcd60e51b81526020600482015260156024820152744e6f20737570706c79206973206d696e7461626c6560581b604482015290519081900360640190fd5b826001600160a01b0316637e7961d7826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561135557600080fd5b505af1158015611369573d6000803e3d6000fd5b505050506040513d602081101561137f57600080fd5b505060408051639bdd7ac760e01b815290516000916001600160a01b03861691639bdd7ac791600480820192602092909190829003018186803b1580156113c557600080fd5b505afa1580156113d9573d6000803e3d6000fd5b505050506040513d60208110156113ef57600080fd5b505190506000611405838363ffffffff613d3116565b600554604080516370a0823160e01b81526001600160a01b038881166004830152915193945091169163b46310f691879161149b91869186916370a08231916024808301926020929190829003018186803b15801561146357600080fd5b505afa158015611477573d6000803e3d6000fd5b505050506040513d602081101561148d57600080fd5b50519063ffffffff613d8e16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156114ea57600080fd5b505af11580156114fe573d6000803e3d6000fd5b5050505061150d308583613def565b836001600160a01b03166359974e38826040518263ffffffff1660e01b815260040180828152602001915050602060405180830381600087803b15801561155357600080fd5b505af1158015611567573d6000803e3d6000fd5b505050506040513d602081101561157d57600080fd5b5050600554604080516370a0823160e01b8152336004820181905291516001600160a01b039093169263b46310f692916115db91879186916370a0823191602480820192602092909190829003018186803b15801561146357600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561162a57600080fd5b505af115801561163e573d6000803e3d6000fd5b5050505061164d303384613def565b600854611660908463ffffffff613d8e16565b6008555060019450505050505b90565b611678613e42565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6116a2613e42565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b604051806040016040528060128152602001712832b934902334b730b731b2902a37b5b2b760711b81525081565b611732613cdd565b6001600160a01b0316336001600160a01b031614611785576040805162461bcd60e51b815260206004820152601e6024820152600080516020614c81833981519152604482015290519081900360640190fd5b60028054604080516020810189905280820188905260608101879052608081018690526001600160a01b0385811660a0808401919091528351808403909101815260c0909201928390529092169263907dff97929180603e614c438239603e01905060405180910390206117f88b613e8b565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561186b578181015183820152602001611853565b50505050905090810190601f1680156118985780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156118bc57600080fd5b505af11580156118d0573d6000803e3d6000fd5b50505050505050505050565b6000806118e7613cdd565b60048054604080516301670a7b60e21b81526001600160a01b0392831693810193909352602483018790525192169163059c29ec91604480820192602092909190829003018186803b15801561193c57600080fd5b505afa158015611950573d6000803e3d6000fd5b505050506040513d602081101561196657600080fd5b50511192915050565b6000611979613b8a565b611981613caa565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156119b957600080fd5b505afa1580156119cd573d6000803e3d6000fd5b505050506119db8483613e97565b506004546119f4906001600160a01b0316858585614107565b949350505050565b611a04613caa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a3c57600080fd5b505afa158015611a50573d6000803e3d6000fd5b50505050611a5c613b8a565b611a64613cc9565b60048054604080516330662ab960e01b81526001600160a01b038681169482019490945291831660248301525192909116916330662ab99160448082019260009290919082900301818387803b158015610fd357600080fd5b604051806040016040528060048152602001635045524960e01b81525081565b60006060611ae961295a565b905060005b8151811015611be5576000828281518110611b0557fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b158015611b7457600080fd5b505afa158015611b88573d6000803e3d6000fd5b505050506040513d6020811015611b9e57600080fd5b50516001600160a01b0316141580611bcb57506000818152600a60205260409020546001600160a01b0316155b15611bdc576000935050505061166d565b50600101611aee565b50600191505090565b601281565b600d6020528160005260406000208181548110611c0c57fe5b60009182526020909120600390910201805460018201546002909201546001600160a01b03909116935090915083565b60008584611c48613caa565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b158015611c8057600080fd5b505afa158015611c94573d6000803e3d6000fd5b50505050611ca0613caa565b6001600160a01b0316633cb4d44383836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b158015611ceb57600080fd5b505afa158015611cff573d6000803e3d6000fd5b50505050611d0b613b8a565b611d13613cdd565b60048054604080516321aea91760e21b81526001600160a01b03928316938101849052602481018d9052604481018c9052606481018b9052608481019390935288821660a484015260c48301889052519216916386baa45c9160e4808201926020929091908290030181600087803b158015611d8e57600080fd5b505af1158015611da2573d6000803e3d6000fd5b505050506040513d6020811015611db857600080fd5b505198975050505050505050565b60095460ff1681565b6000806000611ddc613cc9565b6001600160a01b0316633b09280a856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060606040518083038186803b158015611e3157600080fd5b505afa158015611e45573d6000803e3d6000fd5b505050506040513d6060811015611e5b57600080fd5b508051602082015160409092015190969195509350915050565b611e7d613caa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611eb557600080fd5b505afa158015611ec9573d6000803e3d6000fd5b50505050611ed5613b8a565b611edd613cc9565b600480546040805163e71c452f60e01b81526001600160a01b038781169482019490945291831660248301526044820185905251929091169163e71c452f9160648082019260009290919082900301818387803b158015611f3d57600080fd5b505af1158015611f51573d6000803e3d6000fd5b505050505b5050565b611f62613e42565b6001600160a01b0381166000908152600d60205260408120611f8391614b64565b604080514281526000602082015281516001600160a01b038416927fac9f677e99a4df77ed2008bfe08de2e751aab75dce03486489e20585d79e91ce928290030190a250565b6001546001600160a01b031681565b611fe0613caa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561201857600080fd5b505afa15801561202c573d6000803e3d6000fd5b50505050612038613b8a565b612040613cc9565b6004805460408051632b612fc160e11b81526001600160a01b0392831693810193909352519216916356c25f829160248082019260009290919082900301818387803b15801561208f57600080fd5b505af11580156120a3573d6000803e3d6000fd5b505050505b565b60006120b4613cc9565b6001600160a01b03166355182ccb836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561210957600080fd5b505afa15801561211d573d6000803e3d6000fd5b505050506040513d602081101561213357600080fd5b505192915050565b6000612145613cc9565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561210957600080fd5b611f56614235565b6001600160a01b0381166000908152600d6020908152604080832080548251818502810185019093528083528493606093929190859084015b8282101561221e576000848152602090819020604080516060810182526003860290920180546001600160a01b03168352600180820154848601526002909101549183019190915290835290920191016121c9565b50505050905060008060008090505b8351811015612294574284828151811061224357fe5b602002602001015160200151111561228c5783818151811061226157fe5b6020026020010151604001518201915083818151811061227d57fe5b60200260200101516020015192505b60010161222d565b50909350915050915091565b6122a8613e42565b836122b1574293505b8360005b838110156122cd5762093a80909101906001016122b5565b5060006122e0838663ffffffff61428216565b905060005b85811015612308576122f88884846142ec565b62093a80909201916001016122e5565b5050505050505050565b61231a613cdd565b6001600160a01b0316336001600160a01b03161461236d576040805162461bcd60e51b815260206004820152601e6024820152600080516020614c81833981519152604482015290519081900360640190fd5b6002805460408051602081018690528082018590528151808203830181526060909101918290526001600160a01b039092169263907dff979291806027614cf18239602701905060405180910390206123c588613e8b565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b83811015612438578181015183820152602001612420565b50505050905090810190601f1680156124655780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561248957600080fd5b505af115801561249d573d6000803e3d6000fd5b50505050505050565b6124ae613caa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156124e657600080fd5b505afa1580156124fa573d6000803e3d6000fd5b50505050612506613b8a565b61250e613cc9565b600480546040805163ba92122360e01b81526001600160a01b0392831693810193909352602483018590525192169163ba9212239160448082019260009290919082900301818387803b158015610fd357600080fd5b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b15801561210957600080fd5b60606125bf613cc9565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156125f757600080fd5b505afa15801561260b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561263457600080fd5b810190808051604051939291908464010000000082111561265457600080fd5b90830190602082018581111561266957600080fd5b825186602082028301116401000000008211171561268657600080fd5b82525081516020918201928201910280838360005b838110156126b357818101518382015260200161269b565b50505050905001604052505050905090565b60606126cf61295a565b905060005b8151811015611f565760008282815181106126eb57fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156127b657818101518382015260200161279e565b50505050905090810190601f1680156127e35780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561280157600080fd5b505afa158015612815573d6000803e3d6000fd5b505050506040513d602081101561282b57600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016126d4565b6001546001600160a01b031633146128e75760405162461bcd60e51b8152600401808060200182810382526035815260200180614be66035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600680825260e082019092526060916020820160c0803883390190505090506d50796e746865746978537461746560901b8160008151811061299c57fe5b6020026020010181815250506b53797374656d53746174757360a01b816001815181106129c557fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106129eb57fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110612a0e57fe5b6020026020010181815250506d537570706c795363686564756c6560901b81600481518110612a3957fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b81600581518110612a6957fe5b60200260200101818152505090565b6000546001600160a01b031681565b612a8f613caa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612ac757600080fd5b505afa158015612adb573d6000803e3d6000fd5b50505050612ae7613b8a565b612aef613cc9565b600480546040805163f0617e5b60e01b81526001600160a01b03928316938101939093525192169163f0617e5b9160248082019260009290919082900301818387803b15801561208f57600080fd5b60008584612b4a613caa565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b158015612b8257600080fd5b505afa158015612b96573d6000803e3d6000fd5b50505050612ba2613caa565b6001600160a01b0316633cb4d44383836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b158015612bed57600080fd5b505afa158015612c01573d6000803e3d6000fd5b50505050612c0d613b8a565b612c15613cdd565b6004805460408051636fffe53b60e11b81526001600160a01b038e8116948201949094529183166024830152604482018c9052606482018b9052608482018a905288831660a483015260c4820188905251929091169163dfffca769160e4808201926020929091908290030181600087803b158015612c9357600080fd5b505af1158015612ca7573d6000803e3d6000fd5b505050506040513d6020811015612cbd57600080fd5b50519998505050505050505050565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610e715780601f10610e4657610100808354040283529160200191610e71565b612d2f613e42565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6000806000612d90613b8a565b612d98613cdd565b60048054604080516306c5a00b60e21b81526001600160a01b03928316938101939093526024830188905251921691631b16802c916044808201926060929091908290030181600087803b158015612def57600080fd5b505af1158015611e45573d6000803e3d6000fd5b6003546001600160a01b031681565b6000612e1c613cc9565b6001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561210957600080fd5b612e6761439d565b600580546001600160a01b0319166001600160a01b038316179055610fec8161444d565b6000612e95613cc9565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561210957600080fd5b6000612ef4613cc9565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561210957600080fd5b6000612f53613b8a565b612f5b613caa565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015612f9357600080fd5b505afa158015612fa7573d6000803e3d6000fd5b5050600454612fc292506001600160a01b0316905083613e97565b50600454610f08906001600160a01b03168484614578565b6000612fe4613cc9565b600554604080516370a0823160e01b81526001600160a01b03868116600483015291519382169363769aad8593879316916370a08231916024808301926020929190829003018186803b15801561303a57600080fd5b505afa15801561304e573d6000803e3d6000fd5b505050506040513d602081101561306457600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091528051604480840193829003018186803b1580156130af57600080fd5b505afa1580156130c3573d6000803e3d6000fd5b505050506040513d604081101561213357600080fd5b6130e1613cdd565b6001600160a01b0316336001600160a01b031614613134576040805162461bcd60e51b815260206004820152601e6024820152600080516020614c81833981519152604482015290519081900360640190fd5b6002805460408051602081018690528082018590528151808203830181526060909101918290526001600160a01b039092169263907dff979291806028614c1b8239602801905060405180910390206123c588613e8b565b613194613caa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156131cc57600080fd5b505afa1580156131e0573d6000803e3d6000fd5b505050506131ec613b8a565b6131f4613cc9565b600480546040805163012a629560e31b81526001600160a01b0392831693810193909352602483018590525192169163095314a89160448082019260009290919082900301818387803b158015610fd357600080fd5b613252614585565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b60008382613280613caa565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b1580156132b857600080fd5b505afa1580156132cc573d6000803e3d6000fd5b505050506132d8613caa565b6001600160a01b0316633cb4d44383836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b15801561332357600080fd5b505afa158015613337573d6000803e3d6000fd5b50505050613343613b8a565b61334b613cdd565b6004805460408051630d4388eb60e31b81526001600160a01b038c8116948201949094529183166024830152604482018a90526064820189905260848201889052519290911691636a1c47589160a4808201926020929091908290030181600087803b1580156133ba57600080fd5b505af11580156133ce573d6000803e3d6000fd5b505050506040513d60208110156133e457600080fd5b5051979650505050505050565b60006133fb613cc9565b6001600160a01b031663c9a2f3ad836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561210957600080fd5b600061345a613cc9565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156134b757600080fd5b505afa1580156134cb573d6000803e3d6000fd5b505050506040513d60208110156134e157600080fd5b50519392505050565b60006134f4613cc9565b6001600160a01b031663f023e8db8360006040518363ffffffff1660e01b815260040180838152602001821515151581526020019250505060206040518083038186803b15801561210957600080fd5b6004546001600160a01b031681565b600061355d613cc9565b6001600160a01b031663f023e8db8360016040518363ffffffff1660e01b815260040180838152602001821515151581526020019250505060206040518083038186803b15801561210957600080fd5b610fec614235565b60006135bf613cc9565b6001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156135f757600080fd5b505afa15801561360b573d6000803e3d6000fd5b505050506040513d602081101561362157600080fd5b5051905090565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b1580156134b757600080fd5b613689613cdd565b6001600160a01b0316336001600160a01b0316146136dc576040805162461bcd60e51b815260206004820152601e6024820152600080516020614c81833981519152604482015290519081900360640190fd5b6002805460408051602081018690528082018590528151808203830181526060909101918290526001600160a01b039092169263907dff979291806029614d18823960290190506040518091039020876000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b81526020018281038252888181518152602001915080519060200190808383600083811015612438578181015183820152602001612420565b6137a6613caa565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156137de57600080fd5b505afa1580156137f2573d6000803e3d6000fd5b505050506137fe613b8a565b613806613cc9565b600480546040805163daa0101560e01b81526001600160a01b038781169482019490945291831660248301526044820185905251929091169163daa010159160648082019260009290919082900301818387803b158015611f3d57600080fd5b6000613870613caa565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156138a857600080fd5b505afa1580156138bc573d6000803e3d6000fd5b505050506138c8613b8a565b6000806138d3613cc9565b600480546040805163298f137d60e21b81526001600160a01b038a8116948201949094526024810189905291831660448301528051939092169263a63c4df4926064808401939192918290030181600087803b15801561393257600080fd5b505af1158015613946573d6000803e3d6000fd5b505050506040513d604081101561395c57600080fd5b5080516020909101516004549193509150613985908690849084906001600160a01b03166145f9565b60045461399d9086906001600160a01b031684614578565b95945050505050565b6005546001600160a01b031681565b6002546001600160a01b031681565b600083826139d0613caa565b6001600160a01b0316637118d4316040518163ffffffff1660e01b815260040160006040518083038186803b158015613a0857600080fd5b505afa158015613a1c573d6000803e3d6000fd5b50505050613a28613caa565b6001600160a01b0316633cb4d44383836040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b158015613a7357600080fd5b505afa158015613a87573d6000803e3d6000fd5b50505050613a93613b8a565b613a9b613cdd565b6004805460408051630a1e187d60e01b81526001600160a01b03928316938101849052602481018b9052604481018a905260648101899052608481019390935251921691630a1e187d9160a4808201926020929091908290030181600087803b158015613b0757600080fd5b505af1158015613b1b573d6000803e3d6000fd5b505050506040513d6020811015613b3157600080fd5b50519695505050505050565b6000613b47613cc9565b6001600160a01b031663f5adc4f56040518163ffffffff1660e01b815260040160206040518083038186803b1580156135f757600080fd5b631c1554d160e21b81565b6002546001600160a01b03163314801590613bb057506003546001600160a01b03163314155b8015613bc757506004546001600160a01b03163314155b156120a857600480546001600160a01b03191633179055565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021614cd0823960210190506040518091039020613c3388613e8b565b613c3c88613e8b565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b81526020018281038252888181518152602001915080519060200190808383600083811015612438578181015183820152602001612420565b6000613cc46b53797374656d53746174757360a01b614736565b905090565b6000613cc46524b9b9bab2b960d11b614736565b6000613cc46822bc31b430b733b2b960b91b614736565b6000613cc4722932bbb0b93239a234b9ba3934b13aba34b7b760691b614736565b6000613cc46d537570706c795363686564756c6560901b614736565b600082821115613d88576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015613de8576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021614d73823960210190506040518091039020613c3388613e8b565b6000546001600160a01b031633146120a85760405162461bcd60e51b815260040180806020018281038252602f815260200180614ca1602f913960400191505060405180910390fd5b6001600160a01b031690565b6000613ea3838361481a565b15613eed576040805162461bcd60e51b815260206004820152601560248201527450455249203a204c6f636b65642062616c616e636560581b604482015290519081900360640190fd5b6000613ef7614925565b60408051631167f01160e31b81526001600160a01b0387811660048301528251931692638b3f808892602480840193919291829003018186803b158015613f3d57600080fd5b505afa158015613f51573d6000803e3d6000fd5b505050506040513d6040811015613f6757600080fd5b505190508015610f0857600080613f7c613cc9565b600554604080516370a0823160e01b81526001600160a01b038a8116600483015291519382169363769aad85938b9316916370a08231916024808301926020929190829003018186803b158015613fd257600080fd5b505afa158015613fe6573d6000803e3d6000fd5b505050506040513d6020811015613ffc57600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091528051604480840193829003018186803b15801561404757600080fd5b505afa15801561405b573d6000803e3d6000fd5b505050506040513d604081101561407157600080fd5b5080516020909101519092509050818511156140be5760405162461bcd60e51b8152600401808060200182810382526027815260200180614d946027913960400191505060405180910390fd5b80156140fb5760405162461bcd60e51b8152600401808060200182810382526021815260200180614dbb6021913960400191505060405180910390fd5b50600195945050505050565b60055460408051636eb1769f60e11b81526001600160a01b03868116600483015287811660248301529151600093929092169163da46098c91879189916141aa918891879163dd62ed3e91604480820192602092909190829003018186803b15801561417257600080fd5b505afa158015614186573d6000803e3d6000fd5b505050506040513d602081101561419c57600080fd5b50519063ffffffff613d3116565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b15801561421257600080fd5b505af1158015614226573d6000803e3d6000fd5b5050505061399d848484614941565b6040805162461bcd60e51b815260206004820152601b60248201527f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000604482015290519081900360640190fd5b60008082116142d8576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816142e357fe5b04949350505050565b6142f4614b85565b602081810184815260408084018581526001600160a01b038881168087526000818152600d875284812080546001808201835591835291889020895160039093020180546001600160a01b0319169290941691909117835594519482019490945590516002909101558051868152928301859052805191927fac9f677e99a4df77ed2008bfe08de2e751aab75dce03486489e20585d79e91ce929081900390910190a250505050565b6002546001600160a01b031633148015906143c357506003546001600160a01b03163314155b80156143da57506004546001600160a01b03163314155b156143f257600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146120a8576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b8381101561452757818101518382015260200161450f565b50505050905090810190601f1680156145545780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015610fd357600080fd5b60006119f4848484614941565b6002546001600160a01b03163314806145a857506003546001600160a01b031633145b6120a8576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6002805460408051602081018790528082018690526001600160a01b03858116606080840191909152835180840390910181526080909201928390529092169263907dff979291806032614d4182396032019050604051809103902061465e89613e8b565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156146d15781810151838201526020016146b9565b50505050905090810190601f1680156146fe5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561472257600080fd5b505af1158015612308573d6000803e3d6000fd5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816148135760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156147d85781810151838201526020016147c0565b50505050905090810190601f1680156148055780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600080600061482885612190565b915091508160001415801561483c57508015155b801561399d5750600554604080516370a0823160e01b81526001600160a01b0388811660048301529151849392909216916370a0823191602480820192602092909190829003018186803b15801561489357600080fd5b505afa1580156148a7573d6000803e3d6000fd5b505050506040513d60208110156148bd57600080fd5b505111158061399d5750600554604080516370a0823160e01b81526001600160a01b0388811660048301529151879361491b9386939116916370a0823191602480820192602092909190829003018186803b15801561417257600080fd5b1095945050505050565b6000613cc46d50796e746865746978537461746560901b614736565b60006001600160a01b0383161580159061496457506001600160a01b0383163014155b801561497e57506002546001600160a01b03848116911614155b6149cf576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f6918791614a2d91879186916370a0823191602480820192602092909190829003018186803b15801561417257600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015614a7c57600080fd5b505af1158015614a90573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f692508691614af291879186916370a0823191602480820192602092909190829003018186803b15801561146357600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015614b4157600080fd5b505af1158015614b55573d6000803e3d6000fd5b50505050610f08848484613def565b5080546000825560030290600052602060002090810190610fec9190614baf565b604051806060016040528060006001600160a01b0316815260200160008152602001600081525090565b61166d91905b80821115614be15780546001600160a01b03191681556000600182018190556002820155600301614bb5565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e67655265636c61696d28616464726573732c627974657333322c75696e743235362950796e746845786368616e676528616464726573732c627974657333322c75696e743235362c627974657333322c75696e743235362c61646472657373294f6e6c792045786368616e6765722063616e20696e766f6b65207468697300004f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362945786368616e676552656261746528616464726573732c627974657333322c75696e743235362945786368616e6765547261636b696e6728627974657333322c627974657333322c75696e74323536294163636f756e744c69717569646174656428616464726573732c75696e743235362c75696e743235362c61646472657373295472616e7366657228616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e73666572207374616b6564206f7220657363726f7765642050455249412070796e7468206f722050455249207261746520697320696e76616c69642042a265627a7a72315820f539b92eab2b6f5450ebf3dcb67451d828c54724e46bd7f026d383efe28d92c764736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRedeemed",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "AccountLiquidated",
					"type": "event",
					"signature": "0xaadb11d74982254be0fa96d24a08db29d68f446bc96b3092a9c9120b5c89caf2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeRebate",
					"type": "event",
					"signature": "0x93751433c6897553c8950f14ccc193ccffb8f539f7421ffde9af83b9b7dae1a8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeReclaim",
					"type": "event",
					"signature": "0x491df6adf9cabe8ca514806effd6b6b6475572dc88fe4b8b58d0a20ecf45e105"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "ExchangeTracking",
					"type": "event",
					"signature": "0x9b39fce028952c685c9c73b2f5f825f8e369fbdaca2bec73c4abb52c2abc123c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "releaseTime",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LockChanged",
					"type": "event",
					"signature": "0xac9f677e99a4df77ed2008bfe08de2e751aab75dce03486489e20585d79e91ce"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "PynthExchange",
					"type": "event",
					"signature": "0x4a0ae13ecb43c31fb105d00f9bb9bb573465fe44c0e86d51dc9b6c36090f6e28"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18821400"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2a905318"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "_LockStates",
					"outputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_lockTimes",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_lockAmounts",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f0bb6fa"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf5adc4f5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd99947de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9df95f9f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb07ecd2e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x42f760cb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnPynthsToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x54037f76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "burnForAddress",
							"type": "address"
						}
					],
					"name": "burnPynthsToTargetOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0ce4f2ef"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xedef719a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeRebate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f01a986"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeReclaim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xace88afd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "emitExchangeTracking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xddd03a3f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "emitPynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b99084c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee52a2f3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc836fa0a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x91e56b68"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x30ead760"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0e30963c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getLock",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "lockTime",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lockAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b9db4e6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1fce304d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8e2ac0ea"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						}
					],
					"name": "issueMaxPynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x28691a75"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x705a2369"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "issueForAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe58c3e86"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6203ed1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1249c58b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x666ed4f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8a1f76f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "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": "pUSD",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf9eea80c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57ad4663"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "pynthAddress",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9a2f3ad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b09280a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "resetLockWeek",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4e92c3fb"
				},
				{
					"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": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "defaultstamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "week",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "delayweek",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setLockWeek",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c7b9f69"
				},
				{
					"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": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x987757dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tokenState",
					"outputs": [
						{
							"internalType": "contract TokenState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe90dd9e2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd3a71202"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalIssuedPynthsExcludeEtherCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6980ba1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePERI",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaa1b8af8"
				}
			],
			"source": {
				"keccak256": "0x20dbd474f8d59b5a2ba50e20c59a1e5fdbd62fa4ac97d918dd5a9cfde01a2c2d",
				"urls": [
					"bzz-raw://8c5f7cc607e6675fe7bd9182f2dddceb18ecb7615779db52202a67354fc424c8",
					"dweb:/ipfs/QmP6ssy6Np2nHn9E8nDpTekXnEtgmF8M9wfyPhr71nQvcR"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Perifi.sol": "Perifi"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Perifi.sol": {
						"keccak256": "0x20dbd474f8d59b5a2ba50e20c59a1e5fdbd62fa4ac97d918dd5a9cfde01a2c2d",
						"urls": [
							"bzz-raw://8c5f7cc607e6675fe7bd9182f2dddceb18ecb7615779db52202a67354fc424c8",
							"dweb:/ipfs/QmP6ssy6Np2nHn9E8nDpTekXnEtgmF8M9wfyPhr71nQvcR"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrowV2": {
			"bytecode": "608060408190526303bfc400600c556224ea00600d5562093a80600e55630241ebdb60e61b815273__$58c62a0096148744468f14ce5088c1760d$__9063907af6c09060849060209060048186803b1580156200005b57600080fd5b505af415801562000070573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000969190810190620001f1565b6103e802601155348015620000aa57600080fd5b5060405162003eba38038062003eba833981016040819052620000cd91620001b2565b8181806249d400836001600160a01b038116620001075760405162461bcd60e51b8152600401620000fe9062000297565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200015491849062000271565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620003009050565b80516200019f81620002db565b92915050565b80516200019f81620002f5565b60008060408385031215620001c657600080fd5b6000620001d4858562000192565b9250506020620001e78582860162000192565b9150509250929050565b6000602082840312156200020457600080fd5b6000620002128484620001a5565b949350505050565b6200022581620002c7565b82525050565b6200022581620002b2565b600062000245601983620002a9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200028182856200021a565b6200029060208301846200022b565b9392505050565b602080825281016200019f8162000236565b90815260200190565b60006001600160a01b0382166200019f565b90565b60006200019f8260006200019f82620002b2565b620002e681620002b2565b8114620002f257600080fd5b50565b620002e681620002c4565b613baa80620003106000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780638da5cb5b116100ce578063b95375bd11610087578063b95375bd1461052e578063cd7b43dd14610541578063d621a16914610554578063e6b2cf6c14610567578063eac624891461056f578063f0b882ba1461058f5761027f565b80638da5cb5b146104dd578063910a326d146104e55780639ad6a7e5146104ed578063a0416ed3146104f5578063ae58254914610508578063b0fd59631461051b5761027f565b80637839b92f116101205780637839b92f146104665780637993e6991461047957806379ba50971461048c5780637cc1d7561461049457806380d46f58146104a7578063899ffef4146104c85761027f565b806370a082311461041057806371e780f31461042357806373307e401461042b578063741853601461043e578063773ab39f146104465761027f565b8063326a3cfb116101f557806346ba2d90116101b957806346ba2d90146103b257806353a47bb7146103ba5780635b85c200146103cf5780635eb8cf25146103e25780636154c343146103ea5780636dc05bd3146103fd5761027f565b8063326a3cfb1461035057806334c7fec91461036357806337088ffc146103765780634525aabc1461037e57806345626bd6146103915761027f565b8063178c565511610247578063178c5655146102f45780631bb47b44146102fc578063204b676a1461030f578063227d517a146103225780632af64bd31461033557806330104c5f1461033d5761027f565b8063018c6c551461028457806304f3bcec1461029957806305662986146102b75780630fcdefb7146102cc5780631627540c146102e1575b600080fd5b610297610292366004612c2b565b6105a2565b005b6102a16105ea565b6040516102ae91906137fc565b60405180910390f35b6102bf6105f9565b6040516102ae91906137b2565b6102d461061a565b6040516102ae91906137c0565b6102976102ef36600461292f565b610620565b610297610673565b61029761030a366004612a61565b6106d0565b6102d461031d36600461292f565b610721565b6102d461033036600461292f565b61073c565b6102bf61074e565b6102d461034b3660046129c0565b610865565b6102d461035e36600461292f565b6108c4565b610297610371366004612bcc565b6108d6565b6102d461098c565b61029761038c366004612c2b565b610992565b6103a461039f3660046129c0565b6109cf565b6040516102ae929190613a51565b6102d46109ff565b6103c2610a05565b6040516102ae9190613665565b6102976103dd366004612c2b565b610a14565b6102d4610a51565b6103a46103f83660046129c0565b610a57565b6102d461040b36600461296b565b610a91565b6102d461041e36600461292f565b610b3e565b6102d4610b59565b6103c261043936600461292f565b610b5f565b610297610b7a565b610459610454366004612a61565b610cd0565b6040516102ae9190613759565b61029761047436600461292f565b610e70565b610297610487366004612c2b565b61116e565b6102976111cd565b6102976104a236600461292f565b611269565b6104ba6104b536600461296b565b6113b9565b6040516102ae9291906139ab565b6104d0611642565b6040516102ae9190613748565b6103c2611710565b6102d461171f565b6102d4611725565b610297610503366004612a61565b61172b565b6102d46105163660046129c0565b6117f6565b6102d461052936600461292f565b611824565b61029761053c366004612b10565b611836565b61029761054f3660046129fa565b611a21565b610297610562366004612aae565b611a2f565b6102d4611bf0565b61058261057d366004612a61565b611bf6565b6040516102ae91906137a1565b61029761059d36600461296b565b611ce2565b6105aa61201e565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105df9083906137c0565b60405180910390a150565b6003546001600160a01b031681565b600042610613600e54600f5461204a90919063ffffffff16565b1190505b90565b600f5481565b61062861201e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105df908390613665565b61067b61201e565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106b890829063ffffffff61204a16565b6040516106c69291906139cb565b60405180910390a1565b6106d861206f565b6001600160a01b0316336001600160a01b0316146107115760405162461bcd60e51b81526004016107089061396b565b60405180910390fd5b61071c838383612089565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b6000606061075a611642565b905060005b815181101561085c57600082828151811061077657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a721916107c7918691016137c0565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610817919081019061294d565b6001600160a01b031614158061084257506000818152600460205260409020546001600160a01b0316155b156108535760009350505050610617565b5060010161075f565b50600191505090565b600061086f6127a0565b506001600160a01b0383166000908152600560209081526040808320858452825291829020825180840190935280546001600160401b0316835260010154908201526108ba816122a1565b9150505b92915050565b60086020526000908152604090205481565b6000805b8281101561097b57336000908152600560205260408120818686858181106108fe57fe5b90506020020135815260200190815260200160002090508060010154600014610972576040805180820190915281546001600160401b031681526001820154602082015260009061094e906122a1565b9050801561095e57600060018301555b61096e848263ffffffff61204a16565b9350505b506001016108da565b50801561071c5761071c33826122d2565b600d5481565b61099a61201e565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105df9083906137c0565b6005602090815260009283526040808420909152908252902080546001909101546001600160401b039091169082565b60025481565b6001546001600160a01b031681565b610a1c61201e565b60118190556040517f7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672906105df9083906137c0565b600c5481565b6001600160a01b039190911660009081526005602090815260408083209383529290522080546001909101546001600160401b0390911691565b6000805b82811015610b3657610aa56127a0565b6001600160a01b038616600090815260056020526040812090868685818110610aca57fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015610b2d576000610b17826122a1565b9050610b29848263ffffffff61204a16565b9350505b50600101610a95565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610b84611642565b905060005b8151811015610ccc576000828281518110610ba057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610be2919061365a565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0e9291906137dc565b60206040518083038186803b158015610c2657600080fd5b505afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5e919081019061294d565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cba90849084906137ce565b60405180910390a15050600101610b89565b5050565b6060828201838111610d16576040805160008082526020820190925290610d0d565b610cfa6127b7565b815260200190600190039081610cf25790505b50915050610e69565b6001600160a01b038516600090815260066020526040902054811115610d5157506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610d9057816020015b610d7d6127b7565b815260200190600190039081610d755790505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604081208054838a01908110610dc457fe5b90600052602060002001549050610dd96127a0565b506001600160a01b03891660009081526005602090815260408083208484528252918290208251808401845281546001600160401b03908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610e4e57fe5b60209081029190910101525050600101610d96565b50925050505b9392505050565b610e786123ed565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506001600160a01b038116600090815260106020526040902054610efd5760405162461bcd60e51b8152600401610708906138ab565b6001600160a01b038116600090815260086020526040902054610f325760405162461bcd60e51b81526004016107089061398b565b6011546001600160a01b03821660009081526010602052604090205411610fbd57610f9f816040518060400160405280426001600160401b0316815260200160106000866001600160a01b03166001600160a01b0316815260200190815260200160002054815250612407565b6001600160a01b03811660009081526010602052604081205561116b565b6000610fc7612465565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610ff29190613665565b60206040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190612c49565b905060015b81811161071c576110566127e1565b61105e612465565b6001600160a01b031663da7bd3e9858486036040518363ffffffff1660e01b815260040161108d92919061372d565b604080518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110dc9190810190612bae565b8051602082015191925090428210156110f75750505061071c565b61111e866040518060400160405280856001600160401b0316815260200184815250612407565b6001600160a01b038616600090815260106020526040902054611147908263ffffffff61247f16565b6001600160a01b038716600090815260106020526040902055505050600101611047565b50565b61117661201e565b600d548111156111985760405162461bcd60e51b81526004016107089061395b565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105df9083906137c0565b6001546001600160a01b031633146111f75760405162461bcd60e51b81526004016107089061381b565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261123a926001600160a01b0391821692911690613704565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156112925760405162461bcd60e51b8152600401610708906138fb565b61129a6105f9565b6112b65760405162461bcd60e51b8152600401610708906138db565b6112be6124a7565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016112e991906136a3565b60206040518083038186803b15801561130157600080fd5b505afa158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113399190810190612c49565b156113565760405162461bcd60e51b81526004016107089061399b565b336000818152600a60205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906113ae908490613665565b60405180910390a250565b600060606113c56124bb565b6001600160a01b0316336001600160a01b0316146113f55760405162461bcd60e51b81526004016107089061382b565b826114125760405162461bcd60e51b81526004016107089061390b565b60408051848152602080860282010190915283801561144b57816020015b6114386127a0565b8152602001906001900390816114305790505b50905060005b83811015611552576001600160a01b03861660009081526005602052604081208187878581811061147e57fe5b9050602002013581526020019081526020016000209050600081600101541115611549576040805180820190915281546001600160401b031681526001820154602082015283518490849081106114d157fe5b60200260200101819052506114f381600101548561204a90919063ffffffff16565b6001600160a01b038816600090815260056020526040812091955087878581811061151a57fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611451565b5081156115f35761156385836124e6565b61156b612545565b6001600160a01b031663a9059cbb6115816124bb565b846040518363ffffffff1660e01b815260040161159f92919061372d565b602060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f19190810190612c0d565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c85858542604051611632949392919061376a565b60405180910390a2935093915050565b60608061164d61255e565b60408051600380825260808201909252919250606091906020820183803883390190505090507f5065726946696e616e6365427269646765546f4f7074696d69736d0000000000816000815181106116a157fe5b6020026020010181815250506b526577617264457363726f7760a01b816001815181106116ca57fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106116f357fe5b60200260200101818152505061170982826125f2565b9250505090565b6000546001600160a01b031681565b600e5481565b60115481565b6001600160a01b0383166117515760405162461bcd60e51b81526004016107089061386b565b611759612545565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b815260040161178893929190613673565b602060405180830381600087803b1580156117a257600080fd5b505af11580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117da9190810190612c0d565b6107115760405162461bcd60e51b8152600401610708906138eb565b6006602052816000526040600020818154811061180f57fe5b90600052602060002001600091509150505481565b60106020526000908152604090205481565b60025442106118575760405162461bcd60e51b81526004016107089061394b565b61185f61201e565b84831461187e5760405162461bcd60e51b81526004016107089061397b565b84811461189d5760405162461bcd60e51b81526004016107089061389b565b60005b85811015611a185760008787838181106118b657fe5b90506020020160206118cb919081019061292f565b905060008686848181106118db57fe5b90506020020135905060008585858181106118f257fe5b6001600160a01b03861660009081526010602090815260409091205491029290920135925050156119355760405162461bcd60e51b81526004016107089061383b565b600b54611948908363ffffffff61204a16565b600b556001600160a01b038316600090815260086020526040902054611974908363ffffffff61204a16565b6001600160a01b0384166000908152600860209081526040808320939093556009905220546119a9908263ffffffff61204a16565b6001600160a01b0384166000818152600960209081526040808320949094556010905282902084905590517fa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d690611a05908590859042906139d9565b60405180910390a25050506001016118a0565b50505050505050565b611a296126ae565b50505050565b6002544210611a505760405162461bcd60e51b81526004016107089061394b565b611a5861201e565b828114611a775760405162461bcd60e51b81526004016107089061393b565b60005b83811015611be9576000858583818110611a9057fe5b9050602002016020611aa5919081019061292f565b90506000848484818110611ab557fe5b905060200201359050600060086000846001600160a01b03166001600160a01b031681526020019081526020016000205411611b035760405162461bcd60e51b81526004016107089061398b565b6001600160a01b038216600090815260106020526040902054611b385760405162461bcd60e51b8152600401610708906138ab565b611b5f826040518060400160405280426001600160401b0316815260200184815250612407565b6001600160a01b038216600090815260106020526040902054611b88908263ffffffff61247f16565b6001600160a01b038316600081815260106020526040908190209290925590517f73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc490611bd790429085906139cb565b60405180910390a25050600101611a7a565b5050505050565b60075481565b6001600160a01b03831660009081526006602052604090205460609083830190811115611c3857506001600160a01b0384166000908152600660205260409020545b838111611c55576040805160008082526020820190925290610d0d565b604080518583038082526020808202830101909252606090828015611c84578160200160208202803883390190505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604090208054828901908110611cb857fe5b9060005260206000200154828281518110611ccf57fe5b6020908102919091010152600101611c8a565b611cea6105f9565b611d065760405162461bcd60e51b8152600401610708906138db565b611d0e6124a7565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611d39919061371f565b60206040518083038186803b158015611d5157600080fd5b505afa158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d899190810190612c49565b15611da65760405162461bcd60e51b81526004016107089061399b565b6001600160a01b038381166000908152600a6020526040902054163314611ddf5760405162461bcd60e51b81526004016107089061392b565b6000805b82811015611f5e57611df36127a0565b6001600160a01b038616600090815260056020526040812090868685818110611e1857fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015611f55573360009081526005602052604081208291878786818110611e7757fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff19166001600160401b0390911617815591810151600190920191909155810151611ec990849061204a565b336000908152600660205260409020909350858584818110611ee757fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b0388168252600590526040812090868685818110611f2657fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611de3565b506001600160a01b038416600090815260086020526040902054611f88908263ffffffff61247f16565b6001600160a01b038516600090815260086020526040808220929092553381522054611fba908263ffffffff61204a16565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c91612010919085908890889042906136bd565b60405180910390a250505050565b6000546001600160a01b031633146120485760405162461bcd60e51b81526004016107089061391b565b565b600082820183811015610e695760405162461bcd60e51b81526004016107089061384b565b600061208466119959541bdbdb60ca1b6126c6565b905090565b816120a65760405162461bcd60e51b8152600401610708906138bb565b6000811180156120b85750600c548111155b6120d45760405162461bcd60e51b81526004016107089061385b565b600b546120e7908363ffffffff61204a16565b600b556120f2612545565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161211d9190613665565b60206040518083038186803b15801561213557600080fd5b505afa158015612149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061216d9190810190612c49565b600b54111561218e5760405162461bcd60e51b8152600401610708906138cb565b6001600160a01b038316600090815260086020526040902054428201906121bb908463ffffffff61204a16565b6001600160a01b03851660008181526008602090815260408083209490945560078054855180870187526001600160401b0388811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461224e9161204a565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0906122929042908890889087906139f4565b60405180910390a25050505050565b60008082602001516000146108be5782516001600160401b03164210156122c9576000610e69565b50506020015190565b6122dc82826124e6565b6001600160a01b038216600090815260096020526040902054612305908263ffffffff61204a16565b6001600160a01b038316600090815260096020526040902055612326612545565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161235392919061372d565b602060405180830381600087803b15801561236d57600080fd5b505af1158015612381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123a59190810190612c0d565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc642836040516123e19291906139cb565b60405180910390a25050565b60006120846b53797374656d53746174757360a01b6126c6565b60006124138383612723565b602083015183516040519293506001600160a01b038616927fa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb92612458928692613a29565b60405180910390a2505050565b60006120846b526577617264457363726f7760a01b6126c6565b6000828211156124a15760405162461bcd60e51b81526004016107089061387b565b50900390565b60006120846524b9b9bab2b960d11b6126c6565b60006120847f5065726946696e616e6365427269646765546f4f7074696d69736d00000000006126c6565b600b546124f9908263ffffffff61247f16565b600b556001600160a01b038216600090815260086020526040902054612525908263ffffffff61247f16565b6001600160a01b0390921660009081526008602052604090209190915550565b60006120846a5065726946696e616e636560a81b6126c6565b604080516003808252608082019092526060916020820183803883390190505090506a5065726946696e616e636560a81b8160008151811061259c57fe5b60200260200101818152505066119959541bdbdb60ca1b816001815181106125c057fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106125e357fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612622578160200160208202803883390190505b50905060005b83518110156126645783818151811061263d57fe5b602002602001015182828151811061265157fe5b6020908102919091010152600101612628565b5060005b82518110156126a75782818151811061267d57fe5b602002602001015182828651018151811061269457fe5b6020908102919091010152600101612668565b5092915050565b60405162461bcd60e51b81526004016107089061388b565b60008181526004602090815260408083205490516001600160a01b0390911691821515916126f69186910161363a565b604051602081830303815290604052906126a75760405162461bcd60e51b8152600401610708919061380a565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff19166001600160401b0390911617815587830151600191820155938352600682528220805480850182559083529082200183905592546127969161204a565b6007559392505050565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356108be81613b41565b80516108be81613b41565b60008083601f84011261282757600080fd5b5081356001600160401b0381111561283e57600080fd5b60208301915083602082028301111561285657600080fd5b9250929050565b60008083601f84011261286f57600080fd5b5081356001600160401b0381111561288657600080fd5b60208301915083604082028301111561285657600080fd5b600082601f8301126128af57600080fd5b60026128c26128bd82613a85565b613a5f565b915081838560208402820111156128d857600080fd5b60005b8381101561290457816128ee8882612924565b84525060209283019291909101906001016128db565b5050505092915050565b80516108be81613b55565b80356108be81613b5e565b80516108be81613b5e565b60006020828403121561294157600080fd5b60006108ba84846127ff565b60006020828403121561295f57600080fd5b60006108ba848461280a565b60008060006040848603121561298057600080fd5b600061298c86866127ff565b93505060208401356001600160401b038111156129a857600080fd5b6129b486828701612815565b92509250509250925092565b600080604083850312156129d357600080fd5b60006129df85856127ff565b92505060206129f085828601612919565b9150509250929050565b60008060008060608587031215612a1057600080fd5b6000612a1c87876127ff565b9450506020612a2d87828801612919565b93505060408501356001600160401b03811115612a4957600080fd5b612a558782880161285d565b95989497509550505050565b600080600060608486031215612a7657600080fd5b6000612a8286866127ff565b9350506020612a9386828701612919565b9250506040612aa486828701612919565b9150509250925092565b60008060008060408587031215612ac457600080fd5b84356001600160401b03811115612ada57600080fd5b612ae687828801612815565b945094505060208501356001600160401b03811115612b0457600080fd5b612a5587828801612815565b60008060008060008060608789031215612b2957600080fd5b86356001600160401b03811115612b3f57600080fd5b612b4b89828a01612815565b965096505060208701356001600160401b03811115612b6957600080fd5b612b7589828a01612815565b945094505060408701356001600160401b03811115612b9357600080fd5b612b9f89828a01612815565b92509250509295509295509295565b600060408284031215612bc057600080fd5b60006108ba848461289e565b60008060208385031215612bdf57600080fd5b82356001600160401b03811115612bf557600080fd5b612c0185828601612815565b92509250509250929050565b600060208284031215612c1f57600080fd5b60006108ba848461290e565b600060208284031215612c3d57600080fd5b60006108ba8484612919565b600060208284031215612c5b57600080fd5b60006108ba8484612924565b6000612c738383612e40565b505060200190565b6000612c8783836135cd565b505060600190565b6000612c9b8383613604565b505060400190565b612cac81613ae2565b82525050565b612cac81613aba565b6000612cc682613aa8565b612cd08185613aac565b9350612cdb83613aa2565b8060005b83811015612d09578151612cf38882612c67565b9750612cfe83613aa2565b925050600101612cdf565b509495945050505050565b6000612d1f82613aa8565b612d298185613aac565b9350612d3483613aa2565b8060005b83811015612d09578151612d4c8882612c7b565b9750612d5783613aa2565b925050600101612d38565b6000612d6d82613aa8565b612d778185613aac565b9350612d8283613aa2565b8060005b83811015612d09578151612d9a8882612c8f565b9750612da583613aa2565b925050600101612d86565b6000612dbc8385613aac565b93506001600160fb1b03831115612dd257600080fd5b602083029250612de3838584613aff565b50500190565b6000612df482613aa8565b612dfe8185613aac565b9350612e0983613aa2565b8060005b83811015612d09578151612e218882612c67565b9750612e2c83613aa2565b925050600101612e0d565b612cac81613ac5565b612cac81610617565b612cac612e5582610617565b610617565b612cac81613ae9565b6000612e6e82613aa8565b612e788185613aac565b9350612e88818560208601613b0b565b612e9181613b37565b9093019392505050565b6000612ea8603583613aac565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612eff603b83613aac565b7f43616e206f6e6c7920626520696e766f6b6564206279205065726946696e616e81527f6365427269646765546f4f7074696d69736d20636f6e74726163740000000000602082015260400192915050565b6000612f5e602483613aac565b7f4163636f756e74206d6967726174696f6e2069732070656e64696e6720616c728152636561647960e01b602082015260400192915050565b6000612fa4601b83613aac565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612fdd603383613aac565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000613032602483613aac565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b6000613078601e83613aac565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006130b1601b83613aac565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b60006130ea603183613aac565b7f4e756d626572206f66206163636f756e747320616e642076657374656442616c8152700c2dcc6cae640c8dedc4ee840dac2e8c6d607b1b602082015260400192915050565b600061313d601b83613aac565b7f4e6f20657363726f77206d6967726174696f6e2070656e64696e670000000000815260200192915050565b6000613176601183613ab5565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131a3601783613aac565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b60006131dc604783613aac565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b600061324b601983613aac565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000613284601583613aac565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b60006132b5602483613aac565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b60006132fb601283613aac565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b6000613329602f83613aac565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061337a602183613aac565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006133bd602983613aac565b7f4163636f756e7420616e6420657363726f77416d6f756e7473204c656e677468815268040dad2e6dac2e8c6d60bb1b602082015260400192915050565b6000613408602983613aac565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e206475728152680696e672073657475760bc1b602082015260400192915050565b631c1554d160e21b9052565b600061345f601c83613aac565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b6000613498601983613ab5565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006134d1602883613aac565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061351b602b83613aac565b7f4e756d626572206f66206163636f756e747320616e642062616c616e6365732081526a0c8dedc4ee840dac2e8c6d60ab1b602082015260400192915050565b6000613568601b83613aac565b7f4164647265737320657363726f772062616c616e636520697320300000000000815260200192915050565b60006135a1601f83613aac565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906135de8482613631565b5060208201516135f16020850182612e40565b506040820151611a296040850182612e40565b805160408301906136158482613631565b506020820151611a296020850182612e40565b612cac81613af4565b612cac81613ad6565b600061364582613169565b91506136518284612e49565b50602001919050565b60006136458261348b565b602081016108be8284612cb2565b606081016136818286612ca3565b61368e6020830185612cb2565b61369b6040830184612e40565b949350505050565b604081016136b18284612ca3565b6108be60208301613446565b608081016136cb8288612ca3565b6136d86020830187612e40565b81810360408301526136eb818587612db0565b90506136fa6060830184612e40565b9695505050505050565b604081016137128285612cb2565b610e696020830184612cb2565b604081016136b18284612cb2565b6040810161373b8285612cb2565b610e696020830184612e40565b60208082528101610e698184612cbb565b60208082528101610e698184612d14565b6060808252810161377c818688612db0565b905061378b6020830185612e40565b6137986040830184612e40565b95945050505050565b60208082528101610e698184612de9565b602081016108be8284612e37565b602081016108be8284612e40565b604081016137128285612e40565b604081016137ea8285612e40565b818103602083015261369b8184612e63565b602081016108be8284612e5a565b60208082528101610e698184612e63565b602080825281016108be81612e9b565b602080825281016108be81612ef2565b602080825281016108be81612f51565b602080825281016108be81612f97565b602080825281016108be81612fd0565b602080825281016108be81613025565b602080825281016108be8161306b565b602080825281016108be816130a4565b602080825281016108be816130dd565b602080825281016108be81613130565b602080825281016108be81613196565b602080825281016108be816131cf565b602080825281016108be8161323e565b602080825281016108be81613277565b602080825281016108be816132a8565b602080825281016108be816132ee565b602080825281016108be8161331c565b602080825281016108be8161336d565b602080825281016108be816133b0565b602080825281016108be816133fb565b602080825281016108be81613452565b602080825281016108be816134c4565b602080825281016108be8161350e565b602080825281016108be8161355b565b602080825281016108be81613594565b604081016139b98285612e40565b818103602083015261369b8184612d62565b6040810161373b8285612e40565b606081016139e78286612e40565b61368e6020830185612e40565b60808101613a028287612e40565b613a0f6020830186612e40565b613a1c6040830185612e40565b6137986060830184612e40565b60608101613a378286612e40565b613a446020830185612e40565b61369b6040830184613628565b6040810161373b8285613631565b6040518181016001600160401b0381118282101715613a7d57600080fd5b604052919050565b60006001600160401b03821115613a9b57600080fd5b5060200290565b60200190565b5190565b90815260200190565b919050565b60006108be82613aca565b151590565b6001600160a01b031690565b6001600160401b031690565b60006108be825b60006108be82613aba565b60006108be82613ad6565b82818337506000910152565b60005b83811015613b26578181015183820152602001613b0e565b83811115611a295750506000910152565b601f01601f191690565b613b4a81613aba565b811461116b57600080fd5b613b4a81613ac5565b613b4a8161061756fea365627a7a7231582075065067597649952f987b8688e7b64c6c8d712dc51ee92e88398b62f6a5a8476c6578706572696d656e74616cf564736f6c63430005110040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmountMerged",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "AccountMerged",
					"type": "event",
					"signature": "0x48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "AccountMergingDurationUpdated",
					"type": "event",
					"signature": "0x723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "AccountMergingStarted",
					"type": "event",
					"signature": "0xceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd34445"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAmountMigrated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "BurnedForMigrationToL2",
					"type": "event",
					"signature": "0x929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "endTime",
							"type": "uint256"
						}
					],
					"name": "ImportedVestingEntry",
					"type": "event",
					"signature": "0xa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"name": "ImportedVestingSchedule",
					"type": "event",
					"signature": "0x73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxAccountMergingDurationUpdated",
					"type": "event",
					"signature": "0xe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "MaxEscrowDurationUpdated",
					"type": "event",
					"signature": "0x6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newAmount",
							"type": "uint256"
						}
					],
					"name": "MigrateEntriesThresholdAmountUpdated",
					"type": "event",
					"signature": "0x7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "vestedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "MigratedAccountEscrow",
					"type": "event",
					"signature": "0xa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "NominateAccountToMerge",
					"type": "event",
					"signature": "0xcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "VestingEntryCreated",
					"type": "event",
					"signature": "0x2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x910a326d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingIsOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05662986"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountMergingStartTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0fcdefb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae582549"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "burnForMigration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "escrowedAccountBalance",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x80d46f58"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "deposit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "createEscrowEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa0416ed3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getAccountVestingEntryIDs",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeac62489"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntry",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6154c343"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "entryID",
							"type": "uint256"
						}
					],
					"name": "getVestingEntryClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x30104c5f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6dc05bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "pageSize",
							"type": "uint256"
						}
					],
					"name": "getVestingSchedules",
					"outputs": [
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "entryID",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntryWithID[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x773ab39f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "",
							"type": "tuple[]"
						}
					],
					"name": "importVestingEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd7b43dd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "escrowAmounts",
							"type": "uint256[]"
						}
					],
					"name": "importVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd621a169"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxAccountMergingDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37088ffc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "max_duration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5eb8cf25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "accountToMerge",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "mergeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf0b882ba"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "escrowBalances",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "vestedBalances",
							"type": "uint256[]"
						}
					],
					"name": "migrateAccountEscrowBalances",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb95375bd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "migrateEntriesThresholdAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ad6a7e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "addressToMigrate",
							"type": "address"
						}
					],
					"name": "migrateVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7839b92f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nextEntryId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe6b2cf6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "nominateAccountToMerge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7cc1d756"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "nominatedReceiver",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x73307e40"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setAccountMergingDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7993e699"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxAccountMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x018c6c55"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "duration",
							"type": "uint256"
						}
					],
					"name": "setMaxEscrowDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4525aabc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "setMigrateEntriesThresholdAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5b85c200"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "startMergingWindow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x178c5655"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalBalancePendingMigration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb0fd5963"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalEscrowedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x326a3cfb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalEscrowedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x71e780f3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "entryIDs",
							"type": "uint256[]"
						}
					],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x34c7fec9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "endTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "escrowAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45626bd6"
				}
			],
			"source": {
				"keccak256": "0x5191de2d064eca8109aa46e9b466d3efa2297cefe11cc79ff85fa1a2c7770cb4",
				"urls": [
					"bzz-raw://25a726c0e6935bf593d22ad2bf0cea1787b7d6a6a071d918354c43eaa398ed32",
					"dweb:/ipfs/QmekfZgxRjb3pFDuKUGHyPJkLd3Cfgpb5YrpBGrQbckRmg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrowV2.sol": "RewardEscrowV2"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrowV2.sol": {
						"keccak256": "0x5191de2d064eca8109aa46e9b466d3efa2297cefe11cc79ff85fa1a2c7770cb4",
						"urls": [
							"bzz-raw://25a726c0e6935bf593d22ad2bf0cea1787b7d6a6a071d918354c43eaa398ed32",
							"dweb:/ipfs/QmekfZgxRjb3pFDuKUGHyPJkLd3Cfgpb5YrpBGrQbckRmg"
						]
					}
				},
				"version": 1
			}
		}
	}
}
