{
	"targets": {
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0x79d8Da4Cb3b2876d18dD9d76F7A557a29C35ADa0",
			"source": "EscrowChecker",
			"link": "https://kovan.etherscan.io/address/0x79d8Da4Cb3b2876d18dD9d76F7A557a29C35ADa0",
			"timestamp": "2021-06-03T02:02:16.728Z",
			"txn": "",
			"network": "kovan"
		},
		"Depot": {
			"name": "Depot",
			"address": "0x71afb1b2A9AD48B42D190A844F2eD27B150B496b",
			"source": "Depot",
			"link": "https://kovan.etherscan.io/address/0x71afb1b2A9AD48B42D190A844F2eD27B150B496b",
			"timestamp": "2021-06-03T02:05:17.318Z",
			"txn": "",
			"network": "kovan"
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0x3C07adB7Cb14826e8F9e4f4E06Ab43483edaDC16",
			"source": "ExchangeRates",
			"link": "https://kovan.etherscan.io/address/0x3C07adB7Cb14826e8F9e4f4E06Ab43483edaDC16",
			"timestamp": "2021-06-03T01:59:02.212Z",
			"txn": "",
			"network": "kovan"
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0x522c1e7aE14d0c1fCdfC2d1eE8Bde44112b2b78C",
			"source": "FeePool",
			"link": "https://kovan.etherscan.io/address/0x522c1e7aE14d0c1fCdfC2d1eE8Bde44112b2b78C",
			"timestamp": "2021-06-03T02:00:45.249Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0xc7E015132cb1eD65F06C980bBE3cE70979Ca9e66",
			"source": "Proxy",
			"link": "https://kovan.etherscan.io/address/0xc7E015132cb1eD65F06C980bBE3cE70979Ca9e66",
			"timestamp": "2021-06-03T01:59:32.966Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypAUD": {
			"name": "ProxypAUD",
			"address": "0x97162405d8904ed42f10b7F940A42c506262411c",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x97162405d8904ed42f10b7F940A42c506262411c",
			"timestamp": "2021-03-29T23:49:32.303Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypBTC": {
			"name": "ProxypBTC",
			"address": "0xdE3Fa88b5098c8D676B36fd439217732653aB64c",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xdE3Fa88b5098c8D676B36fd439217732653aB64c",
			"timestamp": "2021-05-04T08:54:34.391Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypCHF": {
			"name": "ProxypCHF",
			"address": "0xfDd2fAd6CfF60feAAA5A306aad19b5da072f884c",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xfDd2fAd6CfF60feAAA5A306aad19b5da072f884c",
			"timestamp": "2021-03-29T23:51:40.230Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypEUR": {
			"name": "ProxypEUR",
			"address": "0x0212c71A52580D33D8a91f13355646fEBdFc3c5f",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x0212c71A52580D33D8a91f13355646fEBdFc3c5f",
			"timestamp": "2021-03-29T23:47:55.799Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypGBP": {
			"name": "ProxypGBP",
			"address": "0x51a0DBff7F74B961055b4A10360F5C2F3fa8594C",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x51a0DBff7F74B961055b4A10360F5C2F3fa8594C",
			"timestamp": "2021-03-29T23:50:20.271Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypJPY": {
			"name": "ProxypJPY",
			"address": "0x501205540e8e182A0d010043e16112c352719258",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x501205540e8e182A0d010043e16112c352719258",
			"timestamp": "2021-03-29T23:48:44.073Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyERC20pUSD": {
			"name": "ProxyERC20pUSD",
			"address": "0x13DEd21bed9d7045aE4Ad0A08b4057eafFB3167D",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x13DEd21bed9d7045aE4Ad0A08b4057eafFB3167D",
			"timestamp": "2021-05-04T08:50:16.910Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypXAG": {
			"name": "ProxypXAG",
			"address": "0x88De48044d6a0338F24A3202e11169F41235f1F6",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x88De48044d6a0338F24A3202e11169F41235f1F6",
			"timestamp": "2021-03-29T23:53:16.349Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypXAU": {
			"name": "ProxypXAU",
			"address": "0xa994e9ba3C8f775B945687FA0dd14A61b9BBf0c9",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xa994e9ba3C8f775B945687FA0dd14A61b9BBf0c9",
			"timestamp": "2021-03-29T23:52:28.407Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyPeriFinance": {
			"name": "ProxyPeriFinance",
			"address": "0x8e7dBD7cbfA06091b038b36372bC2adC6b4D7bD2",
			"source": "Proxy",
			"link": "https://kovan.etherscan.io/address/0x8e7dBD7cbfA06091b038b36372bC2adC6b4D7bD2",
			"timestamp": "2021-06-03T02:01:25.509Z",
			"txn": "",
			"network": "kovan"
		},
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0xa3F4D4F07A827d8E926c55B83be13B9E76B3a0cA",
			"source": "SafeDecimalMath",
			"link": "https://kovan.etherscan.io/address/0xa3F4D4F07A827d8E926c55B83be13B9E76B3a0cA",
			"timestamp": "2021-06-03T01:58:20.904Z",
			"txn": "",
			"network": "kovan"
		},
		"PeriFinance": {
			"name": "PeriFinance",
			"address": "0xf36679061050Edd2AD903E2D073F78CAD207d9A7",
			"source": "PeriFinance",
			"link": "https://kovan.etherscan.io/address/0xf36679061050Edd2AD903E2D073F78CAD207d9A7",
			"timestamp": "2021-06-03T02:01:17.649Z",
			"txn": "",
			"network": "kovan"
		},
		"PeriFinanceEscrow": {
			"name": "PeriFinanceEscrow",
			"address": "0x1CF6C8546f908442274407DAec3cd489307fd40e",
			"source": "PeriFinanceEscrow",
			"link": "https://kovan.etherscan.io/address/0x1CF6C8546f908442274407DAec3cd489307fd40e",
			"timestamp": "2021-06-03T01:59:21.343Z",
			"txn": "",
			"network": "kovan"
		},
		"PeriFinanceState": {
			"name": "PeriFinanceState",
			"address": "0x216aE1d9949a4Be1f2F6e9Aee3EBeb1710261DEa",
			"source": "PeriFinanceState",
			"link": "https://kovan.etherscan.io/address/0x216aE1d9949a4Be1f2F6e9Aee3EBeb1710261DEa",
			"timestamp": "2021-06-03T01:59:25.445Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpAUD": {
			"name": "PynthpAUD",
			"address": "0x0369B9532Db2a308CA5270ad0E28aF657717dDA2",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0x0369B9532Db2a308CA5270ad0E28aF657717dDA2",
			"timestamp": "2021-03-29T23:49:40.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xa819ed6e9139e481f2cff9ba5ff8c91b2a29b0b491286c80cfc74ed8bdd6627e",
			"network": "kovan"
		},
		"PynthpBTC": {
			"name": "PynthpBTC",
			"address": "0x3923a822Dd8CdBa9c24E54913E30aFE4803DF9C5",
			"source": "MultiCollateralPynth",
			"link": "https://kovan.etherscan.io/address/0x3923a822Dd8CdBa9c24E54913E30aFE4803DF9C5",
			"timestamp": "2021-05-04T08:55:27.552Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpCHF": {
			"name": "PynthpCHF",
			"address": "0xFa652124ff0B3d36Ce830833eCF24F1695F6990E",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0xFa652124ff0B3d36Ce830833eCF24F1695F6990E",
			"timestamp": "2021-03-29T23:51:48.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x5e48c7b44aba50f20271379356e5e978a148ae2880441994f7cf3a2ca71d2f88",
			"network": "kovan"
		},
		"PynthpEUR": {
			"name": "PynthpEUR",
			"address": "0xE77fE0db065C7E1EdeE966aA0CBD41d3cF63E282",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0xE77fE0db065C7E1EdeE966aA0CBD41d3cF63E282",
			"timestamp": "2021-03-29T23:48:04.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x3d03de3ff94529ca4ccfa303bf522c52deeedca599252b93778c18f76cf305b4",
			"network": "kovan"
		},
		"PynthpGBP": {
			"name": "PynthpGBP",
			"address": "0xfc1113E81D8b5AcF5E1F56a89eBaa9C320199Ff2",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0xfc1113E81D8b5AcF5E1F56a89eBaa9C320199Ff2",
			"timestamp": "2021-03-29T23:50:36.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xcc37fe8976d312919d2e8c181959224b292e1819c06e85558c8e0351552930dc",
			"network": "kovan"
		},
		"PynthpJPY": {
			"name": "PynthpJPY",
			"address": "0x53C365F47F4294F2c57CCc588a4b7DE03299ebB9",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0x53C365F47F4294F2c57CCc588a4b7DE03299ebB9",
			"timestamp": "2021-03-29T23:48:52.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xf25e4e8afcb7663026b0f76d2c75d85f940c4e6f999efc95b932b710199d65de",
			"network": "kovan"
		},
		"PynthpUSD": {
			"name": "PynthpUSD",
			"address": "0x5fC544E9ad9d619f8CE49e73FB2558Bcd397a3E1",
			"source": "MultiCollateralPynth",
			"link": "https://kovan.etherscan.io/address/0x5fC544E9ad9d619f8CE49e73FB2558Bcd397a3E1",
			"timestamp": "2021-06-03T02:03:01.361Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpXAG": {
			"name": "PynthpXAG",
			"address": "0x456BA61E70ed8755F4741fb959FBF9dc01181802",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0x456BA61E70ed8755F4741fb959FBF9dc01181802",
			"timestamp": "2021-03-29T23:53:24.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xf64ed6e5e93bcc886fc8bfac7d751abca7c77fa768dedc9fa7fe5a01d761885f",
			"network": "kovan"
		},
		"PynthpXAU": {
			"name": "PynthpXAU",
			"address": "0xC27a283eecEf7093d91b7c9d423e20F19d62B5d8",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0xC27a283eecEf7093d91b7c9d423e20F19d62B5d8",
			"timestamp": "2021-03-29T23:52:36.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x83074d887a0244d4c13291b19142ac3a9af3459066d34b1e3010b542363aec5e",
			"network": "kovan"
		},
		"TokenStatepAUD": {
			"name": "TokenStatepAUD",
			"address": "0x425A0952c3C27c5B8691b3661909d1618403C22C",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x425A0952c3C27c5B8691b3661909d1618403C22C",
			"timestamp": "2021-03-29T23:49:24.277Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepBTC": {
			"name": "TokenStatepBTC",
			"address": "0xc9fE32B66071326B3fAbd30F3e3bB60E62AC8f2F",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xc9fE32B66071326B3fAbd30F3e3bB60E62AC8f2F",
			"timestamp": "2021-05-04T08:54:27.208Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepCHF": {
			"name": "TokenStatepCHF",
			"address": "0x21FE1d88EF76E6bc33573225290016ca015e7cCE",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x21FE1d88EF76E6bc33573225290016ca015e7cCE",
			"timestamp": "2021-03-29T23:51:32.197Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepEUR": {
			"name": "TokenStatepEUR",
			"address": "0xcCbD3Ea5DC3Fd1cA735ba13ceDC6ea3c127c48f4",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xcCbD3Ea5DC3Fd1cA735ba13ceDC6ea3c127c48f4",
			"timestamp": "2021-03-29T23:47:48.668Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepGBP": {
			"name": "TokenStatepGBP",
			"address": "0xf0139467EC2508935d43A8fD763E99683f9Ec54B",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xf0139467EC2508935d43A8fD763E99683f9Ec54B",
			"timestamp": "2021-03-29T23:50:12.225Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepJPY": {
			"name": "TokenStatepJPY",
			"address": "0x9198D6330e46F62Ded5675465bbf4Cad9b0e7C51",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x9198D6330e46F62Ded5675465bbf4Cad9b0e7C51",
			"timestamp": "2021-03-29T23:48:35.926Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepUSD": {
			"name": "TokenStatepUSD",
			"address": "0x32Eb20010131A229F0225b9DbdCcDc131379E510",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x32Eb20010131A229F0225b9DbdCcDc131379E510",
			"timestamp": "2021-06-03T02:02:49.814Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepXAG": {
			"name": "TokenStatepXAG",
			"address": "0x920aa423AF4ef0B60148f310a3aA82cb1BdF7474",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x920aa423AF4ef0B60148f310a3aA82cb1BdF7474",
			"timestamp": "2021-03-29T23:53:08.303Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepXAU": {
			"name": "TokenStatepXAU",
			"address": "0x00Ce24a3138a6ADd9F7873cBE05290832f4C133b",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x00Ce24a3138a6ADd9F7873cBE05290832f4C133b",
			"timestamp": "2021-03-29T23:52:20.369Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatePeriFinance": {
			"name": "TokenStatePeriFinance",
			"address": "0xB82BEc7BB08ae041582Bb623f205AFA1D66c2fA8",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xB82BEc7BB08ae041582Bb623f205AFA1D66c2fA8",
			"timestamp": "2021-06-03T02:01:13.472Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepETH": {
			"name": "TokenStatepETH",
			"address": "0x2B62529eB47B571C87B016862A8207A63Dd86473",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x2B62529eB47B571C87B016862A8207A63Dd86473",
			"timestamp": "2021-05-04T08:56:06.050Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypETH": {
			"name": "ProxypETH",
			"address": "0x78863D0FdFb6082D5b8f9F7F2bbD08bF3D59A7B9",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x78863D0FdFb6082D5b8f9F7F2bbD08bF3D59A7B9",
			"timestamp": "2021-05-04T08:56:53.784Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpETH": {
			"name": "PynthpETH",
			"address": "0x3BdC44751C32f3a4b310358cC060A76F5201bFD5",
			"source": "MultiCollateralPynth",
			"link": "https://kovan.etherscan.io/address/0x3BdC44751C32f3a4b310358cC060A76F5201bFD5",
			"timestamp": "2021-05-04T08:58:17.132Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepBNB": {
			"name": "TokenStatepBNB",
			"address": "0xFE6fa6a7bfBCf6e587B21de2D57F3A1d51a13417",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xFE6fa6a7bfBCf6e587B21de2D57F3A1d51a13417",
			"timestamp": "2021-03-29T23:55:48.506Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypBNB": {
			"name": "ProxypBNB",
			"address": "0xAfBe4319c6ab72960617BF1232670Ff3bBD477D1",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xAfBe4319c6ab72960617BF1232670Ff3bBD477D1",
			"timestamp": "2021-03-29T23:55:55.705Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpBNB": {
			"name": "PynthpBNB",
			"address": "0x210F2cf889B38838A44e0B6a50B1D11F091fd805",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x210F2cf889B38838A44e0B6a50B1D11F091fd805",
			"timestamp": "2021-03-29T23:56:04.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x9eef98702dc522c6a296f019d7ef33d6acf34ceeaa45380491d742e04ed2d787",
			"network": "kovan"
		},
		"TokenStateiBTC": {
			"name": "TokenStateiBTC",
			"address": "0xe89eE2DcfE90AC8E5cC497AC14C63bc5B4B6f638",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xe89eE2DcfE90AC8E5cC497AC14C63bc5B4B6f638",
			"timestamp": "2021-05-13T08:46:32.854Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiBTC": {
			"name": "ProxyiBTC",
			"address": "0xAFD49162299a1f4616CF5b837BA0C4B4F816cacD",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xAFD49162299a1f4616CF5b837BA0C4B4F816cacD",
			"timestamp": "2021-05-13T08:46:39.489Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiBTC": {
			"name": "PynthiBTC",
			"address": "0xF5f1881935f75D51B6B43FEe1199639C72C674a8",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0xF5f1881935f75D51B6B43FEe1199639C72C674a8",
			"timestamp": "2021-05-13T08:46:46.073Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStateiETH": {
			"name": "TokenStateiETH",
			"address": "0x97581B29BdC396c5f76C00D29809D645B4b6373F",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x97581B29BdC396c5f76C00D29809D645B4b6373F",
			"timestamp": "2021-05-13T08:49:09.007Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiETH": {
			"name": "ProxyiETH",
			"address": "0x9c365266EF9534E1177B8b2505d6ec7DF3A187d7",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x9c365266EF9534E1177B8b2505d6ec7DF3A187d7",
			"timestamp": "2021-05-13T08:49:15.603Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiETH": {
			"name": "PynthiETH",
			"address": "0xC81Adf317341f8F6530479C9716555e9b55B323C",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0xC81Adf317341f8F6530479C9716555e9b55B323C",
			"timestamp": "2021-05-13T08:49:27.379Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStateiBNB": {
			"name": "TokenStateiBNB",
			"address": "0x1e6A337285d7DF0eC5eD31030092270146580aa0",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x1e6A337285d7DF0eC5eD31030092270146580aa0",
			"timestamp": "2021-03-30T00:08:04.483Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiBNB": {
			"name": "ProxyiBNB",
			"address": "0xD8495B80d7df5Ba619499089Cde877d6F0D45901",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xD8495B80d7df5Ba619499089Cde877d6F0D45901",
			"timestamp": "2021-03-30T00:08:11.818Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiBNB": {
			"name": "PynthiBNB",
			"address": "0xaA2fC9E4A219A33C212b66e33349f0D12820Bbc4",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0xaA2fC9E4A219A33C212b66e33349f0D12820Bbc4",
			"timestamp": "2021-03-30T00:08:20.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x503fec8e432ff99211a20079119b428155c5327233d0b502f420415cb46729a7",
			"network": "kovan"
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0x085aCdcBD70Bb85ffb89DEC300243F38a1F7ACCf",
			"source": "RewardEscrow",
			"link": "https://kovan.etherscan.io/address/0x085aCdcBD70Bb85ffb89DEC300243F38a1F7ACCf",
			"timestamp": "2021-06-03T01:59:09.296Z",
			"txn": "",
			"network": "kovan"
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0x80226667B76936F856F60Ed1460b6D904De4564d",
			"source": "FeePoolState",
			"link": "https://kovan.etherscan.io/address/0x80226667B76936F856F60Ed1460b6D904De4564d",
			"timestamp": "2021-06-03T02:01:02.109Z",
			"txn": "",
			"network": "kovan"
		},
		"SupplySchedule": {
			"name": "SupplySchedule",
			"address": "0xfFF86092283aDe83C638260af21D4d4eE3328d26",
			"source": "SupplySchedule",
			"link": "https://kovan.etherscan.io/address/0xfFF86092283aDe83C638260af21D4d4eE3328d26",
			"timestamp": "2021-06-03T02:02:28.770Z",
			"txn": "",
			"network": "kovan"
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0x741cebAd46F53F53D75FFBd74837F2609201272B",
			"source": "DelegateApprovals",
			"link": "https://kovan.etherscan.io/address/0x741cebAd46F53F53D75FFBd74837F2609201272B",
			"timestamp": "2021-06-03T01:59:40.861Z",
			"txn": "",
			"network": "kovan"
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0x1B26D748f6F66ad94A844702CaFd3351f404547c",
			"source": "FeePoolEternalStorage",
			"link": "https://kovan.etherscan.io/address/0x1B26D748f6F66ad94A844702CaFd3351f404547c",
			"timestamp": "2021-06-03T02:00:17.283Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepTRX": {
			"name": "TokenStatepTRX",
			"address": "0xadF2f96110a31B25964888e812ace4ad75273eFA",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xadF2f96110a31B25964888e812ace4ad75273eFA",
			"timestamp": "2021-03-29T23:56:36.193Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypTRX": {
			"name": "ProxypTRX",
			"address": "0x988629388631abcc6FaEbb1916D7183D2dDAA001",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x988629388631abcc6FaEbb1916D7183D2dDAA001",
			"timestamp": "2021-03-29T23:56:44.229Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpTRX": {
			"name": "PynthpTRX",
			"address": "0x9Fe6930B0019C2C1c6Db4755e5C94b49652da06D",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0x9Fe6930B0019C2C1c6Db4755e5C94b49652da06D",
			"timestamp": "2021-03-29T23:56:52.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x53f1a2be20e286744ebc16ea0cd2d1cc11d7eef75d54c30581c01ed6cd8241e2",
			"network": "kovan"
		},
		"TokenStatepXTZ": {
			"name": "TokenStatepXTZ",
			"address": "0x41a0565cC24C237B19bF752c283E096CC441927E",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x41a0565cC24C237B19bF752c283E096CC441927E",
			"timestamp": "2021-03-29T23:57:24.224Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypXTZ": {
			"name": "ProxypXTZ",
			"address": "0x5C19e4d8e046F870d3F71146759416Fb3B2c1F2f",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x5C19e4d8e046F870d3F71146759416Fb3B2c1F2f",
			"timestamp": "2021-03-29T23:57:34.436Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpXTZ": {
			"name": "PynthpXTZ",
			"address": "0x0fb8d8Ba15D937189E0c2EFa887BF2D4A3Df58D5",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x0fb8d8Ba15D937189E0c2EFa887BF2D4A3Df58D5",
			"timestamp": "2021-03-29T23:57:48.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x4d8e09c77adbf4fc2add3b4024f3b73aeaf9396115d44ed35abc8d29959de063",
			"network": "kovan"
		},
		"TokenStateiTRX": {
			"name": "TokenStateiTRX",
			"address": "0x09dF82f3Cf35e01af85551216D1853A5d676bd0F",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x09dF82f3Cf35e01af85551216D1853A5d676bd0F",
			"timestamp": "2021-03-30T00:08:51.935Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiTRX": {
			"name": "ProxyiTRX",
			"address": "0x09a80AdFfe5216DDa61E3FA6F63ed5575B7F5DE8",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x09a80AdFfe5216DDa61E3FA6F63ed5575B7F5DE8",
			"timestamp": "2021-03-30T00:09:00.167Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiTRX": {
			"name": "PynthiTRX",
			"address": "0x78224698Aa4A8a859E7EAE3cdcFa23FE9939A179",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x78224698Aa4A8a859E7EAE3cdcFa23FE9939A179",
			"timestamp": "2021-03-30T00:09:08.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xc67401d470be8eb6e3c274d4a98fc9c81ca5d98d4b00393a0850faa34363220c",
			"network": "kovan"
		},
		"TokenStateiXTZ": {
			"name": "TokenStateiXTZ",
			"address": "0x180d5d5724ccb496fACE0e400B78b19005392B59",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x180d5d5724ccb496fACE0e400B78b19005392B59",
			"timestamp": "2021-03-30T00:09:40.140Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiXTZ": {
			"name": "ProxyiXTZ",
			"address": "0xE7887d570C4e81d2f0E5807a533980FB32AB3EE0",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xE7887d570C4e81d2f0E5807a533980FB32AB3EE0",
			"timestamp": "2021-03-30T00:09:48.203Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiXTZ": {
			"name": "PynthiXTZ",
			"address": "0x5f2942bd32A65B365f1092fe8ad215c4A7889507",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x5f2942bd32A65B365f1092fe8ad215c4A7889507",
			"timestamp": "2021-03-30T00:09:56.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xc31b955080bbc2fd18a8e7350635a08736da3dcf383315b8161194620878e28e",
			"network": "kovan"
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0xca8bE6F8364D1316de2dD2BA06AA44CF07Da3D52",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xca8bE6F8364D1316de2dD2BA06AA44CF07Da3D52",
			"timestamp": "2021-06-03T02:01:09.106Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepCEX": {
			"name": "TokenStatepCEX",
			"address": "0x1b3Ec7ef485a1b7D1F5d51637A914F54D91158b0",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x1b3Ec7ef485a1b7D1F5d51637A914F54D91158b0",
			"timestamp": "2021-03-30T00:04:51.562Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypCEX": {
			"name": "ProxypCEX",
			"address": "0x29Ee9D77Fc281Fc1286dd2e6543919c4386f3bA2",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x29Ee9D77Fc281Fc1286dd2e6543919c4386f3bA2",
			"timestamp": "2021-03-30T00:05:00.582Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpCEX": {
			"name": "PynthpCEX",
			"address": "0x0042320604298f969Cf3A20cAF3996d96DDa0EEA",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x0042320604298f969Cf3A20cAF3996d96DDa0EEA",
			"timestamp": "2021-03-30T00:05:08.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x3136befa76a1613ebb5eeb2ec9b5da823eba9f2d3a11da70e08e5ed9735db29a",
			"network": "kovan"
		},
		"TokenStateiCEX": {
			"name": "TokenStateiCEX",
			"address": "0x14A093c19914784acB19f9f82FB5B5722774bC47",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x14A093c19914784acB19f9f82FB5B5722774bC47",
			"timestamp": "2021-03-30T00:16:51.994Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiCEX": {
			"name": "ProxyiCEX",
			"address": "0x16798dD63710435569472b8Dd5e2d38cE828BE0D",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x16798dD63710435569472b8Dd5e2d38cE828BE0D",
			"timestamp": "2021-03-30T00:17:01.219Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiCEX": {
			"name": "PynthiCEX",
			"address": "0x296235266bDC2DbCcD23AA06E810b5b161B6Af37",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x296235266bDC2DbCcD23AA06E810b5b161B6Af37",
			"timestamp": "2021-03-30T00:17:08.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x0c1d1e0a9632761a332a1b2e38a7c4e9b18d4e8a46a7056651a896ca1829ffcf",
			"network": "kovan"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0x098Bc336078d3476185A94305868dA7042bfFa72",
			"source": "RewardsDistribution",
			"link": "https://kovan.etherscan.io/address/0x098Bc336078d3476185A94305868dA7042bfFa72",
			"timestamp": "2021-06-03T02:01:04.798Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypUSD": {
			"name": "ProxypUSD",
			"address": "0x882448E165aA0B520127757aDCad0A7f032657dC",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x882448E165aA0B520127757aDCad0A7f032657dC",
			"timestamp": "2021-06-03T02:02:53.221Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepXRP": {
			"name": "TokenStatepXRP",
			"address": "0xC3a7274D34B7F208562a2fd186D2E97d9c16c950",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xC3a7274D34B7F208562a2fd186D2E97d9c16c950",
			"timestamp": "2021-03-29T23:58:21.035Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypXRP": {
			"name": "ProxypXRP",
			"address": "0xBD6ce1358A4a77237AEC6088316E64730986359B",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xBD6ce1358A4a77237AEC6088316E64730986359B",
			"timestamp": "2021-03-29T23:58:28.308Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpXRP": {
			"name": "PynthpXRP",
			"address": "0x9721cc91E678bB2f21e552C075071157B2D58CA3",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0x9721cc91E678bB2f21e552C075071157B2D58CA3",
			"timestamp": "2021-03-29T23:58:36.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xf3cdf8219e5fbaf464da7f45976fafc3a3ff757b2a0a0ffb653eed1dc4174466",
			"network": "kovan"
		},
		"TokenStatepLTC": {
			"name": "TokenStatepLTC",
			"address": "0x86C226B9cBE4391c4503E2796D109529F1365A2F",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x86C226B9cBE4391c4503E2796D109529F1365A2F",
			"timestamp": "2021-03-29T23:59:08.099Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypLTC": {
			"name": "ProxypLTC",
			"address": "0x7CA512D0Aecae91074a3e440f6fa9D2a9d55e1AA",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x7CA512D0Aecae91074a3e440f6fa9D2a9d55e1AA",
			"timestamp": "2021-03-29T23:59:16.209Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpLTC": {
			"name": "PynthpLTC",
			"address": "0x20bebb9AaA8d8cc113aE3e5EC3F47C870237E16A",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x20bebb9AaA8d8cc113aE3e5EC3F47C870237E16A",
			"timestamp": "2021-03-29T23:59:24.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x63cf04fc1903f67161597438f930af1be617c5e7a432bad9597dbcd28454e45f",
			"network": "kovan"
		},
		"TokenStatepLINK": {
			"name": "TokenStatepLINK",
			"address": "0xC29B66e5d78Cd200EEf227Ba4b960cf6C0E9aaCb",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xC29B66e5d78Cd200EEf227Ba4b960cf6C0E9aaCb",
			"timestamp": "2021-03-29T23:59:55.310Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypLINK": {
			"name": "ProxypLINK",
			"address": "0x975fE4077BC0A51fB10286A8BF089aD54eddd362",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x975fE4077BC0A51fB10286A8BF089aD54eddd362",
			"timestamp": "2021-03-30T00:00:05.635Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpLINK": {
			"name": "PynthpLINK",
			"address": "0x15Bb356d834815053D7FdbAB9C2f0A6dbd024a93",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0x15Bb356d834815053D7FdbAB9C2f0A6dbd024a93",
			"timestamp": "2021-03-30T00:00:12.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xa860b6e02c2ad86fb1233ddfaae22c7c2fb1c4034c12eca3496d3f0debe69868",
			"network": "kovan"
		},
		"TokenStatepDEFI": {
			"name": "TokenStatepDEFI",
			"address": "0x45A117fEFdDBA5405592787c7EEccEfc6e9d81be",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x45A117fEFdDBA5405592787c7EEccEfc6e9d81be",
			"timestamp": "2021-03-30T00:05:42.427Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypDEFI": {
			"name": "ProxypDEFI",
			"address": "0xd226e3699eD281fFaE214d28f6A92a178a089a04",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xd226e3699eD281fFaE214d28f6A92a178a089a04",
			"timestamp": "2021-03-30T00:05:47.444Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpDEFI": {
			"name": "PynthpDEFI",
			"address": "0xFe0464063dA91BfB51EC3e1626eb4C2C99c6373B",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0xFe0464063dA91BfB51EC3e1626eb4C2C99c6373B",
			"timestamp": "2021-03-30T00:05:56.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xd51f3270718d04751334cf926fa8110cfcc71c9d6381e8dc4062ccb8cbf78d03",
			"network": "kovan"
		},
		"TokenStateiXRP": {
			"name": "TokenStateiXRP",
			"address": "0xa370F7A0bB117288E79E59139246A08F4859f49c",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xa370F7A0bB117288E79E59139246A08F4859f49c",
			"timestamp": "2021-03-30T00:10:28.609Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiXRP": {
			"name": "ProxyiXRP",
			"address": "0x277BcF84ea99E76EE29614E7FC7B6Da87Dd79cf2",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x277BcF84ea99E76EE29614E7FC7B6Da87Dd79cf2",
			"timestamp": "2021-03-30T00:10:36.641Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiXRP": {
			"name": "PynthiXRP",
			"address": "0x23a9Cd0240415c4Fa2DbEe4A740797D437f74807",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x23a9Cd0240415c4Fa2DbEe4A740797D437f74807",
			"timestamp": "2021-03-30T00:10:44.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x6be1f511160345ec1ce5cac1be5d1bb7e91e9149bf14f2a94f028206ebd63b71",
			"network": "kovan"
		},
		"TokenStateiLINK": {
			"name": "TokenStateiLINK",
			"address": "0x1c63c15B01f03385d9558676741cdF495f89d0E9",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x1c63c15B01f03385d9558676741cdF495f89d0E9",
			"timestamp": "2021-03-30T00:11:15.476Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiLINK": {
			"name": "ProxyiLINK",
			"address": "0x6f8EEaFE7e520195FFd2D075d6aC63566869d639",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x6f8EEaFE7e520195FFd2D075d6aC63566869d639",
			"timestamp": "2021-03-30T00:11:24.089Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiLINK": {
			"name": "PynthiLINK",
			"address": "0xd8c8D787F26B3DCE2060c1ed0D442CcBFD9Bb720",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0xd8c8D787F26B3DCE2060c1ed0D442CcBFD9Bb720",
			"timestamp": "2021-03-30T00:11:32.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x5cd7e69e35021650d49b3b1f2a7e000a944a8b407ab870a4ce8881629fc1cf45",
			"network": "kovan"
		},
		"TokenStateiLTC": {
			"name": "TokenStateiLTC",
			"address": "0xbAF9De0f860E403C8A8b1106d8b05d3924511cDB",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0xbAF9De0f860E403C8A8b1106d8b05d3924511cDB",
			"timestamp": "2021-03-30T00:12:05.142Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiLTC": {
			"name": "ProxyiLTC",
			"address": "0x5A01cCd8954c42169BC75a127b30cd9E7F0F56ad",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x5A01cCd8954c42169BC75a127b30cd9E7F0F56ad",
			"timestamp": "2021-03-30T00:12:12.197Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiLTC": {
			"name": "PynthiLTC",
			"address": "0xBa6BC0291807D7ee14321158d02e4B9cf9565D39",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0xBa6BC0291807D7ee14321158d02e4B9cf9565D39",
			"timestamp": "2021-03-30T00:12:20.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xa6e0927448f7715c7a4a28d8a0ee81d633055443018e1ca91c7ac6adb5400161",
			"network": "kovan"
		},
		"TokenStateiDEFI": {
			"name": "TokenStateiDEFI",
			"address": "0x7d303423425F91B4e3345c24eA941fa6B21DE852",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x7d303423425F91B4e3345c24eA941fa6B21DE852",
			"timestamp": "2021-03-30T00:17:39.816Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiDEFI": {
			"name": "ProxyiDEFI",
			"address": "0x3BEA2d4ACe25c8912e98a729D3354E9B9FE33d10",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x3BEA2d4ACe25c8912e98a729D3354E9B9FE33d10",
			"timestamp": "2021-03-30T00:17:48.137Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiDEFI": {
			"name": "PynthiDEFI",
			"address": "0xAB8F7E55f25Afb2e2409f0f891d00c5741005715",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0xAB8F7E55f25Afb2e2409f0f891d00c5741005715",
			"timestamp": "2021-03-30T00:17:56.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xbf2761097bc4bc5d1b1f4a3a9186daa4220a2d6a7c8b3659d37e1fdf50a65d90",
			"network": "kovan"
		},
		"Math": {
			"name": "Math",
			"address": "0xf9bd91e3410c7bA13A4a13130A29b62292c9c8B7",
			"source": "Math",
			"link": "https://kovan.etherscan.io/address/0xf9bd91e3410c7bA13A4a13130A29b62292c9c8B7",
			"timestamp": "2021-06-03T01:58:25.338Z",
			"txn": "",
			"network": "kovan"
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0x5588b4F658d1f3C9B016A38341Cd394070D31f4d",
			"source": "AddressResolver",
			"link": "https://kovan.etherscan.io/address/0x5588b4F658d1f3C9B016A38341Cd394070D31f4d",
			"timestamp": "2021-06-03T01:58:29.093Z",
			"txn": "",
			"network": "kovan"
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0x34F0f80B7dEfc87F67e8B5985c0a0A73030e3401",
			"source": "ExchangerWithVirtualPynth",
			"link": "https://kovan.etherscan.io/address/0x34F0f80B7dEfc87F67e8B5985c0a0A73030e3401",
			"timestamp": "2021-06-03T02:01:37.953Z",
			"txn": "",
			"network": "kovan"
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0xfcAb6F6DFf6437230be1ba8022DF2e66536f3f7A",
			"source": "ExchangeState",
			"link": "https://kovan.etherscan.io/address/0xfcAb6F6DFf6437230be1ba8022DF2e66536f3f7A",
			"timestamp": "2021-06-03T02:01:45.078Z",
			"txn": "",
			"network": "kovan"
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0x1a65Bfde83ED420236243bF247E2114072993480",
			"source": "Issuer",
			"link": "https://kovan.etherscan.io/address/0x1a65Bfde83ED420236243bF247E2114072993480",
			"timestamp": "2021-06-03T02:02:01.418Z",
			"txn": "",
			"network": "kovan"
		},
		"EtherCollateral": {
			"name": "EtherCollateral",
			"address": "0x65d379F140B1aB109273E1Ef78C484f9946eaF63",
			"source": "EtherCollateral",
			"link": "https://kovan.etherscan.io/address/0x65d379F140B1aB109273E1Ef78C484f9946eaF63",
			"timestamp": "2021-06-03T02:05:21.093Z",
			"txn": "",
			"network": "kovan"
		},
		"IssuanceEternalStorage": {
			"name": "IssuanceEternalStorage",
			"address": "0xe66000ee63050461Fe930E6F5A3456A735dC86A1",
			"source": "IssuanceEternalStorage",
			"link": "https://kovan.etherscan.io/address/0xe66000ee63050461Fe930E6F5A3456A735dC86A1",
			"timestamp": "2020-02-28T02:15:04.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xa2d9c3f4d441c6d73a61ee53e0d70566e8a8053435e55df991eaaba67dab1f6d",
			"network": "kovan"
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0xE4B03525f0f92666B03744F1D53D38b8fC50bd7A",
			"source": "EternalStorage",
			"link": "https://kovan.etherscan.io/address/0xE4B03525f0f92666B03744F1D53D38b8fC50bd7A",
			"timestamp": "2021-06-03T01:59:37.530Z",
			"txn": "",
			"network": "kovan"
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0xF618fa2879623a75a20c28aE0a1BD8E0683a26E8",
			"source": "SystemStatus",
			"link": "https://kovan.etherscan.io/address/0xF618fa2879623a75a20c28aE0a1BD8E0683a26E8",
			"timestamp": "2021-06-03T01:58:53.284Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepEOS": {
			"name": "TokenStatepEOS",
			"address": "0x3D00d309913552C1D548848250D5F87a22DC36B6",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x3D00d309913552C1D548848250D5F87a22DC36B6",
			"timestamp": "2021-03-30T00:00:44.001Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypEOS": {
			"name": "ProxypEOS",
			"address": "0xFBef0D8599c6270DDE24f10380e638203298cb51",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xFBef0D8599c6270DDE24f10380e638203298cb51",
			"timestamp": "2021-03-30T00:00:53.146Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpEOS": {
			"name": "PynthpEOS",
			"address": "0x38603294794e2566a1051B7116e28a91fcd2bd66",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0x38603294794e2566a1051B7116e28a91fcd2bd66",
			"timestamp": "2021-03-30T00:01:00.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x9ba5a4ad1505c158aa42a6b09778f8f26a7071edc4ae89b098bdc0dca0bfc563",
			"network": "kovan"
		},
		"TokenStatepETC": {
			"name": "TokenStatepETC",
			"address": "0x98a372d23a6cdead2cD3d29AEbBf932bAa88ec0f",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x98a372d23a6cdead2cD3d29AEbBf932bAa88ec0f",
			"timestamp": "2021-03-30T00:01:24.508Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypETC": {
			"name": "ProxypETC",
			"address": "0x416bB9d58b8676A017b9944aA7CbF4df2568dEda",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x416bB9d58b8676A017b9944aA7CbF4df2568dEda",
			"timestamp": "2021-03-30T00:01:31.556Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpETC": {
			"name": "PynthpETC",
			"address": "0xcF02bEb62bf212a857a662272b4881fA068465B5",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0xcF02bEb62bf212a857a662272b4881fA068465B5",
			"timestamp": "2021-03-30T00:01:40.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x0854598ee0dd32e4c1d616ee14990493bcf1c62a6afe75ed759691b913bc9490",
			"network": "kovan"
		},
		"TokenStateiEOS": {
			"name": "TokenStateiEOS",
			"address": "0x7A97Dc2881fd824d86632011F05b5816291916F0",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x7A97Dc2881fd824d86632011F05b5816291916F0",
			"timestamp": "2021-03-30T00:12:52.170Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiEOS": {
			"name": "ProxyiEOS",
			"address": "0x36015abA0a177aEc355ffA29c009aB9b6Dd75279",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x36015abA0a177aEc355ffA29c009aB9b6Dd75279",
			"timestamp": "2021-03-30T00:13:00.228Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiEOS": {
			"name": "PynthiEOS",
			"address": "0xc6200136c7ae87AEe44cE1801d67cD56873D7ff2",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0xc6200136c7ae87AEe44cE1801d67cD56873D7ff2",
			"timestamp": "2021-03-30T00:13:08.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x42698b59a7512c4a5666e831df6782c44c5bb85ec9f73fea21db3aad89b8a695",
			"network": "kovan"
		},
		"TokenStateiETC": {
			"name": "TokenStateiETC",
			"address": "0x771dC9C3b2dFCfB39192792Af964e30aD021E344",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x771dC9C3b2dFCfB39192792Af964e30aD021E344",
			"timestamp": "2021-03-30T00:13:32.201Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiETC": {
			"name": "ProxyiETC",
			"address": "0xbf5c414756b8d2A0Ad574d28A723495fAaA21091",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xbf5c414756b8d2A0Ad574d28A723495fAaA21091",
			"timestamp": "2021-03-30T00:13:40.229Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiETC": {
			"name": "PynthiETC",
			"address": "0x20f22feF2D4729Df6E59404453e734AFcfba4935",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x20f22feF2D4729Df6E59404453e734AFcfba4935",
			"timestamp": "2021-03-30T00:13:48.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x1563c52e98c42855b4c0d14e321e7cdb47e8876ca4fa95ddb1b6f84e2a348984",
			"network": "kovan"
		},
		"TokenStateiDASH": {
			"name": "TokenStateiDASH",
			"address": "0x071e499114EA949062384EdE0dAC70FaEE7c3848",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x071e499114EA949062384EdE0dAC70FaEE7c3848",
			"timestamp": "2021-03-30T00:14:12.277Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiDASH": {
			"name": "ProxyiDASH",
			"address": "0x3e6270def101709f12f821b757b25053d3D3Eb59",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x3e6270def101709f12f821b757b25053d3D3Eb59",
			"timestamp": "2021-03-30T00:14:20.458Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiDASH": {
			"name": "PynthiDASH",
			"address": "0x0F5d60cbDC0D52E158402B4Ad311CdB2f13d141a",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x0F5d60cbDC0D52E158402B4Ad311CdB2f13d141a",
			"timestamp": "2021-03-30T00:14:28.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x54e2a30d27df610f153dec9640e9f07c0691cdf2d56b0b738b50aeea2841b436",
			"network": "kovan"
		},
		"TokenStateiXMR": {
			"name": "TokenStateiXMR",
			"address": "0x2B76DC3956b03883A404E9931FDDf3807b13485B",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x2B76DC3956b03883A404E9931FDDf3807b13485B",
			"timestamp": "2021-03-30T00:14:51.658Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiXMR": {
			"name": "ProxyiXMR",
			"address": "0x9C2E54a7df9fD60Ad9ac8c37B32eB80CCf8BB4d4",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0x9C2E54a7df9fD60Ad9ac8c37B32eB80CCf8BB4d4",
			"timestamp": "2021-03-30T00:14:59.715Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiXMR": {
			"name": "PynthiXMR",
			"address": "0xCe925c94fc134b283D0013D35295d508b3C9CF24",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0xCe925c94fc134b283D0013D35295d508b3C9CF24",
			"timestamp": "2021-03-30T00:15:16.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x93b16922435e7ff99ed2ad52f44a0d7ef1c71ad0f481aa2d912ea959d2789f17",
			"network": "kovan"
		},
		"TokenStateiADA": {
			"name": "TokenStateiADA",
			"address": "0x9C508D06daD561037fdeC58C96413012723B0A4d",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x9C508D06daD561037fdeC58C96413012723B0A4d",
			"timestamp": "2021-03-30T00:15:40.064Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxyiADA": {
			"name": "ProxyiADA",
			"address": "0xc8B5C8adC1140Eaad89afcc8Eb4eB1CDC376b7B0",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xc8B5C8adC1140Eaad89afcc8Eb4eB1CDC376b7B0",
			"timestamp": "2021-03-30T00:15:56.105Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthiADA": {
			"name": "PynthiADA",
			"address": "0x3AD7282e2C0480Feb26Add577D1a110315f9BaD9",
			"source": "PurgeablePynth",
			"link": "https://kovan.etherscan.io/address/0x3AD7282e2C0480Feb26Add577D1a110315f9BaD9",
			"timestamp": "2021-03-30T00:16:12.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xb067cac6fc6ddcceb2efa488dc6b48316490009cee3de14a1331181b059aa9e9",
			"network": "kovan"
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0xb32E331fa3e036B9B55AdF75fDEa60a3FdFe40B2",
			"source": "ReadProxy",
			"link": "https://kovan.etherscan.io/address/0xb32E331fa3e036B9B55AdF75fDEa60a3FdFe40B2",
			"timestamp": "2021-06-03T01:58:33.937Z",
			"txn": "",
			"network": "kovan"
		},
		"Liquidations": {
			"name": "Liquidations",
			"address": "0x8dc7b9D80d8479F5fB74A2c904803eE5b6097342",
			"source": "Liquidations",
			"link": "https://kovan.etherscan.io/address/0x8dc7b9D80d8479F5fB74A2c904803eE5b6097342",
			"timestamp": "2021-06-03T02:00:00.043Z",
			"txn": "",
			"network": "kovan"
		},
		"EternalStorageLiquidations": {
			"name": "EternalStorageLiquidations",
			"address": "0x149EEca8F4B7cBba425261E746855A24E8090ccC",
			"source": "EternalStorage",
			"link": "https://kovan.etherscan.io/address/0x149EEca8F4B7cBba425261E746855A24E8090ccC",
			"timestamp": "2021-06-03T02:00:13.481Z",
			"txn": "",
			"network": "kovan"
		},
		"BinaryOptionMarketFactory": {
			"name": "BinaryOptionMarketFactory",
			"address": "0x8D3732EEE665722fa3a3e3c27aa03c3CD5040860",
			"source": "BinaryOptionMarketFactory",
			"link": "https://kovan.etherscan.io/address/0x8D3732EEE665722fa3a3e3c27aa03c3CD5040860",
			"timestamp": "2021-05-04T09:03:08.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xb3519f88aaaf933d813e63565e6783dfc81d537f64819419e33e7f9842ef6ea8",
			"network": "kovan"
		},
		"BinaryOptionMarketManager": {
			"name": "BinaryOptionMarketManager",
			"address": "0x524D774c61232A690DeFb6aAB79841E0bEa63219",
			"source": "BinaryOptionMarketManager",
			"link": "https://kovan.etherscan.io/address/0x524D774c61232A690DeFb6aAB79841E0bEa63219",
			"timestamp": "2021-05-04T09:03:16.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x8c65292a7da3239453249dd53b11d40f8d99860fe4fcc820bb9e0fec0a3dd7e7",
			"network": "kovan"
		},
		"BinaryOptionMarketData": {
			"name": "BinaryOptionMarketData",
			"address": "0xeb4C8E997c2A14E6e29Dc718e33193d5489f68A2",
			"source": "BinaryOptionMarketData",
			"link": "https://kovan.etherscan.io/address/0xeb4C8E997c2A14E6e29Dc718e33193d5489f68A2",
			"timestamp": "2021-06-03T02:05:44.691Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthUtil": {
			"name": "PynthUtil",
			"address": "0x9D08397fC0dc56eB569B721630808652fE9461D8",
			"source": "PynthUtil",
			"link": "https://kovan.etherscan.io/address/0x9D08397fC0dc56eB569B721630808652fE9461D8",
			"timestamp": "2021-06-03T02:05:37.120Z",
			"txn": "",
			"network": "kovan"
		},
		"DappMaintenance": {
			"name": "DappMaintenance",
			"address": "0x0a42922349F04ecC6ee0d5030E85b7240cAA9087",
			"source": "DappMaintenance",
			"link": "https://kovan.etherscan.io/address/0x0a42922349F04ecC6ee0d5030E85b7240cAA9087",
			"timestamp": "2021-06-03T02:05:41.045Z",
			"txn": "",
			"network": "kovan"
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0x79f9c1207325374662125E34c72Db52a3BF58A46",
			"source": "FlexibleStorage",
			"link": "https://kovan.etherscan.io/address/0x79f9c1207325374662125E34c72Db52a3BF58A46",
			"timestamp": "2021-06-03T01:58:45.429Z",
			"txn": "",
			"network": "kovan"
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0x35EA1014d6bab30e431e94264966440c59632e49",
			"source": "SystemSettings",
			"link": "https://kovan.etherscan.io/address/0x35EA1014d6bab30e431e94264966440c59632e49",
			"timestamp": "2021-06-03T01:58:49.759Z",
			"txn": "",
			"network": "kovan"
		},
		"TradingRewards": {
			"name": "TradingRewards",
			"address": "0x434b5fDa6bD32F7c805356DAD8105C93dd0a9277",
			"source": "TradingRewards",
			"link": "https://kovan.etherscan.io/address/0x434b5fDa6bD32F7c805356DAD8105C93dd0a9277",
			"timestamp": "2021-06-03T02:02:08.828Z",
			"txn": "",
			"network": "kovan"
		},
		"EtherCollateralpUSD": {
			"name": "EtherCollateralpUSD",
			"address": "0x72045892Eb4c39D53b1fE6344661fa810D4d2190",
			"source": "EtherCollateralpUSD",
			"link": "https://kovan.etherscan.io/address/0x72045892Eb4c39D53b1fE6344661fa810D4d2190",
			"timestamp": "2021-06-03T02:05:25.572Z",
			"txn": "",
			"network": "kovan"
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0x5f9Cfaea5C7DD0A3fA712074Ff0FD3538438C20B",
			"source": "DebtCache",
			"link": "https://kovan.etherscan.io/address/0x5f9Cfaea5C7DD0A3fA712074Ff0FD3538438C20B",
			"timestamp": "2021-06-03T02:01:33.627Z",
			"txn": "",
			"network": "kovan"
		},
		"CollateralManagerState": {
			"name": "CollateralManagerState",
			"address": "0xD6B8CDA0BBcd086948473Be6f8D45DaCA0f2f742",
			"source": "CollateralManagerState",
			"link": "https://kovan.etherscan.io/address/0xD6B8CDA0BBcd086948473Be6f8D45DaCA0f2f742",
			"timestamp": "2021-06-03T02:07:49.032Z",
			"txn": "",
			"network": "kovan"
		},
		"CollateralManager": {
			"name": "CollateralManager",
			"address": "0x38D2E89EC384eBFe055B6977a3D8c5613c7cdF8E",
			"source": "CollateralManager",
			"link": "https://kovan.etherscan.io/address/0x38D2E89EC384eBFe055B6977a3D8c5613c7cdF8E",
			"timestamp": "2021-06-03T02:07:53.976Z",
			"txn": "",
			"network": "kovan"
		},
		"CollateralStateErc20": {
			"name": "CollateralStateErc20",
			"address": "0xA34d16fA2A3f3868d405E1188B059d52D9d3500f",
			"source": "CollateralState",
			"link": "https://kovan.etherscan.io/address/0xA34d16fA2A3f3868d405E1188B059d52D9d3500f",
			"timestamp": "2021-06-03T02:08:16.900Z",
			"txn": "",
			"network": "kovan"
		},
		"StakingRewardsiBTC": {
			"name": "StakingRewardsiBTC",
			"address": "0x72Bfefac12fAbC2224fE66d7840E8134BEf95e39",
			"source": "StakingRewards",
			"link": "https://kovan.etherscan.io/address/0x72Bfefac12fAbC2224fE66d7840E8134BEf95e39",
			"timestamp": "2020-07-24T04:14:01.414Z",
			"txn": "",
			"network": "kovan"
		},
		"StakingRewardsiETH2": {
			"name": "StakingRewardsiETH2",
			"address": "0xbd700862ef238028E3C28D0670851eA1230ac7B1",
			"source": "StakingRewards",
			"link": "https://kovan.etherscan.io/address/0xbd700862ef238028E3C28D0670851eA1230ac7B1",
			"timestamp": "2020-07-24T07:12:45.948Z",
			"txn": "",
			"network": "kovan"
		},
		"StakingRewardsiETH": {
			"name": "StakingRewardsiETH",
			"address": "0x347E15f035B4645C6E330d758F73eC3AD2bFa5B5",
			"source": "StakingRewards",
			"link": "https://kovan.etherscan.io/address/0x347E15f035B4645C6E330d758F73eC3AD2bFa5B5",
			"timestamp": "2020-07-24T07:12:14.490Z",
			"txn": "",
			"network": "kovan"
		},
		"CollateralStateEth": {
			"name": "CollateralStateEth",
			"address": "0x94069C5ed323536A1d244ACEF4986d20F4683244",
			"source": "CollateralState",
			"link": "https://kovan.etherscan.io/address/0x94069C5ed323536A1d244ACEF4986d20F4683244",
			"timestamp": "2021-06-03T02:08:01.237Z",
			"txn": "",
			"network": "kovan"
		},
		"CollateralStateShort": {
			"name": "CollateralStateShort",
			"address": "0xeac74803c5450841B1bc3642280B6b03859072C9",
			"source": "CollateralState",
			"link": "https://kovan.etherscan.io/address/0xeac74803c5450841B1bc3642280B6b03859072C9",
			"timestamp": "2021-06-03T02:08:28.645Z",
			"txn": "",
			"network": "kovan"
		},
		"CollateralEth": {
			"name": "CollateralEth",
			"address": "0xAdF54424Dc84BDB9eA97c9E4070Ae161ccaF2786",
			"source": "CollateralEth",
			"link": "https://kovan.etherscan.io/address/0xAdF54424Dc84BDB9eA97c9E4070Ae161ccaF2786",
			"timestamp": "2021-06-03T02:08:09.610Z",
			"txn": "",
			"network": "kovan"
		},
		"CollateralErc20": {
			"name": "CollateralErc20",
			"address": "0x5330566172F96162eeD92Cd37896a16f3D54f3ed",
			"source": "CollateralErc20",
			"link": "https://kovan.etherscan.io/address/0x5330566172F96162eeD92Cd37896a16f3D54f3ed",
			"timestamp": "2021-06-03T02:08:21.076Z",
			"txn": "",
			"network": "kovan"
		},
		"CollateralShort": {
			"name": "CollateralShort",
			"address": "0x21841cE6610e5720111080090800502D02E48353",
			"source": "CollateralShort",
			"link": "https://kovan.etherscan.io/address/0x21841cE6610e5720111080090800502D02E48353",
			"timestamp": "2021-06-03T02:08:34.262Z",
			"txn": "",
			"network": "kovan"
		},
		"RewardEscrowV2": {
			"name": "RewardEscrowV2",
			"address": "0x2cF39e0EdFa9a25940eC1A48493362E1f212C988",
			"source": "RewardEscrowV2",
			"link": "https://kovan.etherscan.io/address/0x2cF39e0EdFa9a25940eC1A48493362E1f212C988",
			"timestamp": "2021-06-03T01:59:16.978Z",
			"txn": "",
			"network": "kovan"
		},
		"PeriFinanceBridgeToOptimism": {
			"name": "PeriFinanceBridgeToOptimism",
			"address": "0x6520A749492664ADf28B485c23bf38632eAf0576",
			"source": "PeriFinanceBridgeToOptimism",
			"link": "https://kovan.etherscan.io/address/0x6520A749492664ADf28B485c23bf38632eAf0576",
			"timestamp": "2021-06-03T02:05:33.609Z",
			"txn": "",
			"network": "kovan"
		},
		"ShortingRewardspETH": {
			"name": "ShortingRewardspETH",
			"address": "0x945d2dfFEE2d478D3D32E0f42b9649D1cbAe5528",
			"source": "ShortingRewards",
			"link": "https://kovan.etherscan.io/address/0x945d2dfFEE2d478D3D32E0f42b9649D1cbAe5528",
			"timestamp": "2021-01-19T01:13:32.000Z",
			"txn": "https://kovan.etherscan.io/tx/0x1436018618aef847ebee8a050660dd7f1e6e4fe9cba2d947ca9c5deea3359e07",
			"network": "kovan"
		},
		"ShortingRewardspBTC": {
			"name": "ShortingRewardspBTC",
			"address": "0xCEECB8D9c19Abe84E13a2B6De3F5aD6e2991FE6d",
			"source": "ShortingRewards",
			"link": "https://kovan.etherscan.io/address/0xCEECB8D9c19Abe84E13a2B6De3F5aD6e2991FE6d",
			"timestamp": "2021-01-19T01:13:45.198Z",
			"txn": "",
			"network": "kovan"
		},
		"TokenStatepTSLA": {
			"name": "TokenStatepTSLA",
			"address": "0x86461056e5c7e5766cA646d6Bc648B8a06e65659",
			"source": "TokenState",
			"link": "https://kovan.etherscan.io/address/0x86461056e5c7e5766cA646d6Bc648B8a06e65659",
			"timestamp": "2021-03-30T00:04:03.330Z",
			"txn": "",
			"network": "kovan"
		},
		"ProxypTSLA": {
			"name": "ProxypTSLA",
			"address": "0xf8C4A894695123D9F6a6517Bc534084B55C0d30D",
			"source": "ProxyERC20",
			"link": "https://kovan.etherscan.io/address/0xf8C4A894695123D9F6a6517Bc534084B55C0d30D",
			"timestamp": "2021-03-30T00:04:12.351Z",
			"txn": "",
			"network": "kovan"
		},
		"PynthpTSLA": {
			"name": "PynthpTSLA",
			"address": "0xD40A3Da2A02402D9025fA1038fBE00CA5ED8a1C8",
			"source": "Pynth",
			"link": "https://kovan.etherscan.io/address/0xD40A3Da2A02402D9025fA1038fBE00CA5ED8a1C8",
			"timestamp": "2021-03-30T00:04:20.000Z",
			"txn": "https://kovan.etherscan.io/tx/0xbbd263d7782307e7877227351f5fdd46e9c924b44bcbd59a54274a60355a20c2",
			"network": "kovan"
		},
		"FeePoolStateUsdc": {
			"name": "FeePoolStateUsdc",
			"address": "0x86c6a436182d24c055C93996f6baaE5aa243f748",
			"source": "FeePoolState",
			"link": "https://kovan.etherscan.io/address/0x86c6a436182d24c055C93996f6baaE5aa243f748",
			"timestamp": "2021-04-30T09:30:52.485Z",
			"txn": "",
			"network": "kovan"
		},
		"StakeStateUsdc": {
			"name": "StakeStateUsdc",
			"address": "0x7d7Ec3322d56B33438a4F76d7e6CC813623df9c3",
			"source": "StakeState",
			"link": "https://kovan.etherscan.io/address/0x7d7Ec3322d56B33438a4F76d7e6CC813623df9c3",
			"timestamp": "2021-04-30T09:45:19.190Z",
			"txn": "",
			"network": "kovan"
		},
		"USDC": {
			"name": "USDC",
			"address": "0x98da9a82224E7A5896D6227382F7a52c82082146",
			"source": "MockToken",
			"link": "https://kovan.etherscan.io/address/0x98da9a82224E7A5896D6227382F7a52c82082146",
			"timestamp": "2021-06-03T02:03:16.697Z",
			"txn": "",
			"network": "kovan"
		},
		"StakingStateUSDC": {
			"name": "StakingStateUSDC",
			"address": "0xC645e3b3e1D061f6a45325A1Fe296012dF790Da9",
			"source": "StakingStateUSDC",
			"link": "https://kovan.etherscan.io/address/0xC645e3b3e1D061f6a45325A1Fe296012dF790Da9",
			"timestamp": "2021-06-03T02:03:21.144Z",
			"txn": "",
			"network": "kovan"
		},
		"TempExchangeRateStorageKovan": {
			"name": "TempExchangeRateStorageKovan",
			"address": "0x242e657411c8abB6ec764930f8ECFCCED2c25eDD",
			"source": "TempExchangeRateStorageKovan",
			"link": "https://kovan.etherscan.io/address/0x242e657411c8abB6ec764930f8ECFCCED2c25eDD",
			"timestamp": "2021-06-03T02:05:13.270Z",
			"txn": "",
			"network": "kovan"
		}
	},
	"sources": {
		"SafeDecimalMath": {
			"bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a723158201cbf0e1e35b67a085479d8457a3ca97ebd8c3673a740e950783c9efbf5435f6c64736f6c63430005100032",
			"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": "0xede6b1cbbd1b83514fd1a71574942b63ace1d56a817578491aea5854f2432fe2",
				"urls": [
					"bzz-raw://0293914f792d861080396df495e4d6cb29985a929ca6e311f18b12ee3a6dd893",
					"dweb:/ipfs/QmPpCWErQDBdsZ4xCVX6FefRuvX2Wzg4VpGKSvNHgBKqwN"
				]
			},
			"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": "0xede6b1cbbd1b83514fd1a71574942b63ace1d56a817578491aea5854f2432fe2",
						"urls": [
							"bzz-raw://0293914f792d861080396df495e4d6cb29985a929ca6e311f18b12ee3a6dd893",
							"dweb:/ipfs/QmPpCWErQDBdsZ4xCVX6FefRuvX2Wzg4VpGKSvNHgBKqwN"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeRates": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620050b1380380620050b1833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82518660208202830111640100000000821117156200009f57600080fd5b82525081516020918201928201910280838360005b83811015620000ce578181015183820152602001620000b4565b5050505090500160405260200180516040519392919084640100000000821115620000f857600080fd5b9083019060208201858111156200010e57600080fd5b82518660208202830111640100000000821117156200012c57600080fd5b82525081516020918201928201910280838360005b838110156200015b57818101518382015260200162000141565b5050505090500160405250505082808660006001600160a01b0316816001600160a01b03161415620001d4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055508051825114620002905760405162461bcd60e51b815260040180806020018281038252602f81526020018062004fbf602f913960400191505060405180910390fd5b83600560006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062000346631c1554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030857600080fd5b505af41580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b5051426001600160e01b036200036816565b6200035c8282426001600160e01b03620003e116565b50505050505062000c13565b6000838152600c60209081526040808320805460010190819055815180830183526001600160d81b03968716815264ffffffffff958616818501908152978552600484528285209185529252909120905181549451909216600160d81b029183166001600160d81b031990941693909317909116179055565b60008251845114620004255760405162461bcd60e51b8152600401808060200182810382526038815260200180620050406038913960400191505060405180910390fd5b610258420182106200047e576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015620005975760008582815181106200049a57fe5b60200260200101519050848281518110620004b157fe5b602002602001015160001415620004fa5760405162461bcd60e51b8152600401808060200182810382526039815260200180620050786039913960400191505060405180910390fd5b80631c1554d160e21b1415620005425760405162461bcd60e51b81526004018080602001828103825260318152602001806200500f6031913960400191505060405180910390fd5b62000556816001600160e01b036200066216565b8410156200056557506200058e565b6200058c818684815181106200057757fe5b6020026020010151866200036860201b60201c565b505b60010162000481565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101562000601578181015183820152602001620005e7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156200064257818101518382015260200162000628565b5050505090500194505050505060405180910390a15060015b9392505050565b600062000678826001600160e01b036200068b16565b6020015164ffffffffff1690505b919050565b6200069562000bc9565b6000828152600760205260409020546001600160a01b03168015620008315760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b602083106200071d5780518252601f199092019160209182019101620006fc565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d80600081146200077f576040519150601f19603f3d011682016040523d82523d6000602084013e62000784565b606091505b50915091508115620008285760008060008380602001905160a0811015620007ab57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080620008008b620007e781876001600160e01b03620008dd16565b6001600160501b0388166001600160e01b03620009aa16565b6001600160d81b031681526020018264ffffffffff1681525097505050505050505062000686565b505050620008d7565b6000838152600c60205260409020546200084a62000bc9565b5060008481526004602090815260408083208484528252918290208251808401845290546001600160d81b038082168352600160d81b90910464ffffffffff1692820192909252825180840190935280519092918291620008af9189911686620009aa565b6001600160d81b03168152602001826020015164ffffffffff16815250935050505062000686565b50919050565b60008082121562000935576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff1615620009a1576000838152600860209081526040822054620009799160129160ff16906200401d62000b0d821b17901c565b600a0a905062000998818462000b6b60201b620038971790919060201c565b915050620009a4565b50805b92915050565b6000620009b662000be0565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff808216151560608501526101009091041615156080830152158062000a17575083155b1562000a2757839150506200065b565b6000858152600d602052604090205484925080841080159062000a4b575081606001515b1562000a5e578160200151925062000b04565b80841015801562000a70575081608001515b1562000a83578160400151925062000b04565b600062000aa46002846000015162000b6b60201b620038971790919060201c565b905085811162000ab8576000935062000ad5565b62000ad2868262000b0d60201b6200401d1790919060201c565b93505b8260200151841062000aee578260200151935062000b02565b8260400151841162000b0257826040015193505b505b50509392505050565b60008282111562000b65576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008262000b7c57506000620009a4565b8282028284828162000b8a57fe5b04146200065b5760405162461bcd60e51b815260040180806020018281038252602181526020018062004fee6021913960400191505060405180910390fd5b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b61439c8062000c236000396000f3fe608060405234801561001057600080fd5b506004361061032a5760003560e01c8063654a60ac116101b257806390f5dce4116100f9578063bfa005ce116100a2578063c8e6f3951161007c578063c8e6f39514610c5e578063ce8480ea14610c7b578063de02795e14610c98578063fdadbc7e14610cb55761032a565b8063bfa005ce14610a5d578063c2c8a67614610b1f578063c8e5bbd514610b8f5761032a565b8063af3aea86116100d3578063af3aea86146109ce578063b199c764146109eb578063b295ad3414610a2a5761032a565b806390f5dce41461098c578063935f4abd14610994578063ac82f608146109b15761032a565b80637adbf9731161015b5780638295016a116101355780638295016a14610935578063899ffef41461097c5780638da5cb5b146109845761032a565b80637adbf973146108dd5780637dc0d1d0146109105780637f6e9d15146109185761032a565b8063741853601161018c57806374185360146108b057806379ba5097146108b85780637a018a1e146108c05761032a565b8063654a60ac1461081e5780637103353e14610847578063728dec29146108645761032a565b80632bed9e0c116102765780633f0e084f1161021f5780634c36b837116101f95780634c36b837146107f15780634f72def6146107f957806353a47bb7146108165761032a565b80633f0e084f146107655780634308a94f1461079e57806345938849146107d45761032a565b80632f164d13116102505780632f164d13146106f85780633375fcd11461072b57806338aa1b99146107485761032a565b80632bed9e0c146106025780632d7371e11461061f5780632ea913d4146106db5761032a565b8063109e46a2116102d8578063266da16b116102b2578063266da16b146105925780632678df96146105c75780632af64bd3146105fa5761032a565b8063109e46a2146105115780631627540c146105405780632528f0fe146105755761032a565b80630a7d36d1116103095780630a7d36d1146104515780630c71cd23146104c15780630ee4951b146104f75761032a565b80629919c01461032f57806304f3bcec1461036057806305a046e514610391575b600080fd5b61034c6004803603602081101561034557600080fd5b5035610cd8565b604080519115158252519081900360200190f35b610368610cf3565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b610401600480360360208110156103a757600080fd5b8101906020810181356401000000008111156103c257600080fd5b8201836020820111156103d457600080fd5b803590602001918460208302840111640100000000831117156103f657600080fd5b509092509050610d0f565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561043d578181015183820152602001610425565b505050509050019250505060405180910390f35b61034c6004803603602081101561046757600080fd5b81019060208101813564010000000081111561048257600080fd5b82018360208201111561049457600080fd5b803590602001918460208302840111640100000000831117156104b657600080fd5b509092509050610d91565b6104de600480360360208110156104d757600080fd5b5035610e44565b6040805192835290151560208301528051918290030190f35b6104ff610f0a565b60408051918252519081900360200190f35b6104ff6004803603608081101561052757600080fd5b5080359060208101359060408101359060600135610f1a565b6105736004803603602081101561055657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f5d565b005b61034c6004803603602081101561058b57600080fd5b5035610fde565b6104ff600480360360a08110156105a857600080fd5b5080359060208101359060408101359060608101359060800135610ffe565b610401600480360360208110156105dd57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661106b565b61034c61112c565b6105736004803603602081101561061857600080fd5b5035611276565b6106426004803603604081101561063557600080fd5b50803590602001356113c2565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561068657818101518382015260200161066e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106c55781810151838201526020016106ad565b5050505090500194505050505060405180910390f35b6104ff600480360360208110156106f157600080fd5b50356114b3565b6105736004803603602081101561070e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166114d1565b61034c6004803603602081101561074157600080fd5b5035611518565b61034c6004803603602081101561075e57600080fd5b50356115de565b6105736004803603604081101561077b57600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff166115ec565b6107bb600480360360208110156107b457600080fd5b503561189c565b6040805192835260208301919091528051918290030190f35b610573600480360360208110156107ea57600080fd5b50356118e8565b6103686119d5565b6104ff6004803603602081101561080f57600080fd5b50356119df565b6103686119ec565b6104ff6004803603606081101561083457600080fd5b5080359060208101359060400135611a08565b6103686004803603602081101561085d57600080fd5b5035611a20565b6108816004803603602081101561087a57600080fd5b5035611a48565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b610573611a7b565b610573611c8e565b6104ff600480360360208110156108d657600080fd5b5035611d89565b610573600480360360208110156108f357600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611d94565b610368611e1b565b6104ff6004803603602081101561092e57600080fd5b5035611e37565b61095e6004803603606081101561094b57600080fd5b5080359060208101359060400135611e49565b60408051938452602084019290925282820152519081900360600190f35b610401611e69565b610368611ee5565b610368611f01565b6104ff600480360360208110156109aa57600080fd5b5035611f1d565b6104ff600480360360208110156109c757600080fd5b5035611f2f565b61034c600480360360208110156109e457600080fd5b5035611f5e565b610573600480360360c0811015610a0157600080fd5b50803590602081013590604081013590606081013590608081013515159060a001351515611f69565b610a4760048036036020811015610a4057600080fd5b503561233e565b6040805160ff9092168252519081900360200190f35b61034c60048036036060811015610a7357600080fd5b810190602081018135640100000000811115610a8e57600080fd5b820183602082011115610aa057600080fd5b80359060200191846020830284011164010000000083111715610ac257600080fd5b919390929091602081019035640100000000811115610ae057600080fd5b820183602082011115610af257600080fd5b80359060200191846020830284011164010000000083111715610b1457600080fd5b919350915035612353565b61040160048036036020811015610b3557600080fd5b810190602081018135640100000000811115610b5057600080fd5b820183602082011115610b6257600080fd5b80359060200191846020830284011164010000000083111715610b8457600080fd5b5090925090506123d6565b610bff60048036036020811015610ba557600080fd5b810190602081018135640100000000811115610bc057600080fd5b820183602082011115610bd257600080fd5b80359060200191846020830284011164010000000083111715610bf457600080fd5b50909250905061244e565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610c49578181015183820152602001610c31565b50505050905001935050505060405180910390f35b61057360048036036020811015610c7457600080fd5b50356125c2565b6104ff60048036036020811015610c9157600080fd5b50356126d0565b61057360048036036020811015610cae57600080fd5b50356126db565b6107bb60048036036040811015610ccb57600080fd5b5080359060200135612903565b6000610ceb82610ce661291b565b6129ee565b90505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60608083839050604051908082528060200260200182016040528015610d3f578160200160208202803883390190505b50905060005b83811015610d8757610d68858583818110610d5c57fe5b90506020020135612a39565b828281518110610d7457fe5b6020908102919091010152600101610d45565b5090505b92915050565b600080610d9c61291b565b90506060610ddc858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a5592505050565b905060005b84811015610e3857818181518110610df557fe5b602002602001015180610e1f5750610e1f868683818110610e1257fe5b90506020020135846129ee565b15610e305760019350505050610d8b565b600101610de1565b50600095945050505050565b600080610e4f6140e4565b610e5884612d03565b9050837f70555344000000000000000000000000000000000000000000000000000000001415610eab57517affffffffffffffffffffffffffffffffffffffffffffffffffffff16915060009050610f05565b8051610ec9610eb861291b565b836020015164ffffffffff16612fe6565b80610ee05750610ee085610edb613001565b6130a3565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b6000610f1461291b565b90505b90565b600083815b610f2c87836001016131db565b915050801580610f3d575083850181115b15610f4a57509050610f55565b600190910190610f1f565b949350505050565b610f65613443565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610fec82610ce661291b565b80610ceb5750610ceb82610edb613001565b60008386141561100f575083611062565b600061101b87856131db565b509050600061102a86856131db565b5090508061103d57600092505050611062565b61105d81611051898563ffffffff61349b16565b9063ffffffff6134b016565b925050505b95945050505050565b60095460408051828152602080840282010190915260609160009190801561109d578160200160208202803883390190505b50915060005b600954811015611125576000600982815481106110bc57fe5b6000918252602080832090910154808352600790915260409091205490915073ffffffffffffffffffffffffffffffffffffffff908116908616141561111c578084848060010195508151811061110f57fe5b6020026020010181815250505b506001016110a3565b5050919050565b60006060611138611e69565b905060005b815181101561126d57600082828151811061115457fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a72100000000000000000000000000000000000000000000000000000000815260048101859052925193955073ffffffffffffffffffffffffffffffffffffffff918216949116926321f8a721926024808201939291829003018186803b1580156111e257600080fd5b505afa1580156111f6573d6000803e3d6000fd5b505050506040513d602081101561120c57600080fd5b505173ffffffffffffffffffffffffffffffffffffffff16141580611253575060008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16155b156112645760009350505050610f17565b5060010161113d565b50600191505090565b61127e613443565b60008181526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16806112f5576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556008909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690556113648360096134c5565b905080156113bd576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b606080826040519080825280602002602001820160405280156113ef578160200160208202803883390190505b5091508260405190808252806020026020018201604052801561141c578160200160208202803883390190505b509050600061142a856135a5565b905060005b848110156114a95761144186836131db565b85838151811061144d57fe5b6020026020010185848151811061146057fe5b6020908102919091010191909152528161147c57506114ac9050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9091019060010161142f565b50505b9250929050565b600b81815481106114c057fe5b600091825260209091200154905081565b600680547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60006115226140fb565b506000828152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580611585575080606001515b80611591575080608001515b156115a0576000915050610cee565b60006115ab84611f2f565b90506000811180156115cf57508160200151811015806115cf575081604001518111155b92505050610cee565b50919050565b6000610ceb82610edb613001565b6115f4613443565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561164157600080fd5b505afa158015611655573d6000803e3d6000fd5b505050506040513d602081101561166b57600080fd5b505110156116c0576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561170857600080fd5b505afa15801561171c573d6000803e3d6000fd5b505050506040513d602081101561173257600080fd5b50519050601260ff821611156117795760405162461bcd60e51b81526004018080602001828103825260328152602001806142d66032913960400191505060405180910390fd5b60008481526007602052604090205473ffffffffffffffffffffffffffffffffffffffff166117d857600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018490555b600084815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155600883529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b6000806118a76140e4565b6118b084612d03565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b6118f0613661565b60006118fb82611f2f565b1161194d576040805162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b6000818152600460209081526040808320600c808452828520805486529184528285208590559385905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6000610f14613001565b600981815481106114c057fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b6000611a158484846136b7565b509095945050505050565b60076020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020526000908152604090208054600182015460028301546003909301549192909160ff8082169161010090041685565b6060611a85611e69565b905060005b8151811015611c8a576000828281518110611aa157fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d840152815195975060009673ffffffffffffffffffffffffffffffffffffffff9095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611b7d578181015183820152602001611b65565b50505050905090810190601f168015611baa5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611bc857600080fd5b505afa158015611bdc573d6000803e3d6000fd5b505050506040513d6020811015611bf257600080fd5b505160008381526003602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611a8a565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611ce45760405162461bcd60e51b815260040180806020018281038252603581526020018061416c6035913960400191505060405180910390fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b6000610ceb826135a5565b611d9c613443565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020526000908152604090205481565b6000806000611e598686866136b7565b9250925092505b93509350939050565b606080611e74613709565b60408051600180825281830190925291925060609190602080830190803883390190505090507f45786368616e676572000000000000000000000000000000000000000000000081600081518110611ec857fe5b602002602001018181525050611ede8282613768565b9250505090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b60065473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020526000908152604090205481565b6000611f3a82612d03565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000610ceb82613824565b611f71613443565b60008311611fc6576040805162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b8484116120045760405162461bcd60e51b81526004018080602001828103825260278152602001806143416027913960400191505060405180910390fd5b61201585600263ffffffff61389716565b84106120525760405162461bcd60e51b815260040180806020018281038252602e8152602001806142a8602e913960400191505060405180910390fd5b8483106120905760405162461bcd60e51b81526004018080602001828103825260278152602001806142816027913960400191505060405180910390fd5b81801561209a5750805b156120ec576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420667265657a6520617420626f7468206c696d69747300000000604482015290519081900360640190fd5b6000868152600a60205260409020805461213657600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9018790555b858155600181018590556002810184905582806121505750815b15612225576003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101008415150217905560006121b8886135a5565b6000898152600d6020526040902081905590507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df088856121f857866121fa565b875b604080519283526020830191909152818101849052336060830152519081900360800190a15061225f565b6003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556000878152600d60205260408120555b600061226a88611f2f565b905080156122ed5761227a6138f0565b73ffffffffffffffffffffffffffffffffffffffff166357630a4089836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156122d457600080fd5b505af11580156122e8573d6000803e3d6000fd5b505050505b60408051898152602081018990528082018890526060810187905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050505050505050565b60086020526000908152604090205460ff1681565b600061235d613661565b6123cc86868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a0282810182019093528982529093508992508891829185019084908082843760009201919091525087925061391b915050565b9695505050505050565b60608083839050604051908082528060200260200182016040528015612406578160200160208202803883390190505b50905060005b83811015610d875761242f85858381811061242357fe5b90506020020135611f2f565b82828151811061243b57fe5b602090810291909101015260010161240c565b606060008383905060405190808252806020026020018201604052801561247f578160200160208202803883390190505b509150600061248c61291b565b905060606124cc868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a5592505050565b905060005b858110156125b8576124e16140e4565b6124fc8888848181106124f057fe5b90506020020135612d03565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff1686838151811061252c57fe5b60200260200101818152505084158015612578575087878381811061254d57fe5b905060200201357f705553440000000000000000000000000000000000000000000000000000000014155b156125af5782828151811061258957fe5b6020026020010151806125ac57506125ac84826020015164ffffffffff16612fe6565b94505b506001016124d1565b5050509250929050565b6125ca613443565b6000818152600a602052604090205461262a576040805162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000818152600a60205260408120818155600181018290556002810182905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016905561267d82600b6134c5565b90508015611c8a5760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050565b6000610ceb82612a39565b6000818152600a60205260409020805461273c576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420667265657a65206e6f6e2d696e766572736520726174650000604482015290519081900360640190fd5b600381015460ff1615801561275b57506003810154610100900460ff16155b6127ac576040805162461bcd60e51b815260206004820152601a60248201527f546865207261746520697320616c72656164792066726f7a656e000000000000604482015290519081900360640190fd5b60006127b783611f2f565b90506000811180156127db57508160010154811015806127db575081600201548111155b156128b657600182015460038301805460028501548414610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090921693851493909317169190911790556000612854846135a5565b6000858152600d6020908152604091829020839055815187815290810185905280820183905233606082015290519192507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0919081900360800190a1506113bd565b6040805162461bcd60e51b815260206004820152601260248201527f526174652077697468696e20626f756e64730000000000000000000000000000604482015290519081900360640190fd5b60008061291084846131db565b915091509250929050565b6000612925613b8f565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129bd57600080fd5b505afa1580156129d1573d6000803e3d6000fd5b505050506040513d60208110156129e757600080fd5b5051905090565b6000827f70555344000000000000000000000000000000000000000000000000000000001415612a2057506000610d8b565b612a3282612a2d85612a39565b612fe6565b9392505050565b6000612a4482612d03565b6020015164ffffffffff1692915050565b60606000612a61613001565b905073ffffffffffffffffffffffffffffffffffffffff811615612cd05760608351604051908082528060200260200182016040528015612aac578160200160208202803883390190505b50905060005b8451811015612b3b5760076000868381518110612acb57fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110612b0e57fe5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101612ab2565b506040517f7d723cac00000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835173ffffffffffffffffffffffffffffffffffffffff861693637d723cac93869392839260440191808601910280838360005b83811015612bbe578181015183820152602001612ba6565b505050509050019250505060006040518083038186803b158015612be157600080fd5b505afa158015612bf5573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612c3c57600080fd5b8101908080516040519392919084640100000000821115612c5c57600080fd5b908301906020820185811115612c7157600080fd5b8251866020820283011164010000000082111715612c8e57600080fd5b82525081516020918201928201910280838360005b83811015612cbb578181015183820152602001612ca3565b505050509050016040525050509250506115d8565b8251604051908082528060200260200182016040528015612cfb578160200160208202803883390190505b509392505050565b612d0b6140e4565b60008281526007602052604090205473ffffffffffffffffffffffffffffffffffffffff168015612f055760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffeaf968c0000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b60208310612df657805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612db9565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612e56576040519150601f19603f3d011682016040523d82523d6000602084013e612e5b565b606091505b50915091508115612efd5760008060008380602001905160a0811015612e8057600080fd5b50805160208201516060909201516040805180820190915291955091935090915080612ec28b612eb08187613bba565b8769ffffffffffffffffffff16613c63565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff16815250975050505050505050610cee565b5050506115d8565b6000838152600c6020526040902054612f1c6140e4565b5060008481526004602090815260408083208484528252918290208251808401845290547affffffffffffffffffffffffffffffffffffffffffffffffffffff80821683527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff1692820192909252825180840190935280519092918291612fab9189911686613c63565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001826020015164ffffffffff168152509350505050610cee565b600042612ff9838563ffffffff613da116565b109392505050565b600061300b613b8f565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129bd57600080fd5b6000827f705553440000000000000000000000000000000000000000000000000000000014156130d557506000610d8b565b60008381526007602052604090205473ffffffffffffffffffffffffffffffffffffffff1680158061311b575073ffffffffffffffffffffffffffffffffffffffff8316155b1561312a576000915050610d8b565b8273ffffffffffffffffffffffffffffffffffffffff1663357e47fe826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156131a757600080fd5b505afa1580156131bb573d6000803e3d6000fd5b505050506040513d60208110156131d157600080fd5b5051949350505050565b600082815260076020526040812054819073ffffffffffffffffffffffffffffffffffffffff16801561339b5760408051602480820187905282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9a6fc8f50000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b602083106132d757805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0909201916020918201910161329a565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613337576040519150601f19603f3d011682016040523d82523d6000602084013e61333c565b606091505b50915091508115613393576000808280602001905160a081101561335f57600080fd5b50602081015160609091015190925090506133848a61337e8185613bba565b8b613c63565b975095506114ac945050505050565b50505061343b565b6133a36140e4565b5060008581526004602090815260408083208784528252918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff81168084527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff169183019190915261342290879087613c63565b60209091015190935064ffffffffff1691506114ac9050565b509250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146134995760405162461bcd60e51b815260040180806020018281038252602f8152602001806141c8602f913960400191505060405180910390fd5b565b6000612a328383670de0b6b3a7640000613dfb565b6000612a328383670de0b6b3a7640000613e38565b6000805b825481101561359b57838382815481106134df57fe5b90600052602060002001541415613593578281815481106134fc57fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061353757fe5b906000526020600020015483828154811061354e57fe5b6000918252602090912001558254613588847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff830161412e565b506001915050610d8b565b6001016134c9565b5060009392505050565b60008181526007602052604081205473ffffffffffffffffffffffffffffffffffffffff16801561364b578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561361657600080fd5b505afa15801561362a573d6000803e3d6000fd5b505050506040513d602081101561364057600080fd5b50519150610cee9050565b50506000818152600c6020526040902054610cee565b60055473ffffffffffffffffffffffffffffffffffffffff1633146134995760405162461bcd60e51b81526004018080602001828103825260278152602001806141a16027913960400191505060405180910390fd5b60008060006136c586611f2f565b9150838614156136d9575083915080611e60565b6136e284611f2f565b90508015611e60576136fe81611051878563ffffffff61349b16565b925093509350939050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061375957fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613798578160200160208202803883390190505b50905060005b83518110156137da578381815181106137b357fe5b60200260200101518282815181106137c757fe5b602090810291909101015260010161379e565b5060005b825181101561381d578281815181106137f357fe5b602002602001015182828651018151811061380a57fe5b60209081029190910101526001016137de565b5092915050565b600061382e6140fb565b506000828152600a6020908152604091829020825160a0810184528154815260018201549281019290925260028101549282019290925260039091015460ff808216151560608401819052610100909204161515608083015280612a3257506080015192915050565b6000826138a657506000610d8b565b828202828482816138b357fe5b0414612a325760405162461bcd60e51b81526004018080602001828103825260218152602001806141f76021913960400191505060405180910390fd5b6000610f147f45786368616e6765720000000000000000000000000000000000000000000000613e6a565b6000825184511461395d5760405162461bcd60e51b81526004018080602001828103825260388152602001806142496038913960400191505060405180910390fd5b610258420182106139b5576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015613ac95760008582815181106139cf57fe5b602002602001015190508482815181106139e557fe5b602002602001015160001415613a2c5760405162461bcd60e51b81526004018080602001828103825260398152602001806143086039913960400191505060405180910390fd5b807f70555344000000000000000000000000000000000000000000000000000000001415613a8b5760405162461bcd60e51b81526004018080602001828103825260318152602001806142186031913960400191505060405180910390fd5b613a9481612a39565b841015613aa15750613ac1565b613abf81868481518110613ab157fe5b602002602001015186613f60565b505b6001016139b8565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613b31578181015183820152602001613b19565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613b70578181015183820152602001613b58565b5050505090500194505050505060405180910390a15060019392505050565b6000610f147f466c657869626c6553746f726167650000000000000000000000000000000000613e6a565b600080821215613c11576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff16156115d857600083815260086020526040812054613c469060129060ff1661401d565b600a0a9050613c5b838263ffffffff61389716565b915050610d8b565b6000613c6d6140fb565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580613ccd575083155b15613cdb5783915050612a32565b6000858152600d6020526040902054849250808410801590613cfe575081606001515b15613d0f5781602001519250613d98565b808410158015613d20575081608001515b15613d315781604001519250613d98565b8151600090613d4790600263ffffffff61389716565b9050858111613d595760009350613d6c565b613d69818763ffffffff61401d16565b93505b82602001518410613d835782602001519350613d96565b82604001518411613d9657826040015193505b505b50509392505050565b600082820183811015612a32576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613e12868663ffffffff61389716565b81613e1957fe5b0490506005600a825b0610613e2c57600a015b600a9004949350505050565b600080613e5e84613e5287600a870263ffffffff61389716565b9063ffffffff61407a16565b90506005600a82613e22565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a2000000000000000000000000000000093810193909352603180840186905282518085039091018152605190930190915273ffffffffffffffffffffffffffffffffffffffff16908161381d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613f25578181015183820152602001613f0d565b50505050905090810190601f168015613f525780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000838152600c60209081526040808320805460010190819055815180830183527affffffffffffffffffffffffffffffffffffffffffffffffffffff968716815264ffffffffff9586168185019081529785526004845282852091855292529091209051815494519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090941693909317909116179055565b600082821115614074576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008082116140d0576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816140db57fe5b04949350505050565b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b8154818355818111156113bd576000838152602090206113bd918101908301610f1791905b808211156141675760008155600101614153565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7752617465206f6620705553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e43757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7441676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e74a265627a7a7231582092215c11324814efbd78485bfbfa2f6384004dfa0ca38452745c62957f3fdfca64736f6c6343000510003243757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7752617465206f6620705553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e43757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e",
			"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": "oracle_kovan",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x90f5dce4"
				},
				{
					"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": "address",
							"name": "_oracle",
							"type": "address"
						}
					],
					"name": "setOracleKovan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2f164d13"
				},
				{
					"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": "0x205562fdcc0010286b6e0fa0815e8ab4e2c0a0cbf51bd0558130d8770945ccf7",
				"urls": [
					"bzz-raw://daea5c8bdea3f2ecfb2ded472abba9031b411170113c23acc1f5bec5ea75c9be",
					"dweb:/ipfs/QmSKC8A2vKoVd7bEmQk9eNzrD6chFvPb3mpEzBXDYsqZ3N"
				]
			},
			"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": "0x205562fdcc0010286b6e0fa0815e8ab4e2c0a0cbf51bd0558130d8770945ccf7",
						"urls": [
							"bzz-raw://daea5c8bdea3f2ecfb2ded472abba9031b411170113c23acc1f5bec5ea75c9be",
							"dweb:/ipfs/QmSKC8A2vKoVd7bEmQk9eNzrD6chFvPb3mpEzBXDYsqZ3N"
						]
					}
				},
				"version": 1
			}
		},
		"Proxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516106ee3803806106ee8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105f4806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101925780638da5cb5b146101a7578063907dff97146101bc578063d4b839921461025157610070565b80631627540c146100f957806353a47bb71461012e578063776d1a011461015f575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100bc57600080fd5b505af11580156100d0573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e806100f5573d82fd5b3d82f35b34801561010557600080fd5b5061012c6004803603602081101561011c57600080fd5b50356001600160a01b0316610266565b005b34801561013a57600080fd5b506101436102c2565b604080516001600160a01b039092168252519081900360200190f35b34801561016b57600080fd5b5061012c6004803603602081101561018257600080fd5b50356001600160a01b03166102d1565b34801561019e57600080fd5b5061012c61032d565b3480156101b357600080fd5b506101436103e9565b3480156101c857600080fd5b5061012c600480360360c08110156101df57600080fd5b8101906020810181356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b9193509150803590602081013590604081013590606081013590608001356103f8565b34801561025d57600080fd5b50610143610501565b61026e610510565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6102d9610510565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103765760405162461bcd60e51b815260040180806020018281038252603581526020018061055c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b0316331461044e576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a9084908190840183828082843760009201919091525092935089925050811590506104b857600181146104c357600281146104cf57600381146104dc57600481146104ea576104f5565b8260208301a06104f5565b868360208401a16104f5565b85878460208501a26104f5565b8486888560208601a36104f5565b838587898660208701a45b50505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031633146105595760405162461bcd60e51b815260040180806020018281038252602f815260200180610591602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582048824f640cb23c07ebec1486e4fe94fd9fb33909effb5dca84a8f53d2f9e06f364736f6c63430005100032",
			"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": "0xbcca5a2c0b71067a5422f6759282bafe7391890bf7ee4620c54aa217496a81cb",
				"urls": [
					"bzz-raw://810b841d167f35ea8e76c21a30907b7b0db30f3623f99fa1e0207ac5e84b7a4d",
					"dweb:/ipfs/Qmf66HHciwSMEs4yk9FirMKgKuT3MYyzGEnPR3Vokjwdes"
				]
			},
			"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": "0xbcca5a2c0b71067a5422f6759282bafe7391890bf7ee4620c54aa217496a81cb",
						"urls": [
							"bzz-raw://810b841d167f35ea8e76c21a30907b7b0db30f3623f99fa1e0207ac5e84b7a4d",
							"dweb:/ipfs/Qmf66HHciwSMEs4yk9FirMKgKuT3MYyzGEnPR3Vokjwdes"
						]
					}
				},
				"version": 1
			}
		},
		"FeePool": {
			"bytecode": "6080604052631c1554d160e21b6008553480156200001c57600080fd5b5060405162004801380380620048018339810160408190526200003f9162000221565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000343565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c69184906200030b565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000331565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9062000147908390620002fb565b60405180910390a1504201600555600680546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e2565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e2565b80546001600160401b0392909216600160801b02600160801b600160c01b0319909216919091179055506200039e915050565b60006009600260ff16836013540181620001f857fe5b06600281106200020457fe5b6005020192915050565b80516200021b8162000384565b92915050565b6000806000606084860312156200023757600080fd5b60006200024586866200020e565b935050602062000258868287016200020e565b92505060406200026b868287016200020e565b9150509250925092565b620002808162000370565b82525050565b62000280816200035e565b6000620002a060118362000355565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002cf60198362000355565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200021b828462000275565b604081016200031b828562000275565b6200032a602083018462000286565b9392505050565b602080825281016200021b8162000291565b602080825281016200021b81620002c0565b90815260200190565b60006001600160a01b0382166200021b565b60006200021b8260006200021b826200035e565b6200038f816200035e565b81146200039b57600080fd5b50565b61445380620003ae6000396000f3fe608060405234801561001057600080fd5b506004361061025c5760003560e01c80637418536011610145578063b410a034116100bd578063d67bdd251161008c578063eb1edd6111610071578063eb1edd611461048a578063ec55688914610492578063fd1f498d1461049a5761025c565b8063d67bdd251461047a578063e0e6393d146104825761025c565b8063b410a03414610442578063bc67f8321461044a578063cff2ddad1461045d578063d294f093146104725761025c565b80638da5cb5b116101145780639cbdaeb6116100f95780639cbdaeb61461041f578063ac83419314610427578063b10090b81461042f5761025c565b80638da5cb5b1461040457806397107d6d1461040c5761025c565b806374185360146103cc57806379ba5097146103d457806386645274146103dc578063899ffef4146103ef5761025c565b806333140016116101d857806353a47bb7116101a757806359a2f19f1161018c57806359a2f19f1461039e5780636466f45e146103b15780636de813f1146103c45761025c565b806353a47bb714610381578063569249d0146103965761025c565b8063331400161461032b5780633ebc457a1461034b5780633fcd22401461035357806346ba2d90146103795761025c565b8063131b0ae71161022f57806322425fa41161021457806322425fa4146102fb57806322bf55ef146103035780632af64bd3146103165761025c565b8063131b0ae7146102d35780631627540c146102e85761025c565b806304f3bcec1461026157806307ea50cd1461027f5780630813071c1461029f5780630de58615146102b2575b600080fd5b6102696104ad565b60405161027691906140f8565b60405180910390f35b61029261028d366004613337565b6104bc565b6040516102769190614015565b6102926102ad36600461337b565b610591565b6102c56102c0366004613337565b6106dd565b604051610276929190614031565b6102e66102e1366004613337565b61075f565b005b6102e66102f6366004613337565b610789565b6102926107e7565b6102e661031136600461345c565b6107f7565b61031e6109a7565b6040516102769190614007565b61033e610339366004613337565b610ad7565b6040516102769190613fe8565b6102e6610d3b565b61036661036136600461345c565b61108a565b6040516102769796959493929190614295565b610292611133565b610389611139565b6040516102769190613f15565b610292611148565b61031e6103ac366004613337565b6111a3565b61031e6103bf366004613337565b6111b5565b6102926112df565b6102e6611334565b6102e6611486565b6102e66103ea3660046133b5565b611522565b6103f7611662565b6040516102769190613ff6565b610389611948565b6102e661041a366004613337565b611957565b6102696119aa565b6102926119b9565b6102e661043d3660046134da565b611a59565b610292611c53565b6102e6610458366004613337565b611c5d565b610465611c87565b60405161027691906142fd565b61031e611c8c565b610389611d03565b610292611d12565b610389611d1c565b610269611d34565b6102e66104a836600461345c565b611d43565b6006546001600160a01b031681565b60006104c6611dc0565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001610507929190613ea3565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b81526004016105399190614015565b60206040518083038186803b15801561055157600080fd5b505afa158015610565573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105899190810190613420565b90505b919050565b6000816105b95760405162461bcd60e51b81526004016105b090614267565b60405180910390fd5b600282106105d95760405162461bcd60e51b81526004016105b090614227565b6105e560018303611deb565b5468010000000000000000900467ffffffffffffffff16610608575060006106d7565b6000610638600161061b60018603611deb565b5468010000000000000000900467ffffffffffffffff1690611e15565b9050600080610645611e3d565b6001600160a01b031663d29c000a87856040518363ffffffff1660e01b8152600401610672929190613f67565b604080518083038186803b15801561068957600080fd5b505afa15801561069d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106c191908101906134aa565b90925090506106d1838383611e68565b93505050505b92915050565b6000806106e861324f565b6106f184610ad7565b905060008060015b60028110156107525761071e84826002811061071157fe5b6020020151518490611fb3565b925061074884826002811061072f57fe5b602002015160016020020151839063ffffffff611fb316565b91506001016106f9565b509093509150505b915091565b610767611fd8565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610791611fd8565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107dc908390613f15565b60405180910390a150565b60006107f1612004565b90505b90565b60006108016120bc565b6001600160a01b0316331490506000806108196120e7565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b81526004016108449190613f23565b60206040518083038186803b15801561085c57600080fd5b505afa158015610870573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108949190810190613420565b1415905060006108a26120fb565b6001600160a01b0316336001600160a01b031614905060006108c2612126565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b81526004016108ed9190613f23565b60206040518083038186803b15801561090557600080fd5b505afa158015610919573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061093d9190810190613402565b905083806109485750825b806109505750815b806109585750805b6109745760405162461bcd60e51b81526004016105b090614127565b610992856109826000611deb565b600101549063ffffffff611fb316565b61099c6000611deb565b600101555050505050565b600060606109b3611662565b905060005b8151811015610ace5760008282815181106109cf57fe5b602090810291909101810151600081815260079092526040918290205460065492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a72190610a39908590600401614015565b60206040518083038186803b158015610a5157600080fd5b505afa158015610a65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a89919081019061335d565b6001600160a01b0316141580610ab457506000818152600760205260409020546001600160a01b0316155b15610ac557600093505050506107f4565b506001016109b8565b50600191505090565b610adf61324f565b6000806000610aec611e3d565b6040517fb326f84e0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063b326f84e90610b37908890600090600401613f4c565b604080518083038186803b158015610b4e57600080fd5b505afa158015610b62573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b8691908101906134aa565b909350915081158015610b97575082155b15610baf57610ba461324f565b935061058c92505050565b600080610bbe60008686612151565b8751829052875160200181905290925090506000610bdb886104bc565b905060015b8015610d2f5760001981016000610bf682611deb565b5468010000000000000000900467ffffffffffffffff1690508015801590610c305750610c2283611deb565b5467ffffffffffffffff1684105b15610d24576000610c4882600163ffffffff611e1516565b6040517fd29c000a0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0389169063d29c000a90610c92908f908590600401613f67565b604080518083038186803b158015610ca957600080fd5b505afa158015610cbd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ce191908101906134aa565b909a509850610cf1848b8b612151565b9097509550868b8560028110610d0357fe5b602002015152858b8560028110610d1657fe5b602002015160016020020152505b505060001901610be0565b50505050505050919050565b610d436121f3565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610d7b57600080fd5b505afa158015610d8f573d6000803e3d6000fd5b505050506000610d9d612004565b11610dba5760405162461bcd60e51b81526004016105b090614277565b610dc2612004565b4203610dce6000611deb565b54600160801b900467ffffffffffffffff161115610dfe5760405162461bcd60e51b81526004016105b090614147565b6000610e0981611deb565b90506000610e176001611deb565b9050610e488260010154610e3c83600201548460010154611e1590919063ffffffff16565b9063ffffffff611fb316565b610e526000611deb565b60010155600380830154600483015491830154610e7992610e3c919063ffffffff611e1516565b610e836000611deb565b60030155601354610ec090600290610eb490600190610ea8908463ffffffff611fb316565b9063ffffffff611e1516565b9063ffffffff61221e16565b601381905560099060028110610ed257fe5b6005020180547fffffffffffffffff000000000000000000000000000000000000000000000000168155600060018083018290556002830182905560038301829055600490920155610f3e90610f2781611deb565b5467ffffffffffffffff169063ffffffff611fb316565b610f486000611deb565b805467ffffffffffffffff191667ffffffffffffffff92909216919091179055610f7061224e565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015610fa857600080fd5b505afa158015610fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fe09190810190613420565b610fea6000611deb565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff0000000000000000199092169190911790554261102a6000611deb565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff9092169190911790556110866110766001611deb565b5467ffffffffffffffff16612279565b5050565b600080600080600080600061109d61327c565b6110a689611deb565b6040805160e081018252825467ffffffffffffffff808216808452680100000000000000008304821660208501819052600160801b909304909116938301849052600185015460608401819052600286015460808501819052600387015460a0860181905260049097015460c0909501859052919f929e50939c50929a5091985091965090945092505050565b60055481565b6001546001600160a01b031681565b60008060015b600281101561119d5761117461116382611deb565b60010154839063ffffffff611fb316565b915061119361118282611deb565b60020154839063ffffffff611e1516565b915060010161114e565b50905090565b60006111ae82612331565b5092915050565b60006111bf6121f3565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156111f757600080fd5b505afa15801561120b573d6000803e3d6000fd5b50505050611217612555565b61121f6125ab565b600480546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936321f4ae579361126a93889392169101613f31565b60206040518083038186803b15801561128257600080fd5b505afa158015611296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112ba9190810190613402565b6112d65760405162461bcd60e51b81526004016105b0906141b7565b610589826125d6565b60008060015b600281101561119d5761130b6112fa82611deb565b60030154839063ffffffff611fb316565b915061132a61131982611deb565b60040154839063ffffffff611e1516565b91506001016112e5565b606061133e611662565b905060005b815181101561108657600082828151811061135a57fe5b602002602001015190506000600660009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161139c9190613eff565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016113c892919061403f565b60206040518083038186803b1580156113e057600080fd5b505afa1580156113f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611418919081019061335d565b6000838152600760205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906114749084908490614023565b60405180910390a15050600101611343565b6001546001600160a01b031633146114b05760405162461bcd60e51b81526004016105b090614137565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926114f3926001600160a01b0391821692911690613f31565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061152c6120e7565b6001600160a01b0316336001600160a01b0316149050600061154c61224e565b6001600160a01b0316336001600160a01b0316149050818061156b5750805b6115875760405162461bcd60e51b81526004016105b090614117565b61158f611e3d565b6001600160a01b03166394e1a4488686866115aa6000611deb565b5460405160e086901b7fffffffff000000000000000000000000000000000000000000000000000000001681526115fd9493929168010000000000000000900467ffffffffffffffff1690600401613faa565b600060405180830381600087803b15801561161757600080fd5b505af115801561162b573d6000803e3d6000fd5b5050505061165b85858561163f6000611deb565b5468010000000000000000900467ffffffffffffffff166126cb565b5050505050565b60608061166d61279a565b60408051600c8082526101a082019092529192506060919060208201610180803883390190505090507f53797374656d5374617475730000000000000000000000000000000000000000816000815181106116c457fe5b6020026020010181815250507f5065726946696e616e6365000000000000000000000000000000000000000000816001815181106116fe57fe5b6020026020010181815250507f466565506f6f6c537461746500000000000000000000000000000000000000008160028151811061173857fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f7261676500000000000000000000008160038151811061177257fe5b6020026020010181815250507f45786368616e6765720000000000000000000000000000000000000000000000816004815181106117ac57fe5b6020026020010181815250506524b9b9bab2b960d11b816005815181106117cf57fe5b6020026020010181815250507f5065726946696e616e63655374617465000000000000000000000000000000008160068151811061180957fe5b6020026020010181815250507f526577617264457363726f7756320000000000000000000000000000000000008160078151811061184357fe5b6020026020010181815250507f44656c6567617465417070726f76616c730000000000000000000000000000008160088151811061187d57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c7055534400000000000000000000000000816009815181106118b757fe5b6020026020010181815250507f52657761726473446973747269627574696f6e0000000000000000000000000081600a815181106118f157fe5b6020026020010181815250507f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081600b8151811061192b57fe5b60200260200101818152505061194182826127f9565b9250505090565b6000546001600160a01b031681565b61195f611fd8565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906107dc908390613f23565b6003546001600160a01b031681565b60006107f1611a456119c96128ae565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611a0d57600080fd5b505af4158015611a21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e3c9190810190613420565b611a4d612916565b9063ffffffff61297e16565b611a616129a8565b6005544210611a825760405162461bcd60e51b81526004016105b090614237565b611a8a61224e565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015611ac257600080fd5b505afa158015611ad6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611afa9190810190613420565b861115611b195760405162461bcd60e51b81526004016105b090614217565b6040518060e001604052808867ffffffffffffffff1681526020018767ffffffffffffffff1681526020018667ffffffffffffffff168152602001858152602001848152602001838152602001828152506009611b89600260ff16610eb48c601354611fb390919063ffffffff16565b60028110611b9357fe5b82516005919091029190910180546020840151604085015167ffffffffffffffff1990921667ffffffffffffffff948516176fffffffffffffffff000000000000000019166801000000000000000091851691909102177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16600160801b9390911692909202919091178155606082015160018201556080820151600282015560a0820151600382015560c0909101516004909101555050505050505050565b60006107f1612916565b611c65612a2d565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b6000611c966121f3565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611cce57600080fd5b505afa158015611ce2573d6000803e3d6000fd5b50505050611cee612555565b6004546107f1906001600160a01b03166125d6565b6004546001600160a01b031681565b60006107f16128ae565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b6000611d4d612a6c565b6004549091506001600160a01b0380831691161480611d745750336001600160a01b038216145b611d905760405162461bcd60e51b81526004016105b0906141c7565b611dae82611d9e6000611deb565b600301549063ffffffff611fb316565b611db86000611deb565b600301555050565b60006107f17f466565506f6f6c457465726e616c53746f726167650000000000000000000000612a93565b60006009600260ff16836013540181611e0057fe5b0660028110611e0b57fe5b6005020192915050565b600082821115611e375760405162461bcd60e51b81526004016105b090614177565b50900390565b60006107f17f466565506f6f6c53746174650000000000000000000000000000000000000000612a93565b600080611e7361224e565b90506000611fa785611f9b846001600160a01b03166308d95cd5886040518263ffffffff1660e01b8152600401611eaa9190614015565b60206040518083038186803b158015611ec257600080fd5b505afa158015611ed6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611efa9190810190613420565b6040517f08d95cd50000000000000000000000000000000000000000000000000000000081526001600160a01b038716906308d95cd590611f3f908d90600401614015565b60206040518083038186803b158015611f5757600080fd5b505afa158015611f6b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f8f9190810190613420565b9063ffffffff612af016565b9063ffffffff612b0916565b925050505b9392505050565b600082820183811015611fac5760405162461bcd60e51b81526004016105b090614167565b6000546001600160a01b031633146120025760405162461bcd60e51b81526004016105b0906141d7565b565b600061200e612b22565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b815260040161206c929190614031565b60206040518083038186803b15801561208457600080fd5b505afa158015612098573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107f19190810190613420565b60006107f17f45786368616e6765720000000000000000000000000000000000000000000000612a93565b60006107f16524b9b9bab2b960d11b612a93565b60006107f17f4574686572436f6c6c61746572616c7055534400000000000000000000000000612a93565b60006107f17f436f6c6c61746572616c4d616e61676572000000000000000000000000000000612a93565b60008083612164575060009050806121eb565b83851561218f57600061217e600161061b60018a03611deb565b905061218b818787611e68565b9150505b60006121ae8261219e89611deb565b600101549063ffffffff61297e16565b905060006121cf836121bf8a611deb565b600301549063ffffffff61297e16565b90506121da82612b4d565b6121e382612b4d565b945094505050505b935093915050565b60006107f17f53797374656d5374617475730000000000000000000000000000000000000000612a93565b60008161223d5760405162461bcd60e51b81526004016105b0906141a7565b81838161224657fe5b069392505050565b60006107f17f5065726946696e616e6365537461746500000000000000000000000000000000612a93565b6002546040516001600160a01b039091169063907dff979061229f908490602001614015565b60405160208183030381529060405260016040516122bc90613f0a565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526123039392916000908190819060040161405f565b600060405180830381600087803b15801561231d57600080fd5b505af115801561165b573d6000803e3d6000fd5b600080600061233e612b6f565b6001600160a01b0316634f5f5821856040518263ffffffff1660e01b81526004016123699190613f15565b60206040518083038186803b15801561238157600080fd5b505afa158015612395573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123b99190810190613420565b11156124645760006123c96120e7565b6001600160a01b031663f9a3a4bf856040518263ffffffff1660e01b81526004016123f49190613f15565b60206040518083038186803b15801561240c57600080fd5b505afa158015612420573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124449190810190613420565b905061244e612b9a565b81111561246257600080925092505061075a565b505b60008061246f6120e7565b6001600160a01b031663ae3bbbbb866040518263ffffffff1660e01b815260040161249a9190613f15565b604080518083038186803b1580156124b157600080fd5b505afa1580156124c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124e9919081019061347a565b9150915060006124f7612916565b90508083101561250f575060019350915061075a9050565b600061252c61251f6119c96128ae565b839063ffffffff61297e16565b90508084111561254657600083955095505050505061075a565b50600194509092505050915091565b6002546001600160a01b0316331480159061257b57506003546001600160a01b03163314155b801561259257506004546001600160a01b03163314155b1561200257600480546001600160a01b03191633179055565b60006107f17f44656c6567617465417070726f76616c73000000000000000000000000000000612a93565b60008080808080806125e788612331565b91509150816126085760405162461bcd60e51b81526004016105b0906141e7565b80156126265760405162461bcd60e51b81526004016105b0906141f7565b61262f886106dd565b9094509250831515806126425750600083115b61265e5760405162461bcd60e51b81526004016105b090614197565b61267c8861266c6001611deb565b5467ffffffffffffffff16612c02565b83156126975761268b84612cb5565b94506126978886612d91565b82156126b2576126a683612f2d565b95506126b28887613007565b6126bd888688613081565b506001979650505050505050565b6002546040516001600160a01b039091169063907dff97906126f590869086908690602001614287565b604051602081830303815290604052600260405161271290613ed4565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526127629392916001600160a01b038b169060009081906004016140be565b600060405180830381600087803b15801561277c57600080fd5b505af1158015612790573d6000803e3d6000fd5b5050505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f726167650000000000000000000000000000000000816000815181106127ea57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612829578160200160208202803883390190505b50905060005b835181101561286b5783818151811061284457fe5b602002602001015182828151811061285857fe5b602090810291909101015260010161282f565b5060005b82518110156111ae5782818151811061288457fe5b602002602001015182828651018151811061289b57fe5b602090810291909101015260010161286f565b60006128b8612b22565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b815260040161206c929190614031565b6000612920612b22565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b815260040161206c929190614031565b6000670de0b6b3a7640000612999848463ffffffff61314616565b816129a057fe5b049392505050565b6002546001600160a01b031633148015906129ce57506003546001600160a01b03163314155b80156129e557506004546001600160a01b03163314155b156129fd57600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146120025760405162461bcd60e51b81526004016105b090614157565b6002546001600160a01b0316331480612a5057506003546001600160a01b031633145b6120025760405162461bcd60e51b81526004016105b090614257565b60006107f17f52657761726473446973747269627574696f6e000000000000000000000000005b60008181526007602090815260408083205490516001600160a01b039091169182151591612ac391869101613edf565b604051602081830303815290604052906111ae5760405162461bcd60e51b81526004016105b09190614106565b6000611fac83836b033b2e3c9fd0803ce8000000613180565b6000611fac83836b033b2e3c9fd0803ce80000006131c4565b60006107f17f466c657869626c6553746f726167650000000000000000000000000000000000612a93565b60006305f5e10082046005600a820610612b6557600a015b600a900492915050565b60006107f17f5065726946696e616e6365000000000000000000000000000000000000000000612a93565b6000612ba4612b22565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7573646351756f746100000000000000000000000000000000000000000000006040518363ffffffff1660e01b815260040161206c929190614031565b612c0a611dc0565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c0000000000000000000000000084604051602001612c4b929190613ea3565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401612c7f929190614031565b600060405180830381600087803b158015612c9957600080fd5b505af1158015612cad573d6000803e3d6000fd5b505050505050565b6000818160015b6002811015612d89576000612cd082611deb565b6002015490506000612cf582612ce585611deb565b600101549063ffffffff611e1516565b90508015612d7e576000858210612d0c5785612d0e565b815b9050612d20838263ffffffff611fb316565b612d2985611deb565b60020155612d3d868263ffffffff611e1516565b9550612d4f858263ffffffff611fb316565b945085612d645784965050505050505061058c565b83158015612d725750600086115b15612d7c57600095505b505b505060001901612cbc565b509392505050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef1415612dcf5760405162461bcd60e51b81526004016105b090614247565b6000612dd96120e7565b6001600160a01b03166357ad46636008546040518263ffffffff1660e01b8152600401612e069190614015565b60206040518083038186803b158015612e1e57600080fd5b505afa158015612e32573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612e56919081019061343e565b6040517f9dc29fac0000000000000000000000000000000000000000000000000000000081529091506001600160a01b03821690639dc29fac90612eb49073feefeefeefeefeefeefeefeefeefeefeefeefeef908790600401613f67565b600060405180830381600087803b158015612ece57600080fd5b505af1158015612ee2573d6000803e3d6000fd5b50506040517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038416925063867904b491506127629087908790600401613f67565b6000818160015b6002811015612d89576000612f68612f4b83611deb565b60040154612f5884611deb565b600301549063ffffffff611e1516565b90508015612ffd576000848210612f7f5784612f81565b815b9050612fa081612f9085611deb565b600401549063ffffffff611fb316565b612fa984611deb565b60040155612fbd858263ffffffff611e1516565b9450612fcf848263ffffffff611fb316565b935084612fe357839550505050505061058c565b82158015612ff15750600085115b15612ffb57600094505b505b5060001901612f34565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156130455760405162461bcd60e51b81526004016105b090614247565b6301dfe2006130526131ef565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b815260040161276293929190613f82565b6002546040516001600160a01b039091169063907dff97906130ab90869086908690602001613f82565b60405160208183030381529060405260016040516130c890613ec9565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16825261310f9392916000908190819060040161405f565b600060405180830381600087803b15801561312957600080fd5b505af115801561313d573d6000803e3d6000fd5b50505050505050565b600082613155575060006106d7565b8282028284828161316257fe5b0414611fac5760405162461bcd60e51b81526004016105b090614207565b6000806131a68461319a87600a870263ffffffff61314616565b9063ffffffff61321a16565b90506005600a825b06106131b857600a015b600a9004949350505050565b600080600a83046131db868663ffffffff61314616565b816131e257fe5b0490506005600a826131ae565b60006107f17f526577617264457363726f775632000000000000000000000000000000000000612a93565b600080821161323b5760405162461bcd60e51b81526004016105b090614187565b600082848161324657fe5b04949350505050565b60405180604001604052806002905b6132666132d7565b81526020019060019003908161325e5790505090565b6040518060e00160405280600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356106d7816143de565b80516106d7816143de565b80516106d7816143f5565b80516106d7816143fe565b80516106d781614407565b80356106d7816143fe565b60006020828403121561334957600080fd5b600061335584846132f5565b949350505050565b60006020828403121561336f57600080fd5b60006133558484613300565b6000806040838503121561338e57600080fd5b600061339a85856132f5565b92505060206133ab8582860161332c565b9150509250929050565b6000806000606084860312156133ca57600080fd5b60006133d686866132f5565b93505060206133e78682870161332c565b92505060406133f88682870161332c565b9150509250925092565b60006020828403121561341457600080fd5b6000613355848461330b565b60006020828403121561343257600080fd5b60006133558484613316565b60006020828403121561345057600080fd5b60006133558484613321565b60006020828403121561346e57600080fd5b6000613355848461332c565b6000806040838503121561348d57600080fd5b60006134998585613316565b92505060206133ab8582860161330b565b600080604083850312156134bd57600080fd5b60006134c98585613316565b92505060206133ab85828601613316565b600080600080600080600080610100898b0312156134f757600080fd5b60006135038b8b61332c565b98505060206135148b828c0161332c565b97505060406135258b828c0161332c565b96505060606135368b828c0161332c565b95505060806135478b828c0161332c565b94505060a06135588b828c0161332c565b93505060c06135698b828c0161332c565b92505060e061357a8b828c0161332c565b9150509295985092959890939650565b60006135968383613680565b505060400190565b60006135aa83836136d5565b505060200190565b6135bb8161435e565b82525050565b6135bb81614324565b6135bb6135d682614324565b6143bd565b6135e481614311565b6135ee818461058c565b92506135f9826107f4565b8060005b83811015612cad578151613611878261358a565b965061361c8361430b565b9250506001016135fd565b600061363282614317565b61363c818561431b565b93506136478361430b565b8060005b8381101561367557815161365f888261359e565b975061366a8361430b565b92505060010161364b565b509495945050505050565b61368981614311565b613693818461058c565b925061369e826107f4565b8060005b83811015612cad5781516136b6878261359e565b96506136c18361430b565b9250506001016136a2565b6135bb8161432f565b6135bb816107f4565b6135bb6136ea826107f4565b6107f4565b60006136fa82614317565b613704818561431b565b935061371481856020860161438d565b61371d816143ce565b9093019392505050565b6135bb81614334565b6135bb81614369565b6135bb81614377565b600061374f60208361431b565b7f49737375657220616e64205065726946696e616e63655374617465206f6e6c79815260200192915050565b600061378860178361431b565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b60006137c160358361431b565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000613820601d8361431b565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b600061385960138361431b565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b600061389260248361058c565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b60006138f160378361058c565b7f49737375616e636544656274526174696f456e74727928616464726573732c7581527f696e743235362c75696e743235362c75696e7432353629000000000000000000602082015260370192915050565b6000613950601b8361431b565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613989601e8361431b565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006139c2601a8361431b565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006139fb60408361431b565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b6000613a5a60118361058c565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b6000613a9360188361431b565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b6000613acc601f8361431b565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b6000613b05601e8361431b565b7f43616c6c6572206973206e6f742072657761726473417574686f726974790000815260200192915050565b6000613b3e602f8361431b565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000613b9d601f8361431b565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b6000613bd6601f8361431b565b7f412070796e7468206f722050455249207261746520697320696e76616c696400815260200192915050565b6000613c0f60218361431b565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613c6e60168361431b565b7f43616e6e6f7420696d706f727420626164206461746100000000000000000000815260200192915050565b6000613ca7601d8361431b565b7f4578636565647320746865204645455f504552494f445f4c454e475448000000815260200192915050565b6000613ce060298361431b565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000613d3f60198361058c565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613d7860178361431b565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b6000613db160188361058c565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000613dea60178361431b565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000613e2360208361431b565b7f43757272656e7420706572696f64206973206e6f7420636c6f73656420796574815260200192915050565b6000613e5c601b8361431b565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b6135bb81614382565b6135bb8161434b565b6135bb81614358565b6000613eaf82856136de565b602082019150613ebf82846135ca565b5060140192915050565b60006106d782613885565b60006106d7826138e4565b6000613eea82613a4d565b9150613ef682846136de565b50602001919050565b6000613eea82613d32565b60006106d782613da4565b602081016106d782846135c1565b602081016106d782846135b2565b60408101613f3f82856135c1565b611fac60208301846135c1565b60408101613f5a82856135c1565b611fac6020830184613739565b60408101613f7582856135c1565b611fac60208301846136d5565b60608101613f9082866135c1565b613f9d60208301856136d5565b61335560408301846136d5565b60808101613fb882876135c1565b613fc560208301866136d5565b613fd260408301856136d5565b613fdf6060830184613e88565b95945050505050565b608081016106d782846135db565b60208082528101611fac8184613627565b602081016106d782846136cc565b602081016106d782846136d5565b60408101613f3f82856136d5565b60408101613f7582856136d5565b6040810161404d82856136d5565b818103602083015261335581846136ef565b60c0808252810161407081896136ef565b905061407f6020830188613739565b61408c60408301876136d5565b6140996060830186613730565b6140a66080830185613730565b6140b360a0830184613730565b979650505050505050565b60c080825281016140cf81896136ef565b90506140de6020830188613739565b6140eb60408301876136d5565b61409960608301866136d5565b602081016106d78284613727565b60208082528101611fac81846136ef565b6020808252810161058981613742565b602080825281016105898161377b565b60208082528101610589816137b4565b6020808252810161058981613813565b602080825281016105898161384c565b6020808252810161058981613943565b602080825281016105898161397c565b60208082528101610589816139b5565b60208082528101610589816139ee565b6020808252810161058981613a86565b6020808252810161058981613abf565b6020808252810161058981613af8565b6020808252810161058981613b31565b6020808252810161058981613b90565b6020808252810161058981613bc9565b6020808252810161058981613c02565b6020808252810161058981613c61565b6020808252810161058981613c9a565b6020808252810161058981613cd3565b6020808252810161058981613d6b565b6020808252810161058981613ddd565b6020808252810161058981613e16565b6020808252810161058981613e4f565b60608101613f9082866136d5565b60e081016142a3828a613e91565b6142b06020830189613e91565b6142bd6040830188613e91565b6142ca60608301876136d5565b6142d760808301866136d5565b6142e460a08301856136d5565b6142f160c08301846136d5565b98975050505050505050565b602081016106d78284613e9a565b60200190565b50600290565b5190565b90815260200190565b60006105898261433f565b151590565b600061058982614324565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b600061058982614334565b60006105896136ea836107f4565b6000610589826107f4565b60006105898261434b565b60005b838110156143a8578181015183820152602001614390565b838111156143b7576000848401525b50505050565b6000610589826000610589826143d8565b601f01601f191690565b60601b90565b6143e781614324565b81146143f257600080fd5b50565b6143e78161432f565b6143e7816107f4565b6143e78161433456fea365627a7a72315820dc6a668b5681049f7e778ef8448e884c9f6dd30c7e67406b5e516109aee047156c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						}
					],
					"name": "FeePeriodClosed",
					"type": "event",
					"signature": "0xe2ca356e01eb0a4bb7caaf07d472b7d687db156713ffc3111c758e9fe0a17ea7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "pUSDAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRewards",
							"type": "uint256"
						}
					],
					"name": "FeesClaimed",
					"type": "event",
					"signature": "0x1ac537f0ad67b64ac68a04587ff3a4cb6977de22eb2c37ee560897a92c6d07c7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodStartingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x28dcdf40e6b6196065d54760038ab1a8c0c1d9cfa58a99e6b0cb6022f7e24775"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86645274"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimFees",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd294f093"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "claimingForAddress",
							"type": "address"
						}
					],
					"name": "claimOnBehalf",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6466f45e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeCurrentFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ebc457a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "period",
							"type": "uint256"
						}
					],
					"name": "effectiveDebtRatioForPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0813071c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0de58615"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesByPeriod",
					"outputs": [
						{
							"internalType": "uint256[2][2]",
							"name": "results",
							"type": "uint256[2][2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x33140016"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_claimingAddress",
							"type": "address"
						}
					],
					"name": "getLastFeeWithdrawal",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x07ea50cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getPenaltyThresholdRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac834193"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "feePeriodIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingDebtIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"name": "importFeePeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb10090b8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFeesClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "feesClaimable",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59a2f19f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": 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": "0xa3fcf19abfd102e399b831494a1bb65edebf089246b83a447f15dc97af451016",
				"urls": [
					"bzz-raw://9bdb6274c0690c1a9ac2a0cd046fcfb95f4e99dbeee5da78c35cde985cc4b7a9",
					"dweb:/ipfs/QmcQ2tjC1WV49yU5xNST9M6R8UBsHuBerdfcX5x9j4pNJA"
				]
			},
			"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": "0xa3fcf19abfd102e399b831494a1bb65edebf089246b83a447f15dc97af451016",
						"urls": [
							"bzz-raw://9bdb6274c0690c1a9ac2a0cd046fcfb95f4e99dbeee5da78c35cde985cc4b7a9",
							"dweb:/ipfs/QmcQ2tjC1WV49yU5xNST9M6R8UBsHuBerdfcX5x9j4pNJA"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610aa1380380610aa18339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506108fb806101a66000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638b3f8088116100a2578063aefc4ccb11610071578063aefc4ccb14610261578063b16c09f014610269578063b992812e1461028f578063ba08f299146102c9578063cd92eba9146102d15761010b565b80638b3f8088146101e65780638da5cb5b146102255780639371bede1461022d578063a764eb45146102355761010b565b806346317712116100de578063463177121461018c57806352f445ca1461019457806353a47bb7146101ba57806379ba5097146101de5761010b565b806308d95cd5146101105780631627540c1461013f5780631bfba595146101675780633d31e97b1461016f575b600080fd5b61012d6004803603602081101561012657600080fd5b50356102d9565b60408051918252519081900360200190f35b6101656004803603602081101561015557600080fd5b50356001600160a01b03166102f7565b005b610165610353565b6101656004803603602081101561018557600080fd5b50356103b5565b61012d610433565b610165600480360360208110156101aa57600080fd5b50356001600160a01b0316610468565b6101c26104c4565b604080516001600160a01b039092168252519081900360200190f35b6101656104d3565b61020c600480360360208110156101fc57600080fd5b50356001600160a01b031661058f565b6040805192835260208301919091528051918290030190f35b6101c26105a8565b61012d6105b7565b6101656004803603604081101561024b57600080fd5b506001600160a01b0381351690602001356105bd565b6101c261062d565b6101656004803603602081101561027f57600080fd5b50356001600160a01b031661063c565b6102b5600480360360208110156102a557600080fd5b50356001600160a01b03166106a5565b604080519115158252519081900360200190f35b6101656106c2565b61012d61071f565b600581815481106102e657fe5b600091825260209091200154905081565b6102ff610725565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b0316331461039c5760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6004546103b090600163ffffffff61077016565b600455565b6002546001600160a01b031633146103fe5760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00155565b60055460009061044557506000610465565b60058054600019810190811061045757fe5b906000526020600020015490505b90565b610470610725565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b0316331461051c5760405162461bcd60e51b815260040180806020018281038252603581526020018061082f6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6003602052600090815260409020805460019091015482565b6000546001600160a01b031681565b60045481565b6002546001600160a01b031633146106065760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6001600160a01b039091166000908152600360205260409020908155600554600190910155565b6002546001600160a01b031681565b6002546001600160a01b031633146106855760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6001600160a01b0316600090815260036020526040812081815560010155565b6001600160a01b0316600090815260036020526040902054151590565b6002546001600160a01b0316331461070b5760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6004546103b090600163ffffffff6107d116565b60055490565b6000546001600160a01b0316331461076e5760405162461bcd60e51b815260040180806020018281038252602f815260200180610864602f913960400191505060405180910390fd5b565b6000828201838110156107ca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610828576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158206fafb6fe6944c7ca0fbafd1716cb6715d1fa67d1d124597bfdafb2062d2475ef64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "appendDebtLedgerValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d31e97b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb16c09f0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "debtLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x08d95cd5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtLedgerLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd92eba9"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "decrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba08f299"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "hasIssued",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb992812e"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalIssuerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bfba595"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "issuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b3f8088"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastDebtLedgerEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46317712"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						}
					],
					"name": "setCurrentIssuanceData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa764eb45"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9371bede"
				}
			],
			"source": {
				"keccak256": "0x03f1c6bc66eea0f09f67b1b40fb8fbfc42df408c1f85a7c6d9cf39f5c9b138c4",
				"urls": [
					"bzz-raw://3dc2bab22064f7f0ab9de7772cefb2a5a023fa8d6f1a96a78793db9379da3710",
					"dweb:/ipfs/QmdqjHQHCVWnwSTf2QNVksgVwMXkRdEo5QEEbr4kWHc6QG"
				]
			},
			"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": "0x03f1c6bc66eea0f09f67b1b40fb8fbfc42df408c1f85a7c6d9cf39f5c9b138c4",
						"urls": [
							"bzz-raw://3dc2bab22064f7f0ab9de7772cefb2a5a023fa8d6f1a96a78793db9379da3710",
							"dweb:/ipfs/QmdqjHQHCVWnwSTf2QNVksgVwMXkRdEo5QEEbr4kWHc6QG"
						]
					}
				},
				"version": 1
			}
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b5060405161075d38038061075d8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105b7806101a66000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80638da5cb5b116100665780638da5cb5b14610155578063aefc4ccb1461015d578063b46310f614610165578063da46098c14610191578063dd62ed3e146101c75761009e565b80631627540c146100a357806352f445ca146100cb57806353a47bb7146100f157806370a082311461011557806379ba50971461014d575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b03166101f5565b005b6100c9600480360360208110156100e157600080fd5b50356001600160a01b0316610251565b6100f96102ad565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603602081101561012b57600080fd5b50356001600160a01b03166102bc565b60408051918252519081900360200190f35b6100c96102ce565b6100f961038a565b6100f9610399565b6100c96004803603604081101561017b57600080fd5b506001600160a01b0381351690602001356103a8565b6100c9600480360360608110156101a757600080fd5b506001600160a01b0381358116916020810135909116906040013561040d565b61013b600480360360408110156101dd57600080fd5b506001600160a01b0381358116916020013516610482565b6101fd61049f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61025961049f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103175760405162461bcd60e51b81526004018080602001828103825260358152602001806104eb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146103f15760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b031633146104565760405162461bcd60e51b815260040180806020018281038252603481526020018061054f6034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b031633146104e85760405162461bcd60e51b815260040180806020018281038252602f815260200180610520602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820b2a55c301689cf777bdc0a116c605d2a2ba1c8d72c19259d99311129161930c664736f6c63430005100032",
			"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": "0x8219d476f8d152869fdb2412f0a91c58d0757ce6c4409efecffa6fc7cf930b1b",
				"urls": [
					"bzz-raw://b6e5906a7419ba5ab9def9f292cc65eea2b65dba2188f96522bad5b567c77a43",
					"dweb:/ipfs/QmVxZSR4DyJthNx4u5vuXx6H4vctyKZ9EtLZci35gvktQe"
				]
			},
			"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": "0x8219d476f8d152869fdb2412f0a91c58d0757ce6c4409efecffa6fc7cf930b1b",
						"urls": [
							"bzz-raw://b6e5906a7419ba5ab9def9f292cc65eea2b65dba2188f96522bad5b567c77a43",
							"dweb:/ipfs/QmVxZSR4DyJthNx4u5vuXx6H4vctyKZ9EtLZci35gvktQe"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinance": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162004bd038038062004bd083398101604081905262000034916200030b565b8484848484808585604051806040016040528060128152602001712832b934902334b730b731b2902a37b5b2b760711b815250604051806040016040528060048152602001635045524960e01b81525086601289868160006001600160a01b0316816001600160a01b03161415620000c95760405162461bcd60e51b8152600401620000c09062000459565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200011691849062000421565b60405180910390a1506000546001600160a01b03166200014a5760405162461bcd60e51b8152600401620000c09062000447565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200019790839062000411565b60405180910390a150600580546001600160a01b0319166001600160a01b0388161790558451620001d090600690602088019062000239565b508351620001e690600790602087019062000239565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397909716969096029590951790945550620004d79c50505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200027c57805160ff1916838001178555620002ac565b82800160010185558215620002ac579182015b82811115620002ac5782518255916020019190600101906200028f565b50620002ba929150620002be565b5090565b620002db91905b80821115620002ba5760008155600101620002c5565b90565b8051620002eb81620004a7565b92915050565b8051620002eb81620004c1565b8051620002eb81620004cc565b600080600080600060a086880312156200032457600080fd5b6000620003328888620002de565b95505060206200034588828901620002f1565b94505060406200035888828901620002de565b93505060606200036b88828901620002fe565b92505060806200037e88828901620002de565b9150509295509295909350565b62000396816200049a565b82525050565b620003968162000474565b6000620003b66011836200046b565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620003e56019836200046b565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002eb82846200038b565b604081016200043182856200038b565b6200044060208301846200039c565b9392505050565b60208082528101620002eb81620003a7565b60208082528101620002eb81620003d6565b90815260200190565b6000620002eb826200048e565b6000620002eb8262000474565b6001600160a01b031690565b6000620002eb8262000481565b620004b28162000474565b8114620004be57600080fd5b50565b620004b28162000481565b620004b281620002db565b6146e980620004e76000396000f3fe608060405234801561001057600080fd5b50600436106104285760003560e01c806389e86ea01161022b578063d37c4d8b11610130578063e6203ed1116100b8578063ee52a2f311610087578063ee52a2f314610878578063f1dffc001461088b578063f5adc4f51461089e578063f9a3a4bf146108a6578063f9eea80c146108b957610428565b8063e6203ed114610855578063e90dd9e214610868578063ec55688914610870578063edef719a1461062857610428565b8063d8a1f76f116100ff578063d8a1f76f14610801578063d99947de14610814578063dd62ed3e1461081c578063ddd03a3f1461082f578063e3c3af981461084257610428565b8063d37c4d8b146107c0578063d3a71202146107d3578063d67bdd25146107e6578063d6980ba1146107ee57610428565b80639f769807116101b3578063ace88afd11610182578063ace88afd14610761578063af18f2c814610774578063bc67f83214610787578063c836fa0a1461079a578063c9a2f3ad146107ad57610428565b80639f76980714610715578063a311c7c214610728578063a5fdc5de1461073b578063a9059cbb1461074e57610428565b806395d89b41116101fa57806395d89b41146106cc57806397107d6d146106d4578063987757dd146106e75780639cbdaeb6146106fa5780639df95f9f1461070257610428565b806389e86ea0146106965780638da5cb5b146106a95780638e2ac0ea146106b157806391e56b68146106b957610428565b80632e0f26251161033157806357ad4663116102b957806370a082311161028857806370a082311461065657806372cb051f14610669578063741853601461067e57806379ba509714610686578063899ffef41461068e57610428565b806357ad466314610615578063666ed4f1146106285780636b76222f1461063b5780636f01a9861461064357610428565b80633cf1cf26116103005780633cf1cf26146105cc5780634f5f5821146105df57806353a47bb7146105f257806355182ccb146105fa5780635744ad701461060d57610428565b80632e0f26251461057a57806330ead7601461058f578063313ce567146105a25780633b09280a146105aa57610428565b80631b99084c116103b457806323b872dd1161038357806323b872dd1461052f578063269a92f6146105425780632a9053181461054a5780632af64bd3146105525780632bc93ad61461055a57610428565b80631b99084c146104ee5780631e61db7d146105015780631fce304d14610509578063235b9d3b1461051c57610428565b80631249c58b116103fb5780631249c58b146104a1578063131b0ae7146104a95780631627540c146104be57806318160ddd146104d157806318821400146104e657610428565b806304f3bcec1461042d57806306fdde031461044b578063095ea7b3146104605780630e30963c14610480575b600080fd5b6104356108c1565b6040516104429190614468565b60405180910390f35b6104536108d5565b6040516104429190614476565b61047361046e366004613536565b610963565b6040516104429190614312565b61049361048e36600461381f565b6109f1565b604051610442929190614557565b610473610ab3565b6104bc6104b7366004613473565b610edd565b005b6104bc6104cc366004613473565b610f07565b6104d9610f65565b6040516104429190614320565b610453610f6b565b6104bc6104fc366004613680565b610f99565b6104d961105b565b61047361051736600461374d565b6110da565b6104bc61052a3660046138dd565b61116f565b61047361053d3660046134e9565b6111f2565b6104d9611231565b610453611273565b610473611293565b61056d61056836600461374d565b6113af565b60405161044291906140c5565b6105826113ba565b604051610442919061458e565b6104d961059d3660046137aa565b6113bf565b610582611480565b6105bd6105b8366004613473565b611489565b60405161044293929190614580565b6104bc6105da36600461374d565b61151e565b6104d96105ed366004613473565b61159e565b61056d611623565b6104d9610608366004613473565b611632565b6104bc611667565b61043561062336600461374d565b6116e5565b6104bc610636366004613536565b61176a565b6104bc611776565b6104bc610651366004613566565b611821565b6104d9610664366004613473565b6118da565b61067161190b565b6040516104429190614301565b6104bc611989565b6104bc611adb565b610671611b77565b6104d96106a4366004613473565b611c38565b61056d611c6d565b6104bc611c7c565b6104d96106c73660046135f9565b611cc5565b610453611d86565b6104bc6106e2366004613473565b611de1565b6105bd6106f536600461374d565b611e34565b610435611eb2565b61043561071036600461374d565b611ec1565b6104bc61072336600461385f565b611ef6565b6104d9610736366004613473565b611f25565b6104d9610749366004613473565b611f5a565b61047361075c366004613536565b611f8f565b6104bc61076f366004613566565b611fd9565b6104d9610782366004613473565b612026565b6104bc610795366004613473565b61205b565b6104d96107a8366004613598565b612085565b6104d96107bb366004613473565b612140565b6104d96107ce366004613536565b612175565b6104d96107e136600461374d565b6121fc565b61056d612234565b6104d96107fc36600461374d565b612243565b6104bc61080f36600461374d565b61227b565b6104d9612283565b6104d961082a3660046134af565b6122c5565b6104bc61083d366004613789565b6122f8565b6104d9610850366004613473565b612374565b610473610863366004613536565b61247c565b610435612560565b61043561256f565b6104d9610886366004613789565b61257e565b6104bc6108993660046138dd565b612639565b610473612686565b6104d96108b4366004613473565b612700565b6104d9612735565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561095b5780601f106109305761010080835404028352916020019161095b565b820191906000526020600020905b81548152906001019060200180831161093e57829003601f168201915b505050505081565b600061096d612740565b60048054600554604051633691826360e21b81526001600160a01b0392831693919092169163da46098c916109a891859189918991016141b5565b600060405180830381600087803b1580156109c257600080fd5b505af11580156109d6573d6000803e3d6000fd5b505050506109e5818585612796565b60019150505b92915050565b6000808584610a008282612816565b610a08612740565b610a10612877565b610a1861288f565b60048054604051633ce6548960e21b81526001600160a01b039384169363f399522493610a5393909116918d918d918d9185918e910161426f565b6040805180830381600087803b158015610a6c57600080fd5b505af1158015610a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa491908101906138ad565b93509350505094509492505050565b6000610abd6128a6565b6000610ac76128fa565b6001600160a01b03161415610af75760405162461bcd60e51b8152600401610aee906144f7565b60405180910390fd5b6000610b0161291b565b90506000610b0d6128fa565b90506000826001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b4a57600080fd5b505afa158015610b5e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b82919081019061376b565b905060008111610ba45760405162461bcd60e51b8152600401610aee90614527565b604051637e7961d760e01b81526001600160a01b03841690637e7961d790610bd0908490600401614320565b602060405180830381600087803b158015610bea57600080fd5b505af1158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c22919081019061372f565b506000836001600160a01b0316639bdd7ac76040518163ffffffff1660e01b815260040160206040518083038186803b158015610c5e57600080fd5b505afa158015610c72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c96919081019061376b565b90506000610caa838363ffffffff61293716565b6005546040516370a0823160e01b81529192506001600160a01b03169063b46310f6908690610d4790859085906370a0823190610ceb9086906004016140c5565b60206040518083038186803b158015610d0357600080fd5b505afa158015610d17573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d3b919081019061376b565b9063ffffffff61295f16565b6040518363ffffffff1660e01b8152600401610d649291906141dd565b600060405180830381600087803b158015610d7e57600080fd5b505af1158015610d92573d6000803e3d6000fd5b50505050610da1308583612984565b604051630b32e9c760e31b81526001600160a01b038516906359974e3890610dcd908490600401614320565b602060405180830381600087803b158015610de757600080fd5b505af1158015610dfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e1f919081019061372f565b506005546040516370a0823160e01b81526001600160a01b039091169063b46310f6903390610e6090869085906370a0823190610ceb9086906004016140d3565b6040518363ffffffff1660e01b8152600401610e7d9291906140e1565b600060405180830381600087803b158015610e9757600080fd5b505af1158015610eab573d6000803e3d6000fd5b50505050610eba303384612984565b600854610ecd908463ffffffff61295f16565b6008555060019450505050505b90565b610ee56129c7565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b610f0f6129c7565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610f5a9083906140c5565b60405180910390a150565b60085481565b604051806040016040528060128152602001712832b934902334b730b731b2902a37b5b2b760711b81525081565b610fa16129f1565b6002546040516001600160a01b039091169063907dff9790610fcf9088908890889088908890602001614385565b6040516020818303038152906040526002604051610fec9061404d565b6040518091039020610ffd8b612a29565b6000806040518763ffffffff1660e01b8152600401611021969594939291906143e7565b600060405180830381600087803b15801561103b57600080fd5b505af115801561104f573d6000803e3d6000fd5b50505050505050505050565b6000611065612a35565b6001600160a01b031663f2bc4c9c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109d57600080fd5b505afa1580156110b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110d5919081019061376b565b905090565b6000806110e561288f565b600480546040516301670a7b60e21b81526001600160a01b039384169363059c29ec9361111893909116918891016141dd565b60206040518083038186803b15801561113057600080fd5b505afa158015611144573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611168919081019061376b565b1192915050565b6111776128a6565b61117f612740565b611187612a53565b60048054604051637296827b60e01b81526001600160a01b0393841693637296827b936111bc939091169187918791016142e6565b600060405180830381600087803b1580156111d657600080fd5b505af11580156111ea573d6000803e3d6000fd5b505050505050565b60006111fc612740565b611204612a67565b61120e8483612aa7565b50600454611227906001600160a01b0316858585612c85565b90505b9392505050565b600061123b612a35565b6001600160a01b031663567e98f96040518163ffffffff1660e01b815260040160206040518083038186803b15801561109d57600080fd5b604051806040016040528060048152602001635045524960e01b81525081565b6000606061129f611b77565b905060005b81518110156113a65760008282815181106112bb57fe5b6020908102919091018101516000818152600a9092526040918290205460095492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a72190611311908590600401614320565b60206040518083038186803b15801561132957600080fd5b505afa15801561133d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113619190810190613491565b6001600160a01b031614158061138c57506000818152600a60205260409020546001600160a01b0316155b1561139d5760009350505050610eda565b506001016112a4565b50600191505090565b60006109eb82612d8c565b601281565b600085846113cd8282612816565b6113d5612740565b6113dd612877565b6113e561288f565b600480546040516321aea91760e21b81526001600160a01b03938416936386baa45c9361142293909116918d918d918d9185918e918e910161422d565b602060405180830381600087803b15801561143c57600080fd5b505af1158015611450573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611474919081019061376b565b98975050505050505050565b60095460ff1681565b6000806000611496612a53565b6001600160a01b0316633b09280a856040518263ffffffff1660e01b81526004016114c191906140c5565b60606040518083038186803b1580156114d957600080fd5b505afa1580156114ed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611511919081019061392c565b9250925092509193909250565b6115266128a6565b61152e612740565b611536612a53565b60048054604051631695234f60e31b81526001600160a01b039384169363b4a91a789361156993909116918691016141dd565b600060405180830381600087803b15801561158357600080fd5b505af1158015611597573d6000803e3d6000fd5b5050505050565b60006115a8612a35565b6001600160a01b0316635fcdad91836040518263ffffffff1660e01b81526004016115d391906140c5565b60206040518083038186803b1580156115eb57600080fd5b505afa1580156115ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109eb919081019061376b565b6001546001600160a01b031681565b600061163c612a53565b6001600160a01b03166355182ccb836040518263ffffffff1660e01b81526004016115d391906140c5565b61166f6128a6565b611677612740565b61167f612a53565b600480546040516384bb574f60e01b81526001600160a01b03938416936384bb574f936116b09390911691016140c5565b600060405180830381600087803b1580156116ca57600080fd5b505af11580156116de573d6000803e3d6000fd5b505050505b565b60006116ef612a53565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b815260040161171a9190614320565b60206040518083038186803b15801561173257600080fd5b505afa158015611746573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109eb9190810190613841565b611772612877565b5050565b61177e6129c7565b6005546000906001600160a01b03166370a0823161179a612de9565b6040518263ffffffff1660e01b81526004016117b691906140c5565b60206040518083038186803b1580156117ce57600080fd5b505afa1580156117e2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611806919081019061376b565b9050611772611813612de9565b61181b612e03565b83612e1f565b6118296129f1565b6002546040516001600160a01b039091169063907dff97906118519085908590602001614357565b604051602081830303815290604052600260405161186e90614083565b604051809103902061187f88612a29565b6000806040518763ffffffff1660e01b81526004016118a3969594939291906143e7565b600060405180830381600087803b1580156118bd57600080fd5b505af11580156118d1573d6000803e3d6000fd5b50505050505050565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a08231906115d39085906004016140c5565b6060611915612a53565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561194d57600080fd5b505afa158015611961573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110d591908101906136fa565b6060611993611b77565b905060005b81518110156117725760008282815181106119af57fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016119f191906140af565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611a1d929190614365565b60206040518083038186803b158015611a3557600080fd5b505afa158015611a49573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a6d9190810190613491565b6000838152600a60205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611ac9908490849061432e565b60405180910390a15050600101611998565b6001546001600160a01b03163314611b055760405162461bcd60e51b8152600401610aee90614497565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611b48926001600160a01b03918216929116906140fc565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080611b82612fa1565b60408051600380825260808201909252919250606091906020820183803883390190505090506b526577617264457363726f7760a01b81600081518110611bc557fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b81600181518110611bf057fe5b6020026020010181815250506d537570706c795363686564756c6560901b81600281518110611c1b57fe5b602002602001018181525050611c3182826130c3565b9250505090565b6000611c42612a53565b6001600160a01b03166389e86ea0836040518263ffffffff1660e01b81526004016115d391906140c5565b6000546001600160a01b031681565b611c846128a6565b611c8c612740565b611c94612a53565b6004805460405163f0617e5b60e01b81526001600160a01b039384169363f0617e5b936116b09390911691016140c5565b60008584611cd38282612816565b611cdb612740565b611ce3612877565b611ceb61288f565b60048054604051636fffe53b60e11b81526001600160a01b039384169363dfffca7693611d27938f939216918e918e918e918e918e9101614159565b602060405180830381600087803b158015611d4157600080fd5b505af1158015611d55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d79919081019061376b565b9998505050505050505050565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561095b5780601f106109305761010080835404028352916020019161095b565b611de96129c7565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90610f5a9083906140d3565b6000806000611e41612740565b611e49612877565b611e5161288f565b600480546040516306c5a00b60e21b81526001600160a01b0393841693631b16802c93611e8493909116918991016141dd565b606060405180830381600087803b158015611e9e57600080fd5b505af11580156114ed573d6000803e3d6000fd5b6003546001600160a01b031681565b6000611ecb612a53565b6001600160a01b0316639df95f9f836040518263ffffffff1660e01b815260040161171a9190614320565b611efe613178565b600580546001600160a01b0319166001600160a01b038316179055611f22816131fd565b50565b6000611f2f612a53565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b81526004016115d391906140c5565b6000611f64612a53565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b81526004016115d391906140c5565b6000611f99612740565b611fa1612a67565b600454611fb7906001600160a01b031683612aa7565b50600454611fcf906001600160a01b0316848461326f565b5060019392505050565b611fe16129f1565b6002546040516001600160a01b039091169063907dff97906120099085908590602001614357565b604051602081830303815290604052600260405161186e90614042565b6000612030612a35565b6001600160a01b0316631f91ce03836040518263ffffffff1660e01b81526004016115d391906140c5565b61206361327c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600083826120938282612816565b61209b612740565b6120a3612877565b6120ab61288f565b60048054604051630d4388eb60e31b81526001600160a01b0393841693636a1c4758936120e3938d939216918c918c918c9101614117565b602060405180830381600087803b1580156120fd57600080fd5b505af1158015612111573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612135919081019061376b565b979650505050505050565b600061214a612a53565b6001600160a01b031663c9a2f3ad836040518263ffffffff1660e01b81526004016115d391906140c5565b600061217f612a53565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b81526004016121ac9291906141dd565b60206040518083038186803b1580156121c457600080fd5b505afa1580156121d8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061122a919081019061376b565b6000612206612a53565b6001600160a01b031663f023e8db8360006040518363ffffffff1660e01b81526004016115d392919061433c565b6004546001600160a01b031681565b600061224d612a53565b6001600160a01b031663f023e8db8360016040518363ffffffff1660e01b81526004016115d392919061433c565b611f22612877565b600061228d612a53565b6001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561109d57600080fd5b600554604051636eb1769f60e11b81526000916001600160a01b03169063dd62ed3e906121ac90869086906004016140fc565b6123006129f1565b6002546040516001600160a01b039091169063907dff97906123289085908590602001614357565b60405160208183030381529060405260026040516123459061408e565b6040519081900381206001600160e01b031960e086901b1682526118a3939291899060009081906004016143e7565b600061237e612a53565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb39286929116906370a08231906123b99084906004016140c5565b60206040518083038186803b1580156123d157600080fd5b505afa1580156123e5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612409919081019061376b565b6040518363ffffffff1660e01b81526004016124269291906141dd565b604080518083038186803b15801561243d57600080fd5b505afa158015612451573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612475919081019061387d565b5092915050565b6000612486612a67565b61248e612740565b600080612499612a53565b6004805460405163298f137d60e21b81526001600160a01b039384169363a63c4df4936124ce938b938b9390911691016142be565b6040805180830381600087803b1580156124e757600080fd5b505af11580156124fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061251f91908101906138fc565b600454919350915061253f908690849084906001600160a01b03166132bb565b6004546125579086906001600160a01b03168461326f565b95945050505050565b6005546001600160a01b031681565b6002546001600160a01b031681565b6000838261258c8282612816565b612594612740565b61259c612877565b6125a461288f565b60048054604051630a1e187d60e01b81526001600160a01b0393841693630a1e187d936125dd93909116918b918b918b918591016141eb565b602060405180830381600087803b1580156125f757600080fd5b505af115801561260b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061262f919081019061376b565b9695505050505050565b6126416128a6565b612649612740565b612651612a53565b60048054604051630a5f3d0160e31b81526001600160a01b03938416936352f9e808936111bc939091169187918791016142e6565b6000612690612a53565b6001600160a01b031663f5adc4f56040518163ffffffff1660e01b815260040160206040518083038186803b1580156126c857600080fd5b505afa1580156126dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110d5919081019061372f565b600061270a612a53565b6001600160a01b031663f9a3a4bf836040518263ffffffff1660e01b81526004016115d391906140c5565b631c1554d160e21b81565b6002546001600160a01b0316331480159061276657506003546001600160a01b03163314155b801561277d57506004546001600160a01b03163314155b156116e357600480546001600160a01b03191633179055565b6002546040516001600160a01b039091169063907dff97906127bc908490602001614320565b60405160208183030381529060405260036040516127d990614078565b60405180910390206127ea88612a29565b6127f388612a29565b60006040518763ffffffff1660e01b81526004016118a396959493929190614421565b61281e61336f565b6001600160a01b0316632cb28bd883836040518363ffffffff1660e01b815260040161284b929190614357565b60006040518083038186803b15801561286357600080fd5b505afa1580156111ea573d6000803e3d6000fd5b60405162461bcd60e51b8152600401610aee906144e7565b60006110d56822bc31b430b733b2b960b91b612d8c565b6128ae61336f565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156128e657600080fd5b505afa1580156116de573d6000803e3d6000fd5b60006110d5722932bbb0b93239a234b9ba3934b13aba34b7b760691b612d8c565b60006110d56d537570706c795363686564756c6560901b612d8c565b6000828211156129595760405162461bcd60e51b8152600401610aee906144d7565b50900390565b60008282018381101561122a5760405162461bcd60e51b8152600401610aee906144c7565b6002546040516001600160a01b039091169063907dff97906129aa908490602001614320565b60405160208183030381529060405260036040516127d9906140ba565b6000546001600160a01b031633146116e35760405162461bcd60e51b8152600401610aee90614507565b6129f961288f565b6001600160a01b0316336001600160a01b0316146116e35760405162461bcd60e51b8152600401610aee906144b7565b6001600160a01b031690565b60006110d56f5374616b696e6753746174655553444360801b612d8c565b60006110d56524b9b9bab2b960d11b612d8c565b612a6f61336f565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156128e657600080fd5b600080612ab2613389565b6001600160a01b0316638b3f8088856040518263ffffffff1660e01b8152600401612add91906140c5565b604080518083038186803b158015612af457600080fd5b505afa158015612b08573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b2c91908101906138fc565b50905080156109e557600080612b40612a53565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb3928a929116906370a0823190612b7b9084906004016140c5565b60206040518083038186803b158015612b9357600080fd5b505afa158015612ba7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612bcb919081019061376b565b6040518363ffffffff1660e01b8152600401612be89291906141dd565b604080518083038186803b158015612bff57600080fd5b505afa158015612c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c37919081019061387d565b9150915081851115612c5b5760405162461bcd60e51b8152600401610aee90614537565b8015612c795760405162461bcd60e51b8152600401610aee90614517565b50600195945050505050565b600554604051636eb1769f60e11b81526000916001600160a01b03169063da46098c9086908890612d26908790869063dd62ed3e90612cca90879087906004016140fc565b60206040518083038186803b158015612ce257600080fd5b505afa158015612cf6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d1a919081019061376b565b9063ffffffff61293716565b6040518463ffffffff1660e01b8152600401612d44939291906141b5565b600060405180830381600087803b158015612d5e57600080fd5b505af1158015612d72573d6000803e3d6000fd5b50505050612d81848484612e1f565b90505b949350505050565b6000818152600a602090815260408083205490516001600160a01b039091169182151591612dbc91869101614058565b604051602081830303815290604052906124755760405162461bcd60e51b8152600401610aee9190614476565b60006110d56b526577617264457363726f7760a01b612d8c565b60006110d56d2932bbb0b93222b9b1b937bbab1960911b612d8c565b60006001600160a01b03831615801590612e4257506001600160a01b0383163014155b8015612e5c57506002546001600160a01b03848116911614155b612e785760405162461bcd60e51b8152600401610aee90614487565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f6908690612eb890869085906370a0823190612cca9086906004016140c5565b6040518363ffffffff1660e01b8152600401612ed59291906141dd565b600060405180830381600087803b158015612eef57600080fd5b505af1158015612f03573d6000803e3d6000fd5b50506005546040516370a0823160e01b81526001600160a01b03909116925063b46310f691508590612f4790869085906370a0823190610ceb9086906004016140c5565b6040518363ffffffff1660e01b8152600401612f649291906141dd565b600060405180830381600087803b158015612f7e57600080fd5b505af1158015612f92573d6000803e3d6000fd5b50505050611fcf848484612984565b60408051600680825260e082019092526060916020820160c0803883390190505090506f5065726946696e616e6365537461746560801b81600081518110612fe557fe5b6020026020010181815250506b53797374656d53746174757360a01b8160018151811061300e57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061303457fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061305757fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b8160048151811061308757fe5b6020026020010181815250506f5374616b696e6753746174655553444360801b816005815181106130b457fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156130f3578160200160208202803883390190505b50905060005b83518110156131355783818151811061310e57fe5b602002602001015182828151811061312257fe5b60209081029190910101526001016130f9565b5060005b82518110156124755782818151811061314e57fe5b602002602001015182828651018151811061316557fe5b6020908102919091010152600101613139565b6002546001600160a01b0316331480159061319e57506003546001600160a01b03163314155b80156131b557506004546001600160a01b03163314155b156131cd57600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146116e35760405162461bcd60e51b8152600401610aee906144a7565b6002546040516001600160a01b039091169063907dff97906132239084906020016140c5565b604051602081830303815290604052600160405161324090614099565b6040519081900381206001600160e01b031960e086901b16825261156993929160009081908190600401614393565b6000611227848484612e1f565b6002546001600160a01b031633148061329f57506003546001600160a01b031633145b6116e35760405162461bcd60e51b8152600401610aee90614547565b6002546040516001600160a01b039091169063907dff97906132e590869086908690602001614572565b6040516020818303038152906040526002604051613302906140a4565b604051809103902061331389612a29565b6000806040518763ffffffff1660e01b8152600401613337969594939291906143e7565b600060405180830381600087803b15801561335157600080fd5b505af1158015613365573d6000803e3d6000fd5b5050505050505050565b60006110d56b53797374656d53746174757360a01b612d8c565b60006110d56f5065726946696e616e6365537461746560801b612d8c565b80356109eb81614677565b80516109eb81614677565b600082601f8301126133ce57600080fd5b81516133e16133dc826145c3565b61459c565b9150818183526020840193506020810190508385602084028201111561340657600080fd5b60005b83811015613432578161341c8882613452565b8452506020928301929190910190600101613409565b5050505092915050565b80516109eb8161468b565b80356109eb81614694565b80516109eb81614694565b80516109eb8161469d565b80356109eb8161469d565b60006020828403121561348557600080fd5b6000612d8484846133a7565b6000602082840312156134a357600080fd5b6000612d8484846133b2565b600080604083850312156134c257600080fd5b60006134ce85856133a7565b92505060206134df858286016133a7565b9150509250929050565b6000806000606084860312156134fe57600080fd5b600061350a86866133a7565b935050602061351b868287016133a7565b925050604061352c86828701613447565b9150509250925092565b6000806040838503121561354957600080fd5b600061355585856133a7565b92505060206134df85828601613447565b60008060006060848603121561357b57600080fd5b600061358786866133a7565b935050602061351b86828701613447565b600080600080608085870312156135ae57600080fd5b60006135ba87876133a7565b94505060206135cb87828801613447565b93505060406135dc87828801613447565b92505060606135ed87828801613447565b91505092959194509250565b60008060008060008060c0878903121561361257600080fd5b600061361e89896133a7565b965050602061362f89828a01613447565b955050604061364089828a01613447565b945050606061365189828a01613447565b935050608061366289828a016133a7565b92505060a061367389828a01613447565b9150509295509295509295565b60008060008060008060c0878903121561369957600080fd5b60006136a589896133a7565b96505060206136b689828a01613447565b95505060406136c789828a01613447565b94505060606136d889828a01613447565b93505060806136e989828a01613447565b92505060a061367389828a016133a7565b60006020828403121561370c57600080fd5b815167ffffffffffffffff81111561372357600080fd5b612d84848285016133bd565b60006020828403121561374157600080fd5b6000612d84848461343c565b60006020828403121561375f57600080fd5b6000612d848484613447565b60006020828403121561377d57600080fd5b6000612d848484613452565b60008060006060848603121561379e57600080fd5b60006135878686613447565b600080600080600060a086880312156137c257600080fd5b60006137ce8888613447565b95505060206137df88828901613447565b94505060406137f088828901613447565b9350506060613801888289016133a7565b925050608061381288828901613447565b9150509295509295909350565b6000806000806080858703121561383557600080fd5b60006135ba8787613447565b60006020828403121561385357600080fd5b6000612d84848461345d565b60006020828403121561387157600080fd5b6000612d848484613468565b6000806040838503121561389057600080fd5b600061389c8585613452565b92505060206134df8582860161343c565b600080604083850312156138c057600080fd5b60006138cc8585613452565b92505060206134df8582860161345d565b600080604083850312156138f057600080fd5b60006135558585613447565b6000806040838503121561390f57600080fd5b600061391b8585613452565b92505060206134df85828601613452565b60008060006060848603121561394157600080fd5b600061394d8686613452565b935050602061395e86828701613452565b925050604061352c86828701613452565b600061397b83836139fd565b505060200190565b61398c8161461d565b82525050565b61398c816145fc565b60006139a6826145ea565b6139b081856145ee565b93506139bb836145e4565b8060005b838110156139e95781516139d3888261396f565b97506139de836145e4565b9250506001016139bf565b509495945050505050565b61398c81614607565b61398c81610eda565b61398c613a1282610eda565b610eda565b6000613a22826145ea565b613a2c81856145ee565b9350613a3c818560208601614641565b613a458161466d565b9093019392505050565b61398c8161460c565b61398c81614628565b61398c81614636565b6000613a77601f836145ee565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b6000613ab06035836145ee565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000613b076013836145ee565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b6000613b36601e836145ee565b7f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000815260200192915050565b6000613b6f601b836145ee565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613ba86028836145f7565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81526775696e743235362960c01b602082015260280192915050565b6000613bf2603e836145f7565b7f50796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b6000613c51601e836145ee565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613c8a601b836145ee565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b6000613cc36011836145f7565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000613cf0601b836145ee565b7f52657761726473446973747269627574696f6e206e6f74207365740000000000815260200192915050565b6000613d29602f836145ee565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613d7a6021836145f7565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000613dbd601f836145ee565b7f412070796e7468206f722050455249207261746520697320696e76616c696400815260200192915050565b6000613df66027836145f7565b7f45786368616e676552656261746528616464726573732c627974657333322c75815266696e743235362960c81b602082015260270192915050565b6000613e3f6029836145f7565b7f45786368616e6765547261636b696e6728627974657333322c627974657333328152682c75696e743235362960b81b602082015260290192915050565b6000613e8a601a836145f7565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b6000613ec36032836145f7565b7f4163636f756e744c69717569646174656428616464726573732c75696e743235815271362c75696e743235362c616464726573732960701b602082015260320192915050565b6000613f176019836145f7565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613f506015836145ee565b744e6f20737570706c79206973206d696e7461626c6560581b815260200192915050565b6000613f816021836145f7565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000613fc46027836145ee565b7f43616e6e6f74207472616e73666572207374616b6564206f7220657363726f778152666564205045524960c81b602082015260400192915050565b600061400d6017836145ee565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b61398c81614617565b60006109eb82613b9b565b60006109eb82613be5565b600061406382613cb6565b915061406f8284613a06565b50602001919050565b60006109eb82613d6d565b60006109eb82613de9565b60006109eb82613e32565b60006109eb82613e7d565b60006109eb82613eb6565b600061406382613f0a565b60006109eb82613f74565b602081016109eb8284613992565b602081016109eb8284613983565b604081016140ef8285613983565b61122a60208301846139fd565b6040810161410a8285613992565b61122a6020830184613992565b60a081016141258288613992565b6141326020830187613992565b61413f60408301866139fd565b61414c60608301856139fd565b61262f60808301846139fd565b60e08101614167828a613992565b6141746020830189613992565b61418160408301886139fd565b61418e60608301876139fd565b61419b60808301866139fd565b6141a860a0830185613992565b61147460c08301846139fd565b606081016141c38286613992565b6141d06020830185613992565b612d8460408301846139fd565b604081016140ef8285613992565b60a081016141f98288613992565b61420660208301876139fd565b61421360408301866139fd565b61422060608301856139fd565b61262f6080830184613992565b60e0810161423b828a613992565b61424860208301896139fd565b61425560408301886139fd565b61426260608301876139fd565b61419b6080830186613992565b60c0810161427d8289613992565b61428a60208301886139fd565b61429760408301876139fd565b6142a460608301866139fd565b6142b16080830185613992565b61213560a08301846139fd565b606081016142cc8286613992565b6142d960208301856139fd565b612d846040830184613992565b606081016142f48286613992565b6141d060208301856139fd565b6020808252810161122a818461399b565b602081016109eb82846139f4565b602081016109eb82846139fd565b6040810161410a82856139fd565b6040810161434a82856139fd565b61122a60208301846139f4565b604081016140ef82856139fd565b6040810161437382856139fd565b81810360208301526112278184613a17565b60a081016141f982886139fd565b60c080825281016143a48189613a17565b90506143b36020830188613a61565b6143c060408301876139fd565b6143cd6060830186613a58565b6143da6080830185613a58565b61213560a0830184613a58565b60c080825281016143f88189613a17565b90506144076020830188613a61565b61441460408301876139fd565b6143cd60608301866139fd565b60c080825281016144328189613a17565b90506144416020830188613a61565b61444e60408301876139fd565b61445b60608301866139fd565b6143da60808301856139fd565b602081016109eb8284613a4f565b6020808252810161122a8184613a17565b602080825281016109eb81613a6a565b602080825281016109eb81613aa3565b602080825281016109eb81613afa565b602080825281016109eb81613b29565b602080825281016109eb81613b62565b602080825281016109eb81613c44565b602080825281016109eb81613c7d565b602080825281016109eb81613ce3565b602080825281016109eb81613d1c565b602080825281016109eb81613db0565b602080825281016109eb81613f43565b602080825281016109eb81613fb7565b602080825281016109eb81614000565b6040810161456582856139fd565b61122a6020830184613a4f565b606081016142cc82866139fd565b606081016142f482866139fd565b602081016109eb8284614039565b60405181810167ffffffffffffffff811182821017156145bb57600080fd5b604052919050565b600067ffffffffffffffff8211156145da57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b60006109eb82612a29565b151590565b60006109eb826145fc565b60ff1690565b60006109eb8261460c565b60006109eb613a1283610eda565b60006109eb82610eda565b60005b8381101561465c578181015183820152602001614644565b838111156116de5750506000910152565b601f01601f191690565b614680816145fc565b8114611f2257600080fd5b61468081614607565b61468081610eda565b6146808161460c56fea365627a7a72315820688e2360670d2d7acc38bad43345f3eb024c6cbc0e21e9b686dac5af7e8bec646c6578706572696d656e74616cf564736f6c63430005100040",
			"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": 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": "availableUSDCStakeAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89e86ea0"
				},
				{
					"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": "_burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_unstakeAmount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsAndUnstakeUSDC",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf1dffc00"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "burnPynthsAndUnstakeUSDCToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5744ad70"
				},
				{
					"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"
						}
					],
					"name": "currentUSDCDebtQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf9a3a4bf"
				},
				{
					"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": "bytes32",
							"name": "_contractName",
							"type": "bytes32"
						}
					],
					"name": "getRequiredAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2bc93ad6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "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": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsAndStakeMaxUSDC",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cf1cf26"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_usdcStakeAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsAndStakeUSDC",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x235b9d3b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6203ed1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "migrateEscrowBalanceToRewardEscrowV2",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6b76222f"
				},
				{
					"constant": false,
					"inputs": [],
					"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": 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": "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": true,
					"inputs": [],
					"name": "totalUSDCStakerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1e61db7d"
				},
				{
					"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": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "usdcStakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f5f5821"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "usdcTotalStakedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x269a92f6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "userUSDCStakingShare",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf18f2c8"
				}
			],
			"source": {
				"keccak256": "0x31d71052fd446ca3cc659f93067a22936ad8e9899a47f78507593bdbc1f5ff92",
				"urls": [
					"bzz-raw://b511777ecca8af2e9035bcf5f8e2164a2b260eb65ad42b890578ab281c660e36",
					"dweb:/ipfs/QmSjPsk6wAGbBVuykm4ADzzvbkDxpnhp5kkPq2Yuoi2MWD"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinance.sol": "PeriFinance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinance.sol": {
						"keccak256": "0x31d71052fd446ca3cc659f93067a22936ad8e9899a47f78507593bdbc1f5ff92",
						"urls": [
							"bzz-raw://b511777ecca8af2e9035bcf5f8e2164a2b260eb65ad42b890578ab281c660e36",
							"dweb:/ipfs/QmSjPsk6wAGbBVuykm4ADzzvbkDxpnhp5kkPq2Yuoi2MWD"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516113bf3803806113bf8339818101604052604081101561003357600080fd5b5080516020909101516249d400826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b0392909216919091179055506112958061012a6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80636b3905c4116100de5780639b217f9011610097578063cb5147b211610071578063cb5147b2146104fe578063d0cc82e314610524578063da7bd3e91461052c578063ee1d036c146105585761018e565b80639b217f90146103f8578063a15d59ce14610424578063bb2a7d0c1461042c5761018e565b80636b3905c41461036e57806370a082311461039457806379ba5097146103ba5780638ad58777146103c25780638da5cb5b146103ca57806397f46527146103d25761018e565b80632f5bb6611161014b57806346ba2d901161012557806346ba2d90146103325780634e5a60911461033a57806353a47bb71461035e57806363667eb7146103665761018e565b80632f5bb66114610297578063458efde3146102f857806345e5441f146103005761018e565b8063135c0701146101935780631627540c146101bb57806319e740c0146101e15780631bb47b4414610219578063204b676a1461024b578063227d517a14610271575b600080fd5b6101b9600480360360208110156101a957600080fd5b50356001600160a01b0316610584565b005b6101b9600480360360208110156101d157600080fd5b50356001600160a01b0316610635565b610207600480360360208110156101f757600080fd5b50356001600160a01b0316610691565b60408051918252519081900360200190f35b6101b96004803603606081101561022f57600080fd5b506001600160a01b0381351690602081013590604001356106d3565b6102076004803603602081101561026157600080fd5b50356001600160a01b0316610a0e565b6102076004803603602081101561028757600080fd5b50356001600160a01b0316610a29565b6102bd600480360360208110156102ad57600080fd5b50356001600160a01b0316610a3b565b6040518082600260200280838360005b838110156102e55781810151838201526020016102cd565b5050505090500191505060405180910390f35b6101b9610a8c565b6102076004803603606081101561031657600080fd5b506001600160a01b038135169060208101359060400135610c49565b610207610c85565b610342610c8b565b604080516001600160a01b039092168252519081900360200190f35b610342610c9a565b610207610ca9565b6102076004803603602081101561038457600080fd5b50356001600160a01b0316610cae565b610207600480360360208110156103aa57600080fd5b50356001600160a01b0316610cc7565b6101b9610ce2565b610207610d9e565b610342610da3565b610207600480360360208110156103e857600080fd5b50356001600160a01b0316610db2565b6102076004803603604081101561040e57600080fd5b506001600160a01b038135169060200135610dc4565b610207610ddf565b6101b96004803603606081101561044257600080fd5b6001600160a01b03823516919081019060408101602082013564010000000081111561046d57600080fd5b82018360208201111561047f57600080fd5b803590602001918460208302840111640100000000831117156104a157600080fd5b9193909290916020810190356401000000008111156104bf57600080fd5b8201836020820111156104d157600080fd5b803590602001918460208302840111640100000000831117156104f357600080fd5b509092509050610de5565b6101b96004803603602081101561051457600080fd5b50356001600160a01b0316610e6f565b610207610ecb565b6102bd6004803603604081101561054257600080fd5b506001600160a01b038135169060200135610ed0565b6102076004803603604081101561056e57600080fd5b506001600160a01b038135169060200135610f3f565b61058c610f52565b60025442106105cc5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081206105ed91611054565b6001600160a01b0381166000908152600560205260409020546006546106189163ffffffff610f9d16565b6006556001600160a01b0316600090815260056020526040812055565b61063d610f52565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008061069d83610a0e565b905060005b818110156106ca576106b48482610dc4565b156106c25791506106ce9050565b6001016106a2565b5090505b919050565b6106db610f52565b600254421061071b5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b81421061076f576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b806107c1576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546107d4908263ffffffff610ffa16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561082257600080fd5b505afa158015610836573d6000803e3d6000fd5b505050506040513d602081101561084c57600080fd5b5051600654111561088e5760405162461bcd60e51b81526004018080602001828103825260478152602001806111c26047913960600191505060405180910390fd5b6001600160a01b03831660009081526004602052604090205460148111156108fd576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b80610922576001600160a01b03841660009081526005602052604090208290556109b7565b8261093885600161093288610a0e565b03610dc4565b106109745760405162461bcd60e51b815260040180806020018281038252603781526020018061118b6037913960400191505060405180910390fd5b6001600160a01b03841660009081526005602052604090205461099d908363ffffffff610ffa16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610a069260029081029091019190611078565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610a436110b6565b6000610a4e83610691565b9050610a5983610a0e565b811415610a7b57505060408051808201909152600080825260208201526106ce565b610a858382610ed0565b9392505050565b6000610a9733610a0e565b90506000805b82811015610b3c576000610ab13383610dc4565b905042811115610ac15750610b3c565b6000610acd3384610f3f565b90508015610b3257604080518082018252600080825260208083018290523382526004905291909120805485908110610b0257fe5b9060005260206000209060020201906002610b1e9291906110d4565b50610b2f848263ffffffff610ffa16565b93505b5050600101610a9d565b508015610c4557600654610b56908263ffffffff610f9d16565b60065533600090815260056020526040902054610b79908263ffffffff610f9d16565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610bde57600080fd5b505af1158015610bf2573d6000803e3d6000fd5b505050506040513d6020811015610c0857600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610c6257fe5b90600052602060002090600202018160028110610c7b57fe5b0154925083915050565b60025481565b6003546001600160a01b031681565b6001546001600160a01b031681565b600081565b6000610cb982610a3b565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b03163314610d2b5760405162461bcd60e51b81526004018080602001828103825260358152602001806111566035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610dbd82610a3b565b6001610cbc565b6000610dd08383610ed0565b60005b60200201519392505050565b60065481565b610ded610f52565b6002544210610e2d5760405162461bcd60e51b81526004018080602001828103825260298152602001806112386029913960400191505060405180910390fd5b60005b83811015610a0657610e6786868684818110610e4857fe5b90506020020135858585818110610e5b57fe5b905060200201356106d3565b600101610e30565b610e77610f52565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b601481565b610ed86110b6565b6001600160a01b0383166000908152600460205260409020805483908110610efc57fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610f1f575050505050905092915050565b6000610f4b8383610ed0565b6001610dd3565b6000546001600160a01b03163314610f9b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611209602f913960400191505060405180910390fd5b565b600082821115610ff4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610a85576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b50805460008255600202906000526020600020908101906110759190611107565b50565b82600281019282156110a6579160200282015b828111156110a657825182559160200191906001019061108b565b506110b292915061112d565b5090565b60405180604001604052806002906020820280388339509192915050565b82600281019282156110a6579160200282015b828111156110a6578251829060ff169055916020019190600101906110e7565b61112a91905b808211156110b25760006111218282611147565b5060020161110d565b90565b61112a91905b808211156110b25760008155600101611133565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a7231582010766d9b7c8e3a5c1fae0ca5e5eceb0f41e497b555a56f8b44c189156949e68464736f6c63430005100032",
			"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": "0xe1bbfae093fcc155864fb442b43a4ed376069e6fe5cdc3b944f88fb4b2827a71",
				"urls": [
					"bzz-raw://aa540c2589bb73cf586ac852bdbfc9cfe8f793c0951ee09cb6feefbb048e4c5e",
					"dweb:/ipfs/Qmc1Zs5xopafSQQVdyWYAevVTUmB46uBa5Luf8ea7kyzMZ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceEscrow.sol": "PeriFinanceEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceEscrow.sol": {
						"keccak256": "0xe1bbfae093fcc155864fb442b43a4ed376069e6fe5cdc3b944f88fb4b2827a71",
						"urls": [
							"bzz-raw://aa540c2589bb73cf586ac852bdbfc9cfe8f793c0951ee09cb6feefbb048e4c5e",
							"dweb:/ipfs/Qmc1Zs5xopafSQQVdyWYAevVTUmB46uBa5Luf8ea7kyzMZ"
						]
					}
				},
				"version": 1
			}
		},
		"Pynth": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162002cf638038062002cf683398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608090930151919450925080888888888660128a86816001600160a01b0381166200022a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002d5576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035790600690602088019062000454565b5083516200036d90600790602087019062000454565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003f2576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b03841662000443576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620004f99350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049757805160ff1916838001178555620004c7565b82800160010185558215620004c7579182015b82811115620004c7578251825591602001919060010190620004aa565b50620004d5929150620004d9565b5090565b620004f691905b80821115620004d55760008155600101620004e0565b90565b6127ed80620005096000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80638da5cb5b1161011a578063bc67f832116100ad578063e73cced31161007c578063e73cced3146105ec578063e90dd9e214610622578063eb1edd611461062a578063ec55688914610632578063f7ea7a3d1461063a57610206565b8063bc67f83214610588578063d67bdd25146105ae578063dbd06c85146105b6578063dd62ed3e146105be57610206565b80639dc29fac116100e95780639dc29fac146104de5780639f7698071461050a578063a9059cbb14610530578063b014c3a31461055c57610206565b80638da5cb5b146104a057806395d89b41146104a857806397107d6d146104b05780639cbdaeb6146104d657610206565b80632e0f26251161019d578063741853601161016c57806374185360146103e657806379ba5097146103ee5780637f4dab2f146103f6578063867904b41461041c578063899ffef41461044857610206565b80632e0f262514610392578063313ce567146103b057806353a47bb7146103b857806370a08231146103c057610206565b80631627540c116101d95780631627540c1461031457806318160ddd1461033a57806323b872dd146103545780632af64bd31461038a57610206565b806304f3bcec1461020b57806306fdde031461022f578063095ea7b3146102ac578063131b0ae7146102ec575b600080fd5b610213610657565b604080516001600160a01b039092168252519081900360200190f35b61023761066b565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610271578181015183820152602001610259565b50505050905090810190601f16801561029e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360408110156102c257600080fd5b506001600160a01b0381351690602001356106f9565b604080519115158252519081900360200190f35b6103126004803603602081101561030257600080fd5b50356001600160a01b0316610794565b005b6103126004803603602081101561032a57600080fd5b50356001600160a01b03166107be565b61034261081a565b60408051918252519081900360200190f35b6102d86004803603606081101561036a57600080fd5b506001600160a01b03813581169160208101359091169060400135610820565b6102d8610847565b61039a610959565b6040805160ff9092168252519081900360200190f35b61039a61095e565b610213610967565b610342600480360360208110156103d657600080fd5b50356001600160a01b0316610976565b6103126109fb565b610312610bd8565b6103426004803603602081101561040c57600080fd5b50356001600160a01b0316610c94565b6103126004803603604081101561043257600080fd5b506001600160a01b038135169060200135610dd7565b610450610e94565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b610213610f50565b610237610f5f565b610312600480360360208110156104c657600080fd5b50356001600160a01b0316610fba565b610213611016565b610312600480360360408110156104f457600080fd5b506001600160a01b038135169060200135611025565b6103126004803603602081101561052057600080fd5b50356001600160a01b03166110e3565b6102d86004803603604081101561054657600080fd5b506001600160a01b038135169060200135611112565b6102d86004803603604081101561057257600080fd5b506001600160a01b0381351690602001356111aa565b6103126004803603602081101561059e57600080fd5b50356001600160a01b0316611303565b61021361132d565b61034261133c565b610342600480360360408110156105d457600080fd5b506001600160a01b0381358116916020013516611342565b6102d86004803603606081101561060257600080fd5b506001600160a01b038135811691602081013590911690604001356113ce565b61021361151e565b61021361152d565b610213611545565b6103126004803603602081101561065057600080fd5b5035611554565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b820191906000526020600020905b8154815290600101906020018083116106d457829003601f168201915b505050505081565b6000610703611561565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b15801561076557600080fd5b505af1158015610779573d6000803e3d6000fd5b505050506107888185856115b8565b60019150505b92915050565b61079c6116f1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6107c66116f1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b600061082a611561565b610834848361173a565b61083f8484846118b1565b949350505050565b60006060610853610e94565b905060005b815181101561094f57600082828151811061086f57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b50516001600160a01b031614158061093557506000818152600a60205260409020546001600160a01b0316155b156109465760009350505050610956565b50600101610858565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d60208110156109f157600080fd5b505190505b919050565b6060610a05610e94565b905060005b8151811015610bd4576000828281518110610a2157fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610aec578181015183820152602001610ad4565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d6020811015610b6157600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a0a565b5050565b6001546001600160a01b03163314610c215760405162461bcd60e51b815260040180806020018281038252603581526020018061268c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600080610c9f611a72565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610cfe57600080fd5b505afa158015610d12573d6000803e3d6000fd5b505050506040513d6060811015610d2857600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610d7d57600080fd5b505afa158015610d91573d6000803e3d6000fd5b505050506040513d6020811015610da757600080fd5b5051905080821115610dbe576000925050506109f6565b610dce818363ffffffff611a8e16565b925050506109f6565b6000610de1611aeb565b6001600160a01b0316336001600160a01b03161490506000610e01611a72565b6001600160a01b0316336001600160a01b03161490506000610e21611b00565b6001600160a01b0316336001600160a01b03161490508280610e405750815b80610e485750805b610e835760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b610e8d8585611b14565b5050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110610ed457fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610efa57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610f1d57fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110610f4157fe5b60200260200101818152505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b610fc26116f1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b600061102f611aeb565b6001600160a01b0316336001600160a01b0316149050600061104f611a72565b6001600160a01b0316336001600160a01b0316149050600061106f611b00565b6001600160a01b0316336001600160a01b0316149050828061108e5750815b806110965750805b6110d15760405162461bcd60e51b81526004018080602001828103825260338152602001806126f06033913960400191505060405180910390fd5b6110db8585611c3e565b505050505050565b6110eb611d3b565b600580546001600160a01b0319166001600160a01b03831617905561110f81611deb565b50565b600061111c611561565b600454611132906001600160a01b03168361173a565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef1415611168576111618383611f2a565b905061078e565b6001600160a01b03831661118c57600454611161906001600160a01b031683611c3e565b6004546111a3906001600160a01b0316848461208d565b9392505050565b60006111b4611561565b60006111be611a72565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b15801561121957600080fd5b505af115801561122d573d6000803e3d6000fd5b505050506040513d606081101561124357600080fd5b506040015190508281156112d15760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b1580156112a257600080fd5b505afa1580156112b6573d6000803e3d6000fd5b505050506040513d60208110156112cc57600080fd5b505190505b8084116112de57836112e0565b805b6004549094506112fa906001600160a01b0316868661208d565b95945050505050565b61130b6122ba565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561139b57600080fd5b505afa1580156113af573d6000803e3d6000fd5b505050506040513d60208110156113c557600080fd5b50519392505050565b60006113d8611561565b60006113e2611a72565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561144357600080fd5b505af1158015611457573d6000803e3d6000fd5b505050506040513d606081101561146d57600080fd5b506040015190508281156114f757600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156114c857600080fd5b505afa1580156114dc573d6000803e3d6000fd5b505050506040513d60208110156114f257600080fd5b505190505b808410156115055783611507565b805b93506115148686866118b1565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b61155c611d3b565b600855565b6002546001600160a01b0316331480159061158757506003546001600160a01b03163314155b801561159e57506004546001600160a01b03163314155b156115b657600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161275282396021019050604051809103902061160b8861232e565b6116148861232e565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561168357818101518382015260200161166b565b50505050905090810190601f1680156116b05780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156116d457600080fd5b505af11580156116e8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146115b65760405162461bcd60e51b815260040180806020018281038252602f815260200180612723602f913960400191505060405180910390fd5b611742611a72565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156117a157600080fd5b505afa1580156117b5573d6000803e3d6000fd5b505050506040513d60208110156117cb57600080fd5b5051156118095760405162461bcd60e51b81526004018080602001828103825260258152602001806127736025913960400191505060405180910390fd5b8061181383610c94565b10156118505760405162461bcd60e51b815260040180806020018281038252602f8152602001806126c1602f913960400191505060405180910390fd5b61185861233a565b6001600160a01b0316631d7e7789600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561189d57600080fd5b505afa1580156110db573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b15801561190f57600080fd5b505afa158015611923573d6000803e3d6000fd5b505050506040513d602081101561193957600080fd5b505114611a67576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c9288926119e6918891879163dd62ed3e91604480820192602092909190829003018186803b1580156119ae57600080fd5b505afa1580156119c2573d6000803e3d6000fd5b505050506040513d60208110156119d857600080fd5b50519063ffffffff611a8e16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611a4e57600080fd5b505af1158015611a62573d6000803e3d6000fd5b505050505b61083f84848461208d565b6000611a896822bc31b430b733b2b960b91b612350565b905090565b600082821115611ae5576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611a8966119959541bdbdb60ca1b612350565b6000611a896524b9b9bab2b960d11b612350565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611baa91869186916370a0823191602480820192602092909190829003018186803b158015611b7257600080fd5b505afa158015611b86573d6000803e3d6000fd5b505050506040513d6020811015611b9c57600080fd5b50519063ffffffff61243416565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611bf957600080fd5b505af1158015611c0d573d6000803e3d6000fd5b5050600854611c25925090508263ffffffff61243416565b600855611c346000838361248e565b610bd482826124e1565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611c9e91879186916370a08231916024808301926020929190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611ced57600080fd5b505af1158015611d01573d6000803e3d6000fd5b5050600854611d19925090508363ffffffff611a8e16565b600855611d288360008461248e565b611d328383612622565b50600192915050565b6002546001600160a01b03163314801590611d6157506003546001600160a01b03163314155b8015611d7857506004546001600160a01b03163314155b15611d9057600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146115b6576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015611ec5578181015183820152602001611ead565b50505050905090810190601f168015611ef25780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b158015611f1657600080fd5b505af1158015610e8d573d6000803e3d6000fd5b600080600b54631c1554d160e21b1415611f5e57506004548290611f58906001600160a01b0316858361208d565b5061201e565b611f66611a72565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631c1554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b158015611fef57600080fd5b505af1158015612003573d6000803e3d6000fd5b505050506040513d602081101561201957600080fd5b505190505b612026611aeb565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561206b57600080fd5b505af115801561207f573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906120b057506001600160a01b0383163014155b80156120ca57506002546001600160a01b03848116911614155b61211b576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161217991879186916370a0823191602480820192602092909190829003018186803b1580156119ae57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156121c857600080fd5b505af11580156121dc573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f69250869161223e91879186916370a0823191602480820192602092909190829003018186803b158015611b7257600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561228d57600080fd5b505af11580156122a1573d6000803e3d6000fd5b505050506122b084848461248e565b5060019392505050565b6002546001600160a01b03163314806122dd57506003546001600160a01b031633145b6115b6576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6001600160a01b031690565b6000611a896b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161242d5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156123f25781810151838201526020016123da565b50505050905090810190601f16801561241f5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6000828201838110156111a3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161279882396021019050604051809103902061160b8861232e565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b838110156125bd5781810151838201526020016125a5565b50505050905090810190601f1680156125ea5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561260e57600080fd5b505af11580156110db573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff979261254a8761232e56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a723158209d443b976290dd18a6ce5a32552adac8d5aaae29c8695c8ceb6a4a5efeb8670d64736f6c63430005100032",
			"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": "0xc00d4230a26cd82df0c9a92f0b3dcece7e15e0650f216e0e21663303b5412fec",
				"urls": [
					"bzz-raw://bcaf9a13437a796c14224c20a21ea7cd1b8e376577958e2bda8e44bd33458d16",
					"dweb:/ipfs/QmeeTQdqF8PySVX9eWh9kNNMaxSWqE5dMsbgerTU8z8KM8"
				]
			},
			"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": "0xc00d4230a26cd82df0c9a92f0b3dcece7e15e0650f216e0e21663303b5412fec",
						"urls": [
							"bzz-raw://bcaf9a13437a796c14224c20a21ea7cd1b8e376577958e2bda8e44bd33458d16",
							"dweb:/ipfs/QmeeTQdqF8PySVX9eWh9kNNMaxSWqE5dMsbgerTU8z8KM8"
						]
					}
				},
				"version": 1
			}
		},
		"Depot": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$5b1a0139898c1861867d128118276f8f0f$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051603202600c5560408051630241ebdb60e61b8152905173__$5b1a0139898c1861867d128118276f8f0f$__9163907af6c0916004808301926020929190829003018186803b158015620000c557600080fd5b505af4158015620000da573d6000803e3d6000fd5b505050506040513d6020811015620000f157600080fd5b50516101f402600d553480156200010757600080fd5b50604051620033d3380380620033d3833981810160405260608110156200012d57600080fd5b508051602082015160409092015190919080836001600160a01b0381166200019c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000247576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b039283166001600160a01b03199182161790915560078054949092169316929092179091555050613145806200028e6000396000f3fe6080604052600436106101f95760003560e01c806379ba50971161010d578063ae4133b2116100a0578063c3969b341161006f578063c3969b3414610774578063c6abb7c71461079e578063ce727e41146107d1578063dcaa3e9f146107fb578063fd12167f14610818576101f9565b8063ae4133b2146106be578063b02c43d0146106e8578063b1338cc414610735578063bb7df1721461074a576101f9565b8063a2c90838116100dc578063a2c908381461062c578063a705a8341461065c578063a8f984461461067f578063aab483d614610694576101f9565b806379ba509714610588578063899ffef41461059d5780638da5cb5b1461060257806391b4ded914610617576101f9565b80634d0387fb1161019057806364e39b871161015f57806364e39b871461051b5780636d5ab4a91461054e5780636fd62e8c14610563578063741853601461056b57806376569fbf14610580576101f9565b80634d0387fb146104b257806353a47bb7146104c75780635a81c346146104dc5780635c975abb14610506576101f9565b80632194f3a2116101cc5780632194f3a2146104205780632af64bd31461043557806334d2e0f21461045e57806343de4fd014610488576101f9565b806304f3bcec14610367578063080c279a146103985780631627540c146103bf57806316c38b3c146103f4575b60048054600101908190556208aa8960eb1b61021361082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561025657600080fd5b505afa15801561026a573d6000803e3d6000fd5b505050506040513d602081101561028057600080fd5b5051156102c2576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156103045760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b61030c61084e565b50506004548114610364576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50005b34801561037357600080fd5b5061037c61103e565b604080516001600160a01b039092168252519081900360200190f35b3480156103a457600080fd5b506103ad61104d565b60408051918252519081900360200190f35b3480156103cb57600080fd5b506103f2600480360360208110156103e257600080fd5b50356001600160a01b0316611053565b005b34801561040057600080fd5b506103f26004803603602081101561041757600080fd5b503515156110af565b34801561042c57600080fd5b5061037c611129565b34801561044157600080fd5b5061044a611138565b604080519115158252519081900360200190f35b34801561046a57600080fd5b506103ad6004803603602081101561048157600080fd5b5035611242565b34801561049457600080fd5b506103ad600480360360208110156104ab57600080fd5b50356112d7565b3480156104be57600080fd5b506103ad6113ea565b3480156104d357600080fd5b5061037c6113f0565b3480156104e857600080fd5b506103f2600480360360208110156104ff57600080fd5b50356113ff565b34801561051257600080fd5b5061044a6115c3565b34801561052757600080fd5b506103f26004803603602081101561053e57600080fd5b50356001600160a01b03166115cc565b34801561055a57600080fd5b506103ad61162e565b6103ad611634565b34801561057757600080fd5b506103f2611804565b6103ad6119cc565b34801561059457600080fd5b506103f2611b3f565b3480156105a957600080fd5b506105b2611bfb565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105ee5781810151838201526020016105d6565b505050509050019250505060405180910390f35b34801561060e57600080fd5b5061037c611c98565b34801561062357600080fd5b506103ad611ca7565b34801561063857600080fd5b506103ad6004803603604081101561064f57600080fd5b5080359060200135611cad565b6103ad6004803603604081101561067257600080fd5b5080359060200135611e7c565b34801561068b57600080fd5b506103f26121c3565b3480156106a057600080fd5b506103f2600480360360208110156106b757600080fd5b50356123fd565b3480156106ca57600080fd5b506103ad600480360360208110156106e157600080fd5b50356124ed565b3480156106f457600080fd5b506107126004803603602081101561070b57600080fd5b5035612588565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561074157600080fd5b506103ad6125ad565b34801561075657600080fd5b506103f26004803603602081101561076d57600080fd5b50356125b3565b34801561078057600080fd5b506103ad6004803603602081101561079757600080fd5b50356125f6565b3480156107aa57600080fd5b506103ad600480360360208110156107c157600080fd5b50356001600160a01b0316612686565b3480156107dd57600080fd5b506103f2600480360360208110156107f457600080fd5b5035612698565b6103ad6004803603602081101561081157600080fd5b5035612730565b34801561082457600080fd5b506103ad6128f4565b60006108486c45786368616e6765526174657360981b6128fa565b90505b90565b6000600d543411156108915760405162461bcd60e51b815260040180806020018281038252602581526020018061305b6025913960400191505060405180910390fd5b60008061092161089f61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d602081101561091257600080fd5b5051349063ffffffff6129de16565b60095490915081905b60008211801561093b5750600a5481105b15610ee957610948612f20565b50600081815260086020908152604091829020825180840190935280546001600160a01b03168084526001909101549183019190915261099e5760095461099690600163ffffffff612a0816565b600955610ee0565b8281602001511115610c425760208101516000906109c2908563ffffffff612a6216565b60408051808201825284516001600160a01b039081168252602080830185815260008981526008909252939020915182546001600160a01b03191691161781559051600190910155600b54909150610a1a9085612a62565b600b55610aaa610a2861082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a7157600080fd5b505afa158015610a85573d6000803e3d6000fd5b505050506040513d6020811015610a9b57600080fd5b5051859063ffffffff612abf16565b82516040519197506001600160a01b03169087156108fc029088906000818181858888f19350505050610b58576007546040516001600160a01b039091169087156108fc029088906000818181858888f19350505050158015610b11573d6000803e3d6000fd5b5081516040805188815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610ba4565b81516040805188815260208101879052815186936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610bac612ae9565b6001600160a01b031663a9059cbb33866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c0b57600080fd5b505af1158015610c1f573d6000803e3d6000fd5b505050506040513d6020811015610c3557600080fd5b5060009450610ee0915050565b82816020015111610ee057600082815260086020526040812080546001600160a01b0319168155600190810191909155600954610c849163ffffffff612a0816565b6009556020810151600b54610c9e9163ffffffff612a6216565b600b55610d32610cac61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d6020811015610d1f57600080fd5b505160208301519063ffffffff612abf16565b81516040519196506001600160a01b03169086156108fc029087906000818181858888f19350505050610de0576007546040516001600160a01b039091169086156108fc029087906000818181858888f19350505050158015610d99573d6000803e3d6000fd5b5080516040805187815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610e30565b80516020808301516040805189815292830191909152805185936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b610e38612ae9565b6001600160a01b031663a9059cbb3383602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e9b57600080fd5b505af1158015610eaf573d6000803e3d6000fd5b505050506040513d6020811015610ec557600080fd5b50506020810151610edd90849063ffffffff612a6216565b92505b5060010161092a565b508015610fab57336108fc610f81610eff61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610f4857600080fd5b505afa158015610f5c573d6000803e3d6000fd5b505050506040513d6020811015610f7257600080fd5b5051849063ffffffff612abf16565b6040518115909202916000818181858888f19350505050158015610fa9573d6000803e3d6000fd5b505b6000610fbd838363ffffffff612a6216565b9050801561103657604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152631c1554d160e21b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b935050505090565b6005546001600160a01b031681565b600c5481565b61105b612b00565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6110b7612b00565b60035460ff16151581151514156110cd57611126565b6003805460ff1916821515179081905560ff16156110ea57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b6007546001600160a01b031681565b60006060611144611bfb565b905060005b815181101561123957600082828151811061116057fe5b6020908102919091018101516000818152600683526040908190205460055482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156111c857600080fd5b505afa1580156111dc573d6000803e3d6000fd5b505050506040513d60208110156111f257600080fd5b50516001600160a01b031614158061121f57506000818152600660205260409020546001600160a01b0316155b15611230576000935050505061084b565b50600101611149565b50600191505090565b60006112d161124f61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561129857600080fd5b505afa1580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b5051839063ffffffff6129de16565b92915050565b6000635045524960e01b6112e961082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561132c57600080fd5b505afa158015611340573d6000803e3d6000fd5b505050506040513d602081101561135657600080fd5b505115611398576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156113da5760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b6113e383612b4b565b9392505050565b600b5481565b6001546001600160a01b031681565b611407612ae9565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b15801561145f57600080fd5b505af1158015611473573d6000803e3d6000fd5b505050506040513d602081101561148957600080fd5b5050600c5481101561151257336000908152600e60205260409020546114b5908263ffffffff612a0816565b336000818152600e602090815260409182902093909355600c5481519283529282018490528181019290925290517fa53e8531fc7a8d8cd1aeccdc1b953e2b1bfcbeb6f5acb3a8fd571b8c57a5fd3d9181900360600190a1611126565b604080518082018252338082526020808301858152600a8054600090815260088452869020945185546001600160a01b0319166001600160a01b039091161785559051600190940193909355915483518581529351909391927f55037147ed62d28238c4ff02e6d4053961a9fdba94b336f5e2f1c94daf2732a0928290030190a3600a546115a790600163ffffffff612a0816565b600a55600b546115bd908263ffffffff612a0816565b600b5550565b60035460ff1681565b6115d4612b00565b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b60095481565b6000635045524960e01b61164661082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561168957600080fd5b505afa15801561169d573d6000803e3d6000fd5b505050506040513d60208110156116b357600080fd5b5051156116f5576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b6208aa8960eb1b61170461082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561174757600080fd5b505afa15801561175b573d6000803e3d6000fd5b505050506040513d602081101561177157600080fd5b5051156117b3576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156117f55760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b6117fd612cf5565b9250505090565b606061180e611bfb565b905060005b81518110156119c857600082828151811061182a57fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156118e05781810151838201526020016118c8565b50505050905090810190601f16801561190d5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561192b57600080fd5b505afa15801561193f573d6000803e3d6000fd5b505050506040513d602081101561195557600080fd5b505160008381526006602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611813565b5050565b60048054600101908190556000906208aa8960eb1b6119e961082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611a2c57600080fd5b505afa158015611a40573d6000803e3d6000fd5b505050506040513d6020811015611a5657600080fd5b505115611a98576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff1615611ada5760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b611ae261084e565b9250506004548114611b3b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b6001546001600160a01b03163314611b885760405162461bcd60e51b8152600401808060200182810382526035815260200180612f636035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160038082526080820190925260609160208201838038833901905050905068141e5b9d1a1c1554d160ba1b81600081518110611c3757fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110611c6157fe5b6020026020010181815250506a5065726946696e616e636560a81b81600281518110611c8957fe5b60200260200101818152505090565b6000546001600160a01b031681565b60025481565b6000635045524960e01b611cbf61082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611d0257600080fd5b505afa158015611d16573d6000803e3d6000fd5b505050506040513d6020811015611d2c57600080fd5b505115611d6e576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff1615611db05760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b611db861082d565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611e0257600080fd5b505afa158015611e16573d6000803e3d6000fd5b505050506040513d6020811015611e2c57600080fd5b50518314611e6b5760405162461bcd60e51b81526004018080602001828103825260258152602001806130ec6025913960400191505060405180910390fd5b611e7484612b4b565b949350505050565b6000635045524960e01b611e8e61082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611ed157600080fd5b505afa158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505115611f3d576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b6208aa8960eb1b611f4c61082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611f8f57600080fd5b505afa158015611fa3573d6000803e3d6000fd5b505050506040513d6020811015611fb957600080fd5b505115611ffb576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff161561203d5760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b61204561082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561208e57600080fd5b505afa1580156120a2573d6000803e3d6000fd5b505050506040513d60208110156120b857600080fd5b505185146120f75760405162461bcd60e51b815260040180806020018281038252602b815260200180612f38602b913960400191505060405180910390fd5b6120ff61082d565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561214957600080fd5b505afa15801561215d573d6000803e3d6000fd5b505050506040513d602081101561217357600080fd5b505184146121b25760405162461bcd60e51b8152600401808060200182810382526032815260200180612fb86032913960400191505060405180910390fd5b6121ba612cf5565b95945050505050565b6009546000905b600a548110156122a6576121dc612f20565b50600081815260086020908152604091829020825180840190935280546001600160a01b03168084526001909101549183019190915233141561229d57602081015161222f90849063ffffffff612a0816565b600083815260086020908152604080832080546001600160a01b0319168155600101929092558351848201518351908152925193965085936001600160a01b03909116927fa3192e28d63900a325ec19d7b4c6a3690995015d92e4483f4b3ec54dea5e598492908290030190a35b506001016121ca565b50600b546122ba908263ffffffff612a6216565b600b55336000908152600e60205260409020546122de90829063ffffffff612a0816565b336000908152600e602052604081205590508061232c5760405162461bcd60e51b8152600401808060200182810382526021815260200180612fea6021913960400191505060405180910390fd5b612334612ae9565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561239357600080fd5b505af11580156123a7573d6000803e3d6000fd5b505050506040513d60208110156123bd57600080fd5b5050604080513381526020810183905281517f561ed20453aa36ac35f599e6b1f20818af8d303c090fb9ffc306da39814757b2929181900390910190a150565b612405612b00565b73__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561244957600080fd5b505af415801561245d573d6000803e3d6000fd5b505050506040513d602081101561247357600080fd5b505181116124b25760405162461bcd60e51b81526004018080602001828103825260308152602001806130806030913960400191505060405180910390fd5b600c8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b60008061257d6124fb61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561254457600080fd5b505afa158015612558573d6000803e3d6000fd5b505050506040513d602081101561256e57600080fd5b5051849063ffffffff6129de16565b90506113e3816125f6565b600860205260009081526040902080546001909101546001600160a01b039091169082565b600d5481565b6125bb612b00565b600d8190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b60006112d161260361082d565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561264d57600080fd5b505afa158015612661573d6000803e3d6000fd5b505050506040513d602081101561267757600080fd5b5051839063ffffffff612abf16565b600e6020526000908152604090205481565b6126a0612b00565b6126a8612e44565b600080546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b15801561270157600080fd5b505af1158015612715573d6000803e3d6000fd5b505050506040513d602081101561272b57600080fd5b505050565b60006208aa8960eb1b61274161082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561278457600080fd5b505afa158015612798573d6000803e3d6000fd5b505050506040513d60208110156127ae57600080fd5b5051156127f0576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156128325760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b61283a61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561288357600080fd5b505afa158015612897573d6000803e3d6000fd5b505050506040513d60208110156128ad57600080fd5b505183146128ec5760405162461bcd60e51b81526004018080602001828103825260258152602001806130ec6025913960400191505060405180910390fd5b6113e361084e565b600a5481565b600081815260066020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816129d75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561299c578181015183820152602001612984565b50505050905090810190601f1680156129c95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6000670de0b6b3a76400006129f9848463ffffffff612e5d16565b81612a0057fe5b049392505050565b6000828201838110156113e3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115612ab9576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006113e382612add85670de0b6b3a764000063ffffffff612e5d16565b9063ffffffff612eb616565b600061084868141e5b9d1a1c1554d160ba1b6128fa565b6000546001600160a01b03163314612b495760405162461bcd60e51b815260040180806020018281038252602f81526020018061300b602f913960400191505060405180910390fd5b565b600080612b57836125f6565b9050612b61612ae9565b600754604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905192909116916323b872dd916064808201926020929091908290030181600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050506040513d6020811015612be857600080fd5b50612bf39050612e44565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612c5257600080fd5b505af1158015612c66573d6000803e3d6000fd5b505050506040513d6020811015612c7c57600080fd5b505060408051602081018590526060810183905260808082526004908201819052631c1554d160e21b60a083015260c0828401819052820152635045524960e01b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a192915050565b600080612d01346124ed565b6007546040519192506001600160a01b0316903480156108fc02916000818181858888f19350505050158015612d3b573d6000803e3d6000fd5b50612d44612e44565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612da357600080fd5b505af1158015612db7573d6000803e3d6000fd5b505050506040513d6020811015612dcd57600080fd5b5050604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152635045524960e01b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1905090565b60006108486a5065726946696e616e636560a81b6128fa565b600082612e6c575060006112d1565b82820282848281612e7957fe5b04146113e35760405162461bcd60e51b815260040180806020018281038252602181526020018061303a6021913960400191505060405180910390fd5b6000808211612f0c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481612f1757fe5b04949350505050565b60408051808201909152600080825260208201529056fe47756172616e74656564206574686572207261746520776f756c64206e6f74206265207265636569766564596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869705261746520696e76616c6964206f72206e6f7420612070796e7468000000000047756172616e7465656420706572692066696e616e6365207261746520776f756c64206e6f74206265207265636569766564596f752068617665206e6f206465706f7369747320746f2077697468647261772e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745544820616d6f756e742061626f7665206d61784574685075726368617365206c696d69744d696e696d756d206465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20554e49545468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656447756172616e74656564207261746520776f756c64206e6f74206265207265636569766564a265627a7a7231582003c6b0621ed780e9c20dd664b7bedad1f720c895f0eedbc09b4084f32f7cda9464736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address payable",
							"name": "_fundsWallet",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "fromAddress",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromETHAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "ClearedDeposit",
					"type": "event",
					"signature": "0x6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "string",
							"name": "fromCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "string",
							"name": "toCurrency",
							"type": "string"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "Exchange",
					"type": "event",
					"signature": "0xdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newFundsWallet",
							"type": "address"
						}
					],
					"name": "FundsWalletUpdated",
					"type": "event",
					"signature": "0x4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MaxEthPurchaseUpdated",
					"type": "event",
					"signature": "0xdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c8243"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "MinimumDepositAmountUpdated",
					"type": "event",
					"signature": "0xa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc54267"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "receiver",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "NonPayableContract",
					"type": "event",
					"signature": "0xf2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "PynthDeposit",
					"type": "event",
					"signature": "0x55037147ed62d28238c4ff02e6d4053961a9fdba94b336f5e2f1c94daf2732a0"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minimum",
							"type": "uint256"
						}
					],
					"name": "PynthDepositNotAccepted",
					"type": "event",
					"signature": "0xa53e8531fc7a8d8cd1aeccdc1b953e2b1bfcbeb6f5acb3a8fd571b8c57a5fd3d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "uint256",
							"name": "depositIndex",
							"type": "uint256"
						}
					],
					"name": "PynthDepositRemoved",
					"type": "event",
					"signature": "0xa3192e28d63900a325ec19d7b4c6a3690995015d92e4483f4b3ec54dea5e5984"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "PynthWithdrawal",
					"type": "event",
					"signature": "0x561ed20453aa36ac35f599e6b1f20818af8d303c090fb9ffc306da39814757b2"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositEndIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfd12167f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "depositPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a81c346"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "depositStartIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6d5ab4a9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "deposits",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "user",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb02c43d0"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForPERI",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x6fd62e8c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedEtherRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedPeriFinanceRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForPERIAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xa705a834"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exchangeEtherForPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x76569fbf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangeEtherForPynthsAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xdcaa3e9f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "pynthAmount",
							"type": "uint256"
						}
					],
					"name": "exchangePynthsForPERI",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x43de4fd0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "pynthAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "guaranteedRate",
							"type": "uint256"
						}
					],
					"name": "exchangePynthsForPERIAtRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa2c90838"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "fundsWallet",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2194f3a2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEthPurchase",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb1338cc4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumDepositAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x080c279a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "periFinanceReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae4133b2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "periFinanceReceivedForPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc3969b34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "pynthsReceivedForEther",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x34d2e0f2"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_fundsWallet",
							"type": "address"
						}
					],
					"name": "setFundsWallet",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x64e39b87"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEthPurchase",
							"type": "uint256"
						}
					],
					"name": "setMaxEthPurchase",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb7df172"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setMinimumDepositAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaab483d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "smallDeposits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc6abb7c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSellableDeposits",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4d0387fb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "withdrawMyDepositedPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa8f98446"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdrawPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xce727e41"
				}
			],
			"source": {
				"keccak256": "0xca0e15820dc8cbfc9fadc1a2e20abbb05c848adf42c47adb59a892a22da359ba",
				"urls": [
					"bzz-raw://e31cc7529908317c3e4d7b2336d8b4182c1f2ce8b6f80642d479afa6fe4e3ad6",
					"dweb:/ipfs/QmcWQB4kQbiEs11qr4ZE8zXKhv9perkZUXjyfRyQSUzJLA"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Depot.sol": "Depot"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Depot.sol": {
						"keccak256": "0xca0e15820dc8cbfc9fadc1a2e20abbb05c848adf42c47adb59a892a22da359ba",
						"urls": [
							"bzz-raw://e31cc7529908317c3e4d7b2336d8b4182c1f2ce8b6f80642d479afa6fe4e3ad6",
							"dweb:/ipfs/QmcWQB4kQbiEs11qr4ZE8zXKhv9perkZUXjyfRyQSUzJLA"
						]
					}
				},
				"version": 1
			}
		},
		"EscrowChecker": {
			"bytecode": "608060405234801561001057600080fd5b506040516103173803806103178339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556102b2806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b57806359bd89761461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757818101518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610231565b604080516001600160a01b039092168252519081900360200190f35b6100c6610240565b6100ce610240565b6000805460408051631025b3b560e11b81526001600160a01b0387811660048301529151919092169163204b676a916024808301926020929190829003018186803b15801561011c57600080fd5b505afa158015610130573d6000803e3d6000fd5b505050506040513d602081101561014657600080fd5b5051905060005b818110156102285761015d61025f565b6000546040805163da7bd3e960e01b81526001600160a01b03898116600483015260248201869052825193169263da7bd3e992604480840193919291829003018186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060408110156101e657600080fd5b5080519091508460028402601081106101fb57fe5b6020020152806001602002015184836002026001016010811061021a57fe5b60200201525060010161014d565b50909392505050565b6000546001600160a01b031681565b6040518061020001604052806010906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fea265627a7a723158202518b4b49a3e89042e12d6706aece5ad3235dd8869ed1681be410259712c799d64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "_esc",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[16]",
							"name": "",
							"type": "uint256[16]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance_escrow",
					"outputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59bd8976"
				}
			],
			"source": {
				"keccak256": "0x2f06f2140839d9277ce491397d3fe64e7d521ce8e3355efd015de3fa550c5ea9",
				"urls": [
					"bzz-raw://77a7e34cbcf86f027800e9f4bb2a15d7bfffb3566c7abc126e7d564cea3260f6",
					"dweb:/ipfs/QmdFWfNW7Vq6LYDzNJBGG5vsZnCRefDEChhAmhxJVds6tj"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EscrowChecker.sol": "EscrowChecker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EscrowChecker.sol": {
						"keccak256": "0x2f06f2140839d9277ce491397d3fe64e7d521ce8e3355efd015de3fa550c5ea9",
						"urls": [
							"bzz-raw://77a7e34cbcf86f027800e9f4bb2a15d7bfffb3566c7abc126e7d564cea3260f6",
							"dweb:/ipfs/QmdFWfNW7Vq6LYDzNJBGG5vsZnCRefDEChhAmhxJVds6tj"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516112e23803806112e28339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055506111ad806101356000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636b3905c4116100de5780639b217f9011610097578063cb5147b211610071578063cb5147b21461045d578063d0cc82e314610483578063da7bd3e91461048b578063ee1d036c146104b757610173565b80639b217f90146103fd578063ae2e933b14610429578063b5ddb9c71461043157610173565b80636b3905c41461037357806370a082311461039957806371e780f3146103bf57806379ba5097146103c75780638da5cb5b146103cf57806397f46527146103d757610173565b8063326a3cfb11610130578063326a3cfb146102ab578063449d0eb1146102d1578063458efde31461030d57806345e5441f146103155780634e5a60911461034757806353a47bb71461036b57610173565b80631627540c1461017857806319db2228146101a057806319e740c0146101c6578063204b676a146101fe578063227d517a146102245780632f5bb6611461024a575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b03166104e3565b005b61019e600480360360208110156101b657600080fd5b50356001600160a01b031661053f565b6101ec600480360360208110156101dc57600080fd5b50356001600160a01b031661059b565b60408051918252519081900360200190f35b6101ec6004803603602081101561021457600080fd5b50356001600160a01b03166105dd565b6101ec6004803603602081101561023a57600080fd5b50356001600160a01b03166105f8565b6102706004803603602081101561026057600080fd5b50356001600160a01b031661060a565b6040518082600260200280838360005b83811015610298578181015183820152602001610280565b5050505090500191505060405180910390f35b6101ec600480360360208110156102c157600080fd5b50356001600160a01b031661065b565b6102f7600480360360208110156102e757600080fd5b50356001600160a01b031661066d565b6040518151815280826141008083836020610280565b61019e6106f3565b6101ec6004803603606081101561032b57600080fd5b506001600160a01b0381351690602081013590604001356108dc565b61034f610918565b604080516001600160a01b039092168252519081900360200190f35b61034f610927565b6101ec6004803603602081101561038957600080fd5b50356001600160a01b0316610936565b6101ec600480360360208110156103af57600080fd5b50356001600160a01b031661094f565b6101ec61096a565b61019e610970565b61034f610a2c565b6101ec600480360360208110156103ed57600080fd5b50356001600160a01b0316610a3b565b6101ec6004803603604081101561041357600080fd5b506001600160a01b038135169060200135610a4d565b61034f610a68565b61019e6004803603604081101561044757600080fd5b506001600160a01b038135169060200135610a77565b61019e6004803603602081101561047357600080fd5b50356001600160a01b0316610ad0565b6101ec610b2c565b610270600480360360408110156104a157600080fd5b506001600160a01b038135169060200135610b32565b6101ec600480360360408110156104cd57600080fd5b506001600160a01b038135169060200135610ba1565b6104eb610bb4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610547610bb4565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806105a7836105dd565b905060005b818110156105d4576105be8482610a4d565b156105cc5791506105d89050565b6001016105ac565b5090505b919050565b6001600160a01b031660009081526004602052604090205490565b60066020526000908152604090205481565b610612610f98565b600061061d8361059b565b9050610628836105dd565b81141561064a57505060408051808201909152600080825260208201526105d8565b6106548382610b32565b9392505050565b60056020526000908152604090205481565b610675610fb6565b61067d610fb6565b6000610688846105dd565b905060005b818110156106ea5761069d610f98565b6106a78683610b32565b8051909150846002840261020881106106bc57fe5b60200201528060016020020151848360020260010161020881106106dc57fe5b60200201525060010161068d565b50909392505050565b60006106fe336105dd565b90506000805b828110156107a35760006107183383610a4d565b90504281111561072857506107a3565b60006107343384610ba1565b905080156107995760408051808201825260008082526020808301829052338252600490529190912080548590811061076957fe5b9060005260206000209060020201906002610785929190610fd6565b50610796848263ffffffff610bff16565b93505b5050600101610704565b5080156108d8576007546107bd908263ffffffff610c5916565b600755336000908152600560205260409020546107e0908263ffffffff610c5916565b3360009081526005602090815260408083209390935560069052205461080c908263ffffffff610bff16565b33600081815260066020908152604080832094909455600254845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b600460205282600052604060002082815481106108f557fe5b9060005260206000209060020201816002811061090e57fe5b0154925083915050565b6002546001600160a01b031681565b6001546001600160a01b031681565b60006109418261060a565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b60075481565b6001546001600160a01b031633146109b95760405162461bcd60e51b81526004018080602001828103825260358152602001806110656035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610a468261060a565b6001610944565b6000610a598383610b32565b60005b60200201519392505050565b6003546001600160a01b031681565b6003546001600160a01b0316331480610ac15760405162461bcd60e51b81526004018080602001828103825260328152602001806111476032913960400191505060405180910390fd5b610acb8383610cb6565b505050565b610ad8610bb4565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b61010481565b610b3a610f98565b6001600160a01b0383166000908152600460205260409020805483908110610b5e57fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610b81575050505050905092915050565b6000610bad8383610b32565b6001610a5c565b6000546001600160a01b03163314610bfd5760405162461bcd60e51b815260040180806020018281038252602f815260200180611118602f913960400191505060405180910390fd5b565b600082820183811015610654576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610cb0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80610d08576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610d1b908263ffffffff610bff16565b600755600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d6957600080fd5b505afa158015610d7d573d6000803e3d6000fd5b505050506040513d6020811015610d9357600080fd5b50516007541115610dd55760405162461bcd60e51b81526004018080602001828103825260478152602001806110d16047913960600191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610104811115610e45576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe200420181610e71576001600160a01b0384166000908152600560205260409020839055610efe565b80610e7f8560018503610a4d565b10610ebb5760405162461bcd60e51b815260040180806020018281038252603781526020018061109a6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610ee4908463ffffffff610bff16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925284825281830187905280546001810180835591855292909320610f4d9260029081029091019190611019565b5050604080514281526020810185905281516001600160a01b038716927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a250505050565b60405180604001604052806002906020820280388339509192915050565b604051806141000160405280610208906020820280388339509192915050565b8260028101928215611009579160200282015b82811115611009578251829060ff16905591602001919060010190610fe9565b50611015929150611047565b5090565b8260028101928215611009579160200282015b8281111561100957825182559160200191906001019061102c565b61106191905b80821115611015576000815560010161104d565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6ea265627a7a72315820390de642ed0268a7dd051da1336deb0cdfd2279d00e636d1614ebefac580d7a264736f6c63430005100032",
			"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": "0xc06faa68375b6e55c8e4511b5eb39b082d065bb82eb6b9688ba92131cefbfbc2",
				"urls": [
					"bzz-raw://6572550e255af5de24033295355636710725fdb75f7f88e444d0e649318eaa8d",
					"dweb:/ipfs/QmS85cGKEJZcxMLZaWp9zMFXPfLE7jQL8S1d1MQPsLNkBg"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrow.sol": "RewardEscrow"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrow.sol": {
						"keccak256": "0xc06faa68375b6e55c8e4511b5eb39b082d065bb82eb6b9688ba92131cefbfbc2",
						"urls": [
							"bzz-raw://6572550e255af5de24033295355636710725fdb75f7f88e444d0e649318eaa8d",
							"dweb:/ipfs/QmS85cGKEJZcxMLZaWp9zMFXPfLE7jQL8S1d1MQPsLNkBg"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610c75380380610c758339818101604052604081101561003357600080fd5b50805160209091015162375f00826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b039290921691909117905550610b4b8061012a6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637de655451161008c578063ae2e933b11610066578063ae2e933b146102b5578063b326f84e146102bd578063cff2ddad146102e9578063d29c000a14610307576100cf565b80637de65545146102305780638da5cb5b1461027557806394e1a4481461027d576100cf565b80631627540c146100d457806319db2228146100fc57806339a3f63f1461012257806346ba2d90146101ea57806353a47bb71461020457806379ba509714610228575b600080fd5b6100fa600480360360208110156100ea57600080fd5b50356001600160a01b0316610333565b005b6100fa6004803603602081101561011257600080fd5b50356001600160a01b031661038f565b6100fa6004803603608081101561013857600080fd5b81019060208101813564010000000081111561015357600080fd5b82018360208201111561016557600080fd5b8035906020019184602083028401116401000000008311171561018757600080fd5b9193909290916020810190356401000000008111156101a557600080fd5b8201836020820111156101b757600080fd5b803590602001918460208302840111640100000000831117156101d957600080fd5b9193509150803590602001356103b9565b6101f2610593565b60408051918252519081900360200190f35b61020c610599565b604080516001600160a01b039092168252519081900360200190f35b6100fa6105a8565b61025c6004803603604081101561024657600080fd5b506001600160a01b038135169060200135610664565b6040805192835260208301919091528051918290030190f35b61020c610691565b6100fa6004803603608081101561029357600080fd5b506001600160a01b0381351690602081013590604081013590606001356106a0565b61020c610739565b61025c600480360360408110156102d357600080fd5b506001600160a01b038135169060200135610748565b6102f16107e9565b6040805160ff9092168252519081900360200190f35b61025c6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356107ee565b61033b6108d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6103976108d1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6103c16108d1565b60025442106104015760405162461bcd60e51b8152600401808060200182810382526029815260200180610aee6029913960400191505060405180910390fd5b848314610447576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b8581101561058a5784848281811061045e57fe5b905060200201356004600089898581811061047557fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002084600681106104b057fe5b600202015581600460008989858181106104c657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061050157fe5b600202016001018190555086868281811061051857fe5b905060200201356001600160a01b03166001600160a01b03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea86868481811061055e57fe5b9050602002013584604051808381526020018281526020019250505060405180910390a260010161044a565b50505050505050565b60025481565b6001546001600160a01b031681565b6001546001600160a01b031633146105f15760405162461bcd60e51b8152600401808060200182810382526035815260200180610a366035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6004602052816000526040600020816006811061067d57fe5b600202018054600190910154909250905082565b6000546001600160a01b031681565b6003546001600160a01b031633146106e95760405162461bcd60e51b8152600401808060200182810382526031815260200180610a8e6031913960400191505060405180910390fd5b6001600160a01b038416600090815260046020526040902060010154811115610715576107158461091c565b506001600160a01b0392909216600090815260046020526040902090815560010155565b6003546001600160a01b031681565b6000806006831061078a5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a6b6023913960400191505060405180910390fd5b6001600160a01b038416600090815260046020526040902083600681106107ad57fe5b60020201546001600160a01b038516600090815260046020526040902090925083600681106107d857fe5b600202016001015490509250929050565b600681565b6000806107f96109ee565b6001600160a01b038516600090815260046020526040808220815160c081019092529091600690835b8282101561085e578382600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610822565b509293506000925050505b60068110156108c75781816006811061087e57fe5b60200201516020015185106108bf5781816006811061089957fe5b6020020151518282600681106108ab57fe5b6020020151602001519350935050506108ca565b600101610869565b50505b9250929050565b6000546001600160a01b0316331461091a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610abf602f913960400191505060405180910390fd5b565b60045b60068110156109ea576001600160a01b03821660009081526004602052604090206001820190826006811061095057fe5b60020201546001600160a01b0384166000908152600460205260409020826006811061097857fe5b60020201556001600160a01b038316600090815260046020526040902082600681106109a057fe5b600202016001015460046000856001600160a01b03166001600160a01b0316815260200190815260200160002082600681106109d857fe5b6002020160010155506000190161091f565b5050565b6040518060c001604052806006905b610a05610a1b565b8152602001906001900390816109fd5790505090565b60405180604001604052806000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970696e646578206578636565647320746865204645455f504552494f445f4c454e4754484f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a72315820616122e4a6caa97628d80830f997cacbdd92c8515ec32c999a819b59926c344464736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "IssuanceDebtRatioEntry",
					"type": "event",
					"signature": "0x3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_PERIOD_LENGTH",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcff2ddad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountIssuanceLedger",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7de65545"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "debtRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "currentPeriodStartDebtIndex",
							"type": "uint256"
						}
					],
					"name": "appendAccountIssuanceRecord",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94e1a448"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "closingDebtIndex",
							"type": "uint256"
						}
					],
					"name": "applicableIssuanceData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd29c000a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePool",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae2e933b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getAccountsDebtEntry",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtPercentage",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb326f84e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "ratios",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "periodToInsert",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feePeriodCloseIndex",
							"type": "uint256"
						}
					],
					"name": "importIssuerData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x39a3f63f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IFeePool",
							"name": "_feePool",
							"type": "address"
						}
					],
					"name": "setFeePool",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19db2228"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			],
			"source": {
				"keccak256": "0xaa4ba3d910c2a8d13614d36896c69ba0c81590709279139da637e3da7da738e0",
				"urls": [
					"bzz-raw://7fd5a1f2685a385adfaee66544afb0003d6b979dc3e584c3cd887bc026c2c349",
					"dweb:/ipfs/QmXZ5aveGwtNTnx25ahUyucbJub12uktudXTeg6z6xPB5n"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolState.sol": "FeePoolState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolState.sol": {
						"keccak256": "0xaa4ba3d910c2a8d13614d36896c69ba0c81590709279139da637e3da7da738e0",
						"urls": [
							"bzz-raw://7fd5a1f2685a385adfaee66544afb0003d6b979dc3e584c3cd887bc026c2c349",
							"dweb:/ipfs/QmXZ5aveGwtNTnx25ahUyucbJub12uktudXTeg6z6xPB5n"
						]
					}
				},
				"version": 1
			}
		},
		"SupplySchedule": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$4162ccbd5d91574b6bbbe632a759499ba8$__9063907af6c09060849060209060048186803b15801561004457600080fd5b505af4158015610058573d6000803e3d6000fd5b505050506040513d602081101561006e57600080fd5b505160c80260045534801561008257600080fd5b5060405161108b38038061108b833981810160405260608110156100a557600080fd5b5080516020820151604090920151909190826001600160a01b038116610112576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610f07806101846000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637e1b823f116100de578063be801f0111610097578063d12a701d11610071578063d12a701d14610310578063d3bd4bde14610318578063dbd3a6a714610320578063df5a9fc11461032857610173565b8063be801f01146102da578063c1b7ca11146102e2578063cc5c095c1461030857610173565b80637e1b823f1461027a5780637e7961d7146102825780638da5cb5b1461029f5780639bdd7ac7146102a7578063b3b2bcc0146102af578063badef30a146102d257610173565b806346b45af71161013057806346b45af7146101f05780634ae265211461020c5780634e070f501461022957806353a47bb71461024657806379ba50971461026a5780637c0605571461027257610173565b80631627540c146101785780631de40e49146101a057806322af2bab146101ba578063251330f1146101c257806325542064146101e057806346872a23146101e8575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b0316610330565b005b6101a861038c565b60408051918252519081900360200190f35b6101a8610397565b6101ca6103a4565b6040805160ff9092168252519081900360200190f35b6101a86103a9565b6101a86103b4565b6101f86103b9565b604080519115158252519081900360200190f35b61019e6004803603602081101561022257600080fd5b50356103d8565b6101a86004803603602081101561023f57600080fd5b5035610463565b61024e610523565b604080516001600160a01b039092168252519081900360200190f35b61019e610532565b6101ca6105ee565b6101a86105f3565b6101f86004803603602081101561029857600080fd5b50356105fb565b61024e610765565b6101a8610774565b6101a8600480360360408110156102c557600080fd5b508035906020013561077a565b6101a86108b4565b6101a86108c2565b61019e600480360360208110156102f857600080fd5b50356001600160a01b03166108c8565b6101a861097b565b61024e610ad8565b6101a8610ae7565b6101a8610aed565b6101a8610b41565b610338610b47565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b662c68af0bb1400081565b680ad78ebc5ac620000081565b603681565b6658d15e1762800081565b603c81565b6000610e10600254420311156103d1575060016103d5565b5060005b90565b6103e0610b47565b680ad78ebc5ac62000008111156104285760405162461bcd60e51b8152600401808060200182810382526026815260200180610ead6026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b6000806104fd836104f1662c68af0bb1400073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156104b957600080fd5b505af41580156104cd573d6000803e3d6000fd5b505050506040513d60208110156104e357600080fd5b50519063ffffffff610b9216565b9063ffffffff610bef16565b9050600061051b692fa54641bae8aaa000008363ffffffff610cab16565b949350505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461057b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610df36035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60ea81565b6360b853c081565b60055460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561064057600080fd5b505afa158015610654573d6000803e3d6000fd5b505050506040513d602081101561066a57600080fd5b50516001600160a01b031633146106b25760405162461bcd60e51b8152600401808060200182810382526035815260200180610e286035913960400191505060405180910390fd5b60006106bc610aed565b6003549091506106d2908263ffffffff610cd516565b600381905561071190603c90610705906106f490610e1063ffffffff610d2f16565b6360b853c09063ffffffff610cd516565b9063ffffffff610cd516565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a150600192915050565b6000546001600160a01b031681565b60045481565b600080610818836104f161079c6658d15e17628000603463ffffffff610d8816565b73__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e057600080fd5b505af41580156107f4573d6000803e3d6000fd5b505050506040513d602081101561080a57600080fd5b50519063ffffffff610cd516565b90506108aa61089d73__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561086457600080fd5b505af4158015610878573d6000803e3d6000fd5b505050506040513d602081101561088e57600080fd5b5051839063ffffffff610b9216565b859063ffffffff610cab16565b9150505b92915050565b692fa54641bae8aaa0000081565b60025481565b6108d0610b47565b6001600160a01b038116610921576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4094b32859be9f48a78da629a4781a3dba62f3ac0c160db0d2b16fad5b7e4570916020908290030190a150565b6000806109866103b9565b6109915790506103d5565b600061099b610aed565b6003549091505b8115610ad05760010160368110156109dc576109ce83692fa54641bae8aaa0000063ffffffff610cd516565b925060001990910190610acb565b60ea8111610a215760006109f782603563ffffffff610b9216565b9050610a12610a0582610463565b859063ffffffff610cd516565b93505060001990910190610acb565b600554604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610a6657600080fd5b505afa158015610a7a573d6000803e3d6000fd5b505050506040513d6020811015610a9057600080fd5b505190506000610aa6828663ffffffff610cd516565b9050610ac2610ab5828661077a565b869063ffffffff610cd516565b94506000935050505b6109a2565b509091505090565b6005546001600160a01b031681565b60035481565b600080600060025411610b1357610b0e426360b853c063ffffffff610b9216565b610b27565b600254610b2790429063ffffffff610b9216565b9050610b3b81610e1063ffffffff610d8816565b91505090565b610e1081565b6000546001600160a01b03163314610b905760405162461bcd60e51b815260040180806020018281038252602f815260200180610e5d602f913960400191505060405180910390fd5b565b600082821115610be9576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3657600080fd5b505af4158015610c4a573d6000803e3d6000fd5b505050506040513d6020811015610c6057600080fd5b505190505b8215610ca4576002830615610c8757610c84818563ffffffff610cab16565b90505b610c97848063ffffffff610cab16565b9350600283049250610c65565b9392505050565b6000670de0b6b3a7640000610cc6848463ffffffff610d2f16565b81610ccd57fe5b049392505050565b600082820183811015610ca4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082610d3e575060006108ae565b82820282848281610d4b57fe5b0414610ca45760405162461bcd60e51b8152600401808060200182810382526021815260200180610e8c6021913960400191505060405180910390fd5b6000808211610dde576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610de957fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865207065726946696e616e636520636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a72315820a3f8209ba366aad5afe3ab7bdb69fe84705e85b663c5d92b461c987df5e2edc564736f6c63430005100032",
			"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": "0x8079315fe0434316d16cb22fda36a11a9dfe1c9815e39960b152102fc9ce5e6a",
				"urls": [
					"bzz-raw://a9e97ea34c1d5a35c013030ec20f822b1b5ef824432a51c21d22c7bd91e0d2b3",
					"dweb:/ipfs/QmNxoUFnTQc7BnRFzL7PjQ2Y667WvX6Ns9La52wBc3Eobo"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SupplySchedule.sol": "SupplySchedule"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SupplySchedule.sol": {
						"keccak256": "0x8079315fe0434316d16cb22fda36a11a9dfe1c9815e39960b152102fc9ce5e6a",
						"urls": [
							"bzz-raw://a9e97ea34c1d5a35c013030ec20f822b1b5ef824432a51c21d22c7bd91e0d2b3",
							"dweb:/ipfs/QmNxoUFnTQc7BnRFzL7PjQ2Y667WvX6Ns9La52wBc3Eobo"
						]
					}
				},
				"version": 1
			}
		},
		"DelegateApprovals": {
			"bytecode": "61012060405269105c1c1c9bdd99505b1b60b21b60809081526d4275726e466f724164647265737360901b60a0526e4973737565466f724164647265737360881b60c0526e436c61696d466f724164647265737360881b60e0527145786368616e6765466f724164647265737360701b61010052610081906002906005610195565b5034801561008e57600080fd5b50604051610fbc380380610fbc833981810160405260408110156100b157600080fd5b508051602090910151816001600160a01b038116610116576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600780546001600160a01b0319166001600160a01b0392909216919091179055506101f0565b82600581019282156101c3579160200282015b828111156101c35782518255916020019190600101906101a8565b506101cf9291506101d3565b5090565b6101ed91905b808211156101cf57600081556001016101d9565b90565b610dbd806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063b5bb561911610097578063c5e17ab011610071578063c5e17ab014610487578063d8eeb7c11461048f578063e32b3f5214610497578063faf431bb1461049f5761018e565b8063b5bb561914610415578063b9156efa1461043b578063bc87acbf146104615761018e565b80638da5cb5b1461038357806398ff9c541461038b5780639c79ce35146103935780639cbc2ebe146103b95780639f61d336146103c1578063b42e0f15146103e75761018e565b8063447fbc631161014b5780636c8bc9fe116101255780636c8bc9fe146103015780636f95200b1461032757806379ba50971461034d5780637d3f0ba2146103555761018e565b8063447fbc631461029157806353a47bb7146102b757806359cec3d6146102db5761018e565b806304872617146101935780631627540c146101d557806321f4ae57146101fd5780632c70aecf1461022b5780634180e5b514610245578063431ce5401461026b575b600080fd5b6101c1600480360360408110156101a957600080fd5b506001600160a01b03813581169160200135166104cd565b604080519115158252519081900360200190f35b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166104f3565b005b6101c16004803603604081101561021357600080fd5b506001600160a01b038135811691602001351661054f565b61023361056e565b60408051918252519081900360200190f35b6101fb6004803603602081101561025b57600080fd5b50356001600160a01b0316610584565b6101fb6004803603602081101561028157600080fd5b50356001600160a01b03166105a4565b6101fb600480360360208110156102a757600080fd5b50356001600160a01b03166105c1565b6102bf6105e1565b604080516001600160a01b039092168252519081900360200190f35b6101fb600480360360208110156102f157600080fd5b50356001600160a01b03166105f0565b6101fb6004803603602081101561031757600080fd5b50356001600160a01b031661060c565b6101fb6004803603602081101561033d57600080fd5b50356001600160a01b0316610629565b6101fb61065a565b6101c16004803603604081101561036b57600080fd5b506001600160a01b0381358116916020013516610716565b6102bf610734565b6102bf610743565b6101fb600480360360208110156103a957600080fd5b50356001600160a01b0316610752565b61023361076e565b6101fb600480360360208110156103d757600080fd5b50356001600160a01b031661077f565b6101c1600480360360408110156103fd57600080fd5b506001600160a01b038135811691602001351661079c565b6101fb6004803603602081101561042b57600080fd5b50356001600160a01b031661082f565b6101fb6004803603602081101561045157600080fd5b50356001600160a01b03166108d6565b6101fb6004803603602081101561047757600080fd5b50356001600160a01b03166108f6565b61023361090e565b610233610924565b61023361093d565b6101c1600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516610952565b60006104ec6e4973737565466f724164647265737360881b8484610970565b9392505050565b6104fb610a0d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104ec6e436c61696d466f724164647265737360881b8484610970565b6e4973737565466f724164647265737360881b81565b6105a16e436c61696d466f724164647265737360881b3383610a58565b50565b6105a16e4973737565466f724164647265737360881b3383610b78565b6105a17145786368616e6765466f724164647265737360701b3383610a58565b6001546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610b78565b6105a16e436c61696d466f724164647265737360881b3383610b78565b60005b60058110156106565761064e6002826005811061064557fe5b01543384610b78565b60010161062c565b5050565b6001546001600160a01b031633146106a35760405162461bcd60e51b8152600401808060200182810382526035815260200180610d256035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104ec6d4275726e466f724164647265737360901b8484610970565b6000546001600160a01b031681565b6007546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610a58565b69105c1c1c9bdd99505b1b60b21b81565b6105a16e4973737565466f724164647265737360881b3383610a58565b6007546000906001600160a01b03166317e7dd226107c869105c1c1c9bdd99505b1b60b21b8686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156107fc57600080fd5b505afa158015610810573d6000803e3d6000fd5b505050506040513d602081101561082657600080fd5b50519392505050565b610837610a0d565b6001600160a01b03811661087c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cff6026913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105a17145786368616e6765466f724164647265737360701b3383610b78565b6105a169105c1c1c9bdd99505b1b60b21b3383610a58565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006104ec7145786368616e6765466f724164647265737360701b84845b600061097c838361079c565b15610989575060016104ec565b6007546001600160a01b03166317e7dd226109a5868686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b5051949350505050565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040180806020018281038252602f815260200180610d5a602f913960400191505060405180910390fd5b565b6001600160a01b038116610ab3576040805162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b6007546001600160a01b0316633eba9ed2610acf858585610cb2565b60016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b6007546001600160a01b03166317e7dd22610b94858585610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b505115610cad576007546001600160a01b0316633cc1635c610c15858585610cb2565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526bffffffffffffffffffffffff19606086811b82168486015285901b1660548301528251604881840301815260689092019092528051910120939250505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820ad5bf98d29228dfe4e6fe2f82a6c39c3828164e478b4166624667a9c45a1ee7b64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a26336"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newEternalStorage",
							"type": "address"
						}
					],
					"name": "EternalStorageUpdated",
					"type": "event",
					"signature": "0xe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "WithdrawApproval",
					"type": "event",
					"signature": "0x7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "APPROVE_ALL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbc2ebe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "BURN_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32b3f52"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CLAIM_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5e17ab0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "EXCHANGE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd8eeb7c1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ISSUE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c70aecf"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc87acbf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c79ce35"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4180e5b5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x447fbc63"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f61d336"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approvedAll",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb42e0f15"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canBurnFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7d3f0ba2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canClaimFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f4ae57"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canExchangeFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfaf431bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canIssueFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04872617"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "eternalStorage",
					"outputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98ff9c54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f95200b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59cec3d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c8bc9fe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb9156efa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x431ce540"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"name": "setEternalStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5bb5619"
				}
			],
			"source": {
				"keccak256": "0xd7ff0e016d6364acde71cfea6e839007b1aa72bcc7508f1dbdc35717dfc3ade7",
				"urls": [
					"bzz-raw://bc60faf8293b10fb220f8bbb35952e07158ccfc09bc281ec3d4aa01663dff230",
					"dweb:/ipfs/QmVa7FDUaq1CUiX4TKhNaaiAhqZmdsYZuWsjCntnLoKRUx"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DelegateApprovals.sol": "DelegateApprovals"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DelegateApprovals.sol": {
						"keccak256": "0xd7ff0e016d6364acde71cfea6e839007b1aa72bcc7508f1dbdc35717dfc3ade7",
						"urls": [
							"bzz-raw://bc60faf8293b10fb220f8bbb35952e07158ccfc09bc281ec3d4aa01663dff230",
							"dweb:/ipfs/QmVa7FDUaq1CUiX4TKhNaaiAhqZmdsYZuWsjCntnLoKRUx"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516114d03803806114d08339818101604052604081101561003357600080fd5b50805160209091015162375f00828280826001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610149576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050504201600a55505061131d806101b36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d5578063bdc963d8146105f2578063c9a52d2c1461060f578063f586606614610684576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106f9565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b503561070b565b005b6102206004803603602081101561023857600080fd5b5035610772565b6102206004803603602081101561025557600080fd5b50356107d5565b6102206004803603602081101561027257600080fd5b50356001600160a01b031661082f565b61029f6004803603602081101561029857600080fd5b503561088b565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108a0565b610220600480360360408110156102ec57600080fd5b50803590602001356108fb565b6102206004803603602081101561030f57600080fd5b5035610956565b6102206004803603604081101561032c57600080fd5b508035906020013515156109b7565b6103586004803603602081101561035157600080fd5b5035610a20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ac1565b6103f2600480360360208110156103eb57600080fd5b5035610ac7565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610ae2565b6103f2610b3e565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610b4d565b610220610bc4565b6102206004803603602081101561048657600080fd5b5035610c80565b6103f2610cda565b6101f1600480360360208110156104ab57600080fd5b5035610ce9565b610220600480360360208110156104c857600080fd5b5035610cfb565b610358600480360360208110156104e557600080fd5b5035610d55565b6102206004803603604081101561050257600080fd5b5080359060200135610dbf565b6103f2610e1a565b6102206004803603604081101561052d57600080fd5b810190602081018135600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460208302840111600160201b8311171561057a57600080fd5b919390929091602081019035600160201b81111561059757600080fd5b8201836020820111156105a957600080fd5b803590602001918460208302840111600160201b831117156105ca57600080fd5b509092509050610e29565b610220600480360360208110156105eb57600080fd5b5035610fc1565b6101f16004803603602081101561060857600080fd5b5035611021565b6102206004803603604081101561062557600080fd5b81359190810190604081016020820135600160201b81111561064657600080fd5b82018360208201111561065857600080fd5b803590602001918460018302840111600160201b8311171561067957600080fd5b509092509050611033565b6102206004803603604081101561069a57600080fd5b81359190810190604081016020820135600160201b8111156106bb57600080fd5b8201836020820111156106cd57600080fd5b803590602001918460018302840111600160201b831117156106ee57600080fd5b50909250905061109b565b60009081526007602052604090205490565b6002546001600160a01b031633146107545760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107bb5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526006602052604081206107d291611148565b50565b6002546001600160a01b0316331461081e5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260076020526040812055565b6108376110fd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108e95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b031633146109445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b0316331461099f5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a005760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b820191906000526020600020905b815481529060010190602001808311610a9857829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b610aea6110fd565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b965760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c0d5760405162461bcd60e51b81526004018080602001828103825260358152602001806112286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610cc95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610d445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b6002546001600160a01b03163314610e085760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b610e316110fd565b600a544210610e715760405162461bcd60e51b81526004018080602001828103825260298152602001806112c06029913960400191505060405180910390fd5b828114610eb7576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b60ff8116841115610fba5730633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b878760ff8616818110610ef157fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff16818110610f5257fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610f9657600080fd5b505af1158015610faa573d6000803e3d6000fd5b505060019092019150610eba9050565b5050505050565b6002546001600160a01b0316331461100a5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526004602052604081206107d291611148565b60009081526003602052604090205490565b6002546001600160a01b0316331461107c5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260066020526040902061109590838361118c565b50505050565b6002546001600160a01b031633146110e45760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260046020526040902061109590838361118c565b6000546001600160a01b031633146111465760405162461bcd60e51b815260040180806020018281038252602f81526020018061125d602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f1061116e57506107d2565b601f0160209004906000526020600020908101906107d2919061120a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111cd5782800160ff198235161785556111fa565b828001600101855582156111fa579182015b828111156111fa5782358255916020019190600101906111df565b5061120692915061120a565b5090565b61122491905b808211156112065760008155600101611210565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a7231582019b0e7fc7a2f7de6ce48427b1936dfd3f34fe95fd7929180c5aa68811eb4e4b164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "feePeriodIDs",
							"type": "uint256[]"
						}
					],
					"name": "importFeeWithdrawalData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3ffbd9e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			],
			"source": {
				"keccak256": "0x95efc263d1c1bd61c4f3e7da7de3446a7d8a169b0457bd0c8a6937e1a5fdcdd6",
				"urls": [
					"bzz-raw://60db8e3a73e408a3e9b6e0752b539063b73f81fbcef33921fa7cb316f5dd8e30",
					"dweb:/ipfs/Qme8dZhb19ckwNXrYSdytx3NyNiZKqox6Twu8LrTQYz12d"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolEternalStorage.sol": "FeePoolEternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolEternalStorage.sol": {
						"keccak256": "0x95efc263d1c1bd61c4f3e7da7de3446a7d8a169b0457bd0c8a6937e1a5fdcdd6",
						"urls": [
							"bzz-raw://60db8e3a73e408a3e9b6e0752b539063b73f81fbcef33921fa7cb316f5dd8e30",
							"dweb:/ipfs/Qme8dZhb19ckwNXrYSdytx3NyNiZKqox6Twu8LrTQYz12d"
						]
					}
				},
				"version": 1
			}
		},
		"PurgeablePynth": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$04d2563d9e353b0bfb7beaffbd684ca119$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051620186a002600c553480156200008857600080fd5b50604051620032c3380380620032c38339818101604052610100811015620000af57600080fd5b81516020830151604080850180519151939592948301929184640100000000821115620000db57600080fd5b908301906020820185811115620000f157600080fd5b82516401000000008111828201881017156200010c57600080fd5b82525081516020918201929091019080838360005b838110156200013b57818101518382015260200162000121565b50505050905090810190601f168015620001695780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200018d57600080fd5b908301906020820185811115620001a357600080fd5b8251640100000000811182820188101715620001be57600080fd5b82525081516020918201929091019080838360005b83811015620001ed578181015183820152602001620001d3565b50505050905090810190601f1680156200021b5780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b038116620002a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000354576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b0388161790558451620003d6906006906020880190620004db565b508351620003ec906007906020870190620004db565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b0397881602179055505050908916905062000471576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b038416620004c2576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620005809b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200051e57805160ff19168380011785556200054e565b828001600101855582156200054e579182015b828111156200054e57825182559160200191906001019062000531565b506200055c92915062000560565b5090565b6200057d91905b808211156200055c576000815560010162000567565b90565b612d3380620005906000396000f3fe608060405234801561001057600080fd5b506004361061021c5760003560e01c80638da5cb5b11610125578063bc67f832116100ad578063e73cced31161007c578063e73cced31461067a578063e90dd9e2146106b0578063eb1edd61146106b8578063ec556889146106c0578063f7ea7a3d146106c85761021c565b8063bc67f83214610616578063d67bdd251461063c578063dbd06c8514610644578063dd62ed3e1461064c5761021c565b80639dc29fac116100f45780639dc29fac146104fc5780639f76980714610528578063a9059cbb1461054e578063ab5930791461057a578063b014c3a3146105ea5761021c565b80638da5cb5b146104be57806395d89b41146104c657806397107d6d146104ce5780639cbdaeb6146104f45761021c565b8063313ce567116101a857806379ba50971161017757806379ba5097146104045780637e88ac161461040c5780637f4dab2f14610414578063867904b41461043a578063899ffef4146104665761021c565b8063313ce567146103c657806353a47bb7146103ce57806370a08231146103d657806374185360146103fc5761021c565b80631627540c116101ef5780631627540c1461032a57806318160ddd1461035057806323b872dd1461036a5780632af64bd3146103a05780632e0f2625146103a85761021c565b806304f3bcec1461022157806306fdde0314610245578063095ea7b3146102c2578063131b0ae714610302575b600080fd5b6102296106e5565b604080516001600160a01b039092168252519081900360200190f35b61024d6106f9565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561028757818101518382015260200161026f565b50505050905090810190601f1680156102b45780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102ee600480360360408110156102d857600080fd5b506001600160a01b038135169060200135610787565b604080519115158252519081900360200190f35b6103286004803603602081101561031857600080fd5b50356001600160a01b0316610822565b005b6103286004803603602081101561034057600080fd5b50356001600160a01b031661084c565b6103586108a8565b60408051918252519081900360200190f35b6102ee6004803603606081101561038057600080fd5b506001600160a01b038135811691602081013590911690604001356108ae565b6102ee6108d5565b6103b06109e7565b6040805160ff9092168252519081900360200190f35b6103b06109ec565b6102296109f5565b610358600480360360208110156103ec57600080fd5b50356001600160a01b0316610a04565b610328610a89565b610328610c66565b610358610d22565b6103586004803603602081101561042a57600080fd5b50356001600160a01b0316610d28565b6103286004803603604081101561045057600080fd5b506001600160a01b038135169060200135610e6b565b61046e610f28565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104aa578181015183820152602001610492565b505050509050019250505060405180910390f35b610229610f94565b61024d610fa3565b610328600480360360208110156104e457600080fd5b50356001600160a01b0316610ffe565b61022961105a565b6103286004803603604081101561051257600080fd5b506001600160a01b038135169060200135611069565b6103286004803603602081101561053e57600080fd5b50356001600160a01b0316611127565b6102ee6004803603604081101561056457600080fd5b506001600160a01b038135169060200135611156565b6103286004803603602081101561059057600080fd5b8101906020810181356401000000008111156105ab57600080fd5b8201836020820111156105bd57600080fd5b803590602001918460208302840111640100000000831117156105df57600080fd5b5090925090506111ee565b6102ee6004803603604081101561060057600080fd5b506001600160a01b0381351690602001356114b4565b6103286004803603602081101561062c57600080fd5b50356001600160a01b031661160d565b610229611637565b610358611646565b6103586004803603604081101561066257600080fd5b506001600160a01b038135811691602001351661164c565b6102ee6004803603606081101561069057600080fd5b506001600160a01b038135811691602081013590911690604001356116d8565b610229611828565b610229611837565b61022961184f565b610328600480360360208110156106de57600080fd5b503561185e565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b820191906000526020600020905b81548152906001019060200180831161076257829003601f168201915b505050505081565b600061079161186b565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b505050506108168185856118c2565b60019150505b92915050565b61082a6119fb565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108546119fb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b60006108b861186b565b6108c28483611a44565b6108cd848484611bbb565b949350505050565b600060606108e1610f28565b905060005b81518110156109dd5760008282815181106108fd57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b15801561096c57600080fd5b505afa158015610980573d6000803e3d6000fd5b505050506040513d602081101561099657600080fd5b50516001600160a01b03161415806109c357506000818152600a60205260409020546001600160a01b0316155b156109d457600093505050506109e4565b506001016108e6565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a5557600080fd5b505afa158015610a69573d6000803e3d6000fd5b505050506040513d6020811015610a7f57600080fd5b505190505b919050565b6060610a93610f28565b905060005b8151811015610c62576000828281518110610aaf57fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610b7a578181015183820152602001610b62565b50505050905090810190601f168015610ba75780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610bc557600080fd5b505afa158015610bd9573d6000803e3d6000fd5b505050506040513d6020811015610bef57600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a98565b5050565b6001546001600160a01b03163314610caf5760405162461bcd60e51b8152600401808060200182810382526035815260200180612b8b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600c5481565b600080610d33611d7c565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610d9257600080fd5b505afa158015610da6573d6000803e3d6000fd5b505050506040513d6060811015610dbc57600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610e1157600080fd5b505afa158015610e25573d6000803e3d6000fd5b505050506040513d6020811015610e3b57600080fd5b5051905080821115610e5257600092505050610a84565b610e62818363ffffffff611d9816565b92505050610a84565b6000610e75611df5565b6001600160a01b0316336001600160a01b03161490506000610e95611d7c565b6001600160a01b0316336001600160a01b03161490506000610eb5611e0a565b6001600160a01b0316336001600160a01b03161490508280610ed45750815b80610edc5750805b610f175760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b610f218585611e1e565b5050505050565b606080610f33611f48565b60408051600180825281830190925291925060609190602080830190803883390190505090506c45786368616e6765526174657360981b81600081518110610f7757fe5b602002602001018181525050610f8d8282612004565b9250505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561077f5780601f106107545761010080835404028352916020019161077f565b6110066119fb565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000611073611df5565b6001600160a01b0316336001600160a01b03161490506000611093611d7c565b6001600160a01b0316336001600160a01b031614905060006110b3611e0a565b6001600160a01b0316336001600160a01b031614905082806110d25750815b806110da5750805b6111155760405162461bcd60e51b8152600401808060200182810382526033815260200180612bef6033913960400191505060405180910390fd5b61111f85856120c0565b505050505050565b61112f6121bd565b600580546001600160a01b0319166001600160a01b0383161790556111538161226d565b50565b600061116061186b565b600454611176906001600160a01b031683611a44565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156111ac576111a583836123ac565b905061081c565b6001600160a01b0383166111d0576004546111a5906001600160a01b0316836120c0565b6004546111e7906001600160a01b0316848461250f565b9392505050565b6111f66121bd565b600061120061273c565b90506000816001600160a01b031663654a60ac600c54600b546040518363ffffffff1660e01b81526004018080631c1554d160e21b8152506020018381526020018281526020019250505060206040518083038186803b15801561126357600080fd5b505afa158015611277573d6000803e3d6000fd5b505050506040513d602081101561128d57600080fd5b5051600854909150811015806113115750816001600160a01b031663af3aea86600b546040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156112e457600080fd5b505afa1580156112f8573d6000803e3d6000fd5b505050506040513d602081101561130e57600080fd5b50515b61134c5760405162461bcd60e51b8152600401808060200182810382526047815260200180612cb86047913960600191505060405180910390fd5b60005b83811015610f2157600085858381811061136557fe5b600554604080516370a0823160e01b8152602093840295909501356001600160a01b03908116600487018190529151919650600095921693506370a0823192602480840193919291829003018186803b1580156113c157600080fd5b505afa1580156113d5573d6000803e3d6000fd5b505050506040513d60208110156113eb57600080fd5b5051905080156114aa576113fd611d7c565b600b5460408051630a1e187d60e01b81526001600160a01b0386811660048301819052602483019490945260448201869052631c1554d160e21b6064830152608482019390935290519290911691630a1e187d9160a4808201926020929091908290030181600087803b15801561147357600080fd5b505af1158015611487573d6000803e3d6000fd5b505050506040513d602081101561149d57600080fd5b506114aa90508282612757565b505060010161134f565b60006114be61186b565b60006114c8611d7c565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b15801561152357600080fd5b505af1158015611537573d6000803e3d6000fd5b505050506040513d606081101561154d57600080fd5b506040015190508281156115db5760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b1580156115ac57600080fd5b505afa1580156115c0573d6000803e3d6000fd5b505050506040513d60208110156115d657600080fd5b505190505b8084116115e857836115ea565b805b600454909450611604906001600160a01b0316868661250f565b95945050505050565b611615612898565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b1580156116a557600080fd5b505afa1580156116b9573d6000803e3d6000fd5b505050506040513d60208110156116cf57600080fd5b50519392505050565b60006116e261186b565b60006116ec611d7c565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561174d57600080fd5b505af1158015611761573d6000803e3d6000fd5b505050506040513d606081101561177757600080fd5b5060400151905082811561180157600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156117d257600080fd5b505afa1580156117e6573d6000803e3d6000fd5b505050506040513d60208110156117fc57600080fd5b505190505b8084101561180f5783611811565b805b935061181e868686611bbb565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b6118666121bd565b600855565b6002546001600160a01b0316331480159061189157506003546001600160a01b03163314155b80156118a857506004546001600160a01b03163314155b156118c057600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c518239602101905060405180910390206119158861290c565b61191e8861290c565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561198d578181015183820152602001611975565b50505050905090810190601f1680156119ba5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156119de57600080fd5b505af11580156119f2573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146118c05760405162461bcd60e51b815260040180806020018281038252602f815260200180612c22602f913960400191505060405180910390fd5b611a4c611d7c565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611aab57600080fd5b505afa158015611abf573d6000803e3d6000fd5b505050506040513d6020811015611ad557600080fd5b505115611b135760405162461bcd60e51b8152600401808060200182810382526025815260200180612c726025913960400191505060405180910390fd5b80611b1d83610d28565b1015611b5a5760405162461bcd60e51b815260040180806020018281038252602f815260200180612bc0602f913960400191505060405180910390fd5b611b62612918565b6001600160a01b0316631d7e7789600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611ba757600080fd5b505afa15801561111f573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b158015611c1957600080fd5b505afa158015611c2d573d6000803e3d6000fd5b505050506040513d6020811015611c4357600080fd5b505114611d71576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c928892611cf0918891879163dd62ed3e91604480820192602092909190829003018186803b158015611cb857600080fd5b505afa158015611ccc573d6000803e3d6000fd5b505050506040513d6020811015611ce257600080fd5b50519063ffffffff611d9816565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611d5857600080fd5b505af1158015611d6c573d6000803e3d6000fd5b505050505b6108cd84848461250f565b6000611d936822bc31b430b733b2b960b91b61292e565b905090565b600082821115611def576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611d9366119959541bdbdb60ca1b61292e565b6000611d936524b9b9bab2b960d11b61292e565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611eb491869186916370a0823191602480820192602092909190829003018186803b158015611e7c57600080fd5b505afa158015611e90573d6000803e3d6000fd5b505050506040513d6020811015611ea657600080fd5b50519063ffffffff612a0b16565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611f0357600080fd5b505af1158015611f17573d6000803e3d6000fd5b5050600854611f2f925090508263ffffffff612a0b16565b600855611f3e60008383612a65565b610c628282612ab8565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110611f8857fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611fae57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611fd157fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611ff557fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612034578160200160208202803883390190505b50905060005b83518110156120765783818151811061204f57fe5b602002602001015182828151811061206357fe5b602090810291909101015260010161203a565b5060005b82518110156120b95782818151811061208f57fe5b60200260200101518282865101815181106120a657fe5b602090810291909101015260010161207a565b5092915050565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f691869161212091879186916370a08231916024808301926020929190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561216f57600080fd5b505af1158015612183573d6000803e3d6000fd5b505060085461219b925090508363ffffffff611d9816565b6008556121aa83600084612a65565b6121b48383612b21565b50600192915050565b6002546001600160a01b031633148015906121e357506003546001600160a01b03163314155b80156121fa57506004546001600160a01b03163314155b1561221257600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146118c0576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b8381101561234757818101518382015260200161232f565b50505050905090810190601f1680156123745780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561239857600080fd5b505af1158015610f21573d6000803e3d6000fd5b600080600b54631c1554d160e21b14156123e0575060045482906123da906001600160a01b0316858361250f565b506124a0565b6123e8611d7c565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631c1554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b15801561247157600080fd5b505af1158015612485573d6000803e3d6000fd5b505050506040513d602081101561249b57600080fd5b505190505b6124a8611df5565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156124ed57600080fd5b505af1158015612501573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061253257506001600160a01b0383163014155b801561254c57506002546001600160a01b03848116911614155b61259d576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f69187916125fb91879186916370a0823191602480820192602092909190829003018186803b158015611cb857600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561264a57600080fd5b505af115801561265e573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916126c091879186916370a0823191602480820192602092909190829003018186803b158015611e7c57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561270f57600080fd5b505af1158015612723573d6000803e3d6000fd5b50505050612732848484612a65565b5060019392505050565b6000611d936c45786368616e6765526174657360981b61292e565b60028054604080516020808201869052825180830390910181528183018084527f50757267656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127c08761290c565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561283357818101518382015260200161281b565b50505050905090810190601f1680156128605780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561288457600080fd5b505af115801561111f573d6000803e3d6000fd5b6002546001600160a01b03163314806128bb57506003546001600160a01b031633145b6118c0576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6001600160a01b031690565b6000611d936b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816120b95760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156129d05781810151838201526020016129b8565b50505050905090810190601f1680156129fd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000828201838110156111e7576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612c978239602101905060405180910390206119158861290c565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127c08761290c565b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926127c08761290c56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e743235362943616e6e6f7420707572676520617320746f74616c20737570706c792069732061626f7665207468726573686f6c6420616e642072617465206973206e6f742066726f7a656e2ea265627a7a7231582076b03274a8cf91dc38e0428c678fa281ab971a8b82fdf7d22c287f739754af8664736f6c63430005100032",
			"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": "0xda9ab01babe13712ccf59855c6fe1c3538bea3d5fd7df85ea81b876113b0ae36",
				"urls": [
					"bzz-raw://c1b26efeb85ad4f2d1ad6e88b5d7b70a03e46aa9ce923f36d92a6c7887ba75b7",
					"dweb:/ipfs/QmUf5EcAuZ1LT3LVAUiGXtQCRJhVtEzKpWdbZ4Nh7Kt7E4"
				]
			},
			"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": "0xda9ab01babe13712ccf59855c6fe1c3538bea3d5fd7df85ea81b876113b0ae36",
						"urls": [
							"bzz-raw://c1b26efeb85ad4f2d1ad6e88b5d7b70a03e46aa9ce923f36d92a6c7887ba75b7",
							"dweb:/ipfs/QmUf5EcAuZ1LT3LVAUiGXtQCRJhVtEzKpWdbZ4Nh7Kt7E4"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b50604051610f7f380380610f7f8339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610e83806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610648565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610736565b005b34801561029457600080fd5b5061029d610792565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610808565b3480156102fe57600080fd5b506103076108ff565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b50610332610944565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b0316610953565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b03166109d6565b3480156103c057600080fd5b50610286610a32565b3480156103d557600080fd5b50610332610aee565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610afd565b34801561047f57600080fd5b50610191610c06565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610c4b565b3480156104cd57600080fd5b50610332610d04565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610d13565b600254604080516306fdde0360e01b815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561055657600080fd5b505afa15801561056a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561059357600080fd5b81019080805160405193929190846401000000008211156105b357600080fd5b9083019060208201858111156105c857600080fd5b82516401000000008111828201881017156105e257600080fd5b82525081516020918201929091019080838360005b8381101561060f5781810151838201526020016105f7565b50505050905090810190601f16801561063c5780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561069357600080fd5b505af11580156106a7573d6000803e3d6000fd5b50506002546040805163095ea7b360e01b81526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561070157600080fd5b505af1158015610715573d6000803e3d6000fd5b505050506040513d602081101561072b57600080fd5b506001949350505050565b61073e610d9f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b1580156107d757600080fd5b505afa1580156107eb573d6000803e3d6000fd5b505050506040513d602081101561080157600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b15801561085357600080fd5b505af1158015610867573d6000803e3d6000fd5b5050600254604080516323b872dd60e01b81526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b1580156108c957600080fd5b505af11580156108dd573d6000803e3d6000fd5b505050506040513d60208110156108f357600080fd5b50600195945050505050565b6002546040805163313ce56760e01b815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b1580156107d757600080fd5b6001546001600160a01b031681565b600254604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109a457600080fd5b505afa1580156109b8573d6000803e3d6000fd5b505050506040513d60208110156109ce57600080fd5b505192915050565b6109de610d9f565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610a7b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610deb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610b53576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610bbd5760018114610bc85760028114610bd45760038114610be15760048114610bef57610bfa565b8260208301a0610bfa565b868360208401a1610bfa565b85878460208501a2610bfa565b8486888560208601a3610bfa565b838587898660208701a45b50505050505050505050565b600254604080516395d89b4160e01b815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561055657600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610c9657600080fd5b505af1158015610caa573d6000803e3d6000fd5b50506002546040805163a9059cbb60e01b81526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561070157600080fd5b6002546001600160a01b031681565b60025460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610d6c57600080fd5b505afa158015610d80573d6000803e3d6000fd5b505050506040513d6020811015610d9657600080fd5b50519392505050565b6000546001600160a01b03163314610de85760405162461bcd60e51b815260040180806020018281038252602f815260200180610e20602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b69feb5427225dd45b13fbfcdc4c82df5e18c9bfb85b05e1105ab1ad6f0571a564736f6c63430005100032",
			"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": "0xd0ea94a183b820f77257dce311edb9f8f3424106511569fe6927391efd82fad8",
				"urls": [
					"bzz-raw://692547b93cbc1c7c8165c1ee2d896b65cdda625110529e077f1969301b56d368",
					"dweb:/ipfs/QmQcoiGwTeK7AVwqtCHX9WYMfQc66xRiU6CEktGCb8b1fd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyERC20.sol": "ProxyERC20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ProxyERC20.sol": {
						"keccak256": "0xd0ea94a183b820f77257dce311edb9f8f3424106511569fe6927391efd82fad8",
						"urls": [
							"bzz-raw://692547b93cbc1c7c8165c1ee2d896b65cdda625110529e077f1969301b56d368",
							"dweb:/ipfs/QmQcoiGwTeK7AVwqtCHX9WYMfQc66xRiU6CEktGCb8b1fd"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "608060405234801561001057600080fd5b5060405161129b38038061129b833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b031991821617909155600380549486169482169490941790935560048054928516928416929092179091556005805491909316911617905550611136806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063c1b7ca1111610071578063c1b7ca11146102a7578063c9e9cc4d146102cd578063d12a701d146102d5578063d8297e44146102dd578063e54c16711461030357610116565b8063817a6951146102725780638da5cb5b1461028f578063a430be6c14610297578063bf7e214f1461029f57610116565b806359974e38116100e957806359974e38146101c15780635de39934146101f257806360eb3ff21461021857806379ba5097146102445780637a9e5e4b1461024c57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019d575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61017a6004803603602081101561017357600080fd5b5035610398565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101a56103cd565b604080516001600160a01b039092168252519081900360200190f35b6101de600480360360208110156101d757600080fd5b50356103dc565b604080519115158252519081900360200190f35b61015b6004803603602081101561020857600080fd5b50356001600160a01b0316610a2f565b6101de6004803603604081101561022e57600080fd5b506001600160a01b038135169060200135610a59565b61015b610bfc565b61015b6004803603602081101561026257600080fd5b50356001600160a01b0316610cb8565b61015b6004803603602081101561028857600080fd5b5035610ce2565b6101a5610dcd565b6101a5610ddc565b6101a5610deb565b61015b600480360360208110156102bd57600080fd5b50356001600160a01b0316610dfa565b6101a5610e24565b6101a5610e33565b61015b600480360360208110156102f357600080fd5b50356001600160a01b0316610e42565b6101de6004803603606081101561031957600080fd5b508035906001600160a01b036020820135169060400135610e6c565b6006545b90565b610344610f38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103a557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b600080821161042a576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610489576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b03166104e6576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b0316610543576040805162461bcd60e51b815260206004820152601b60248201527f5065726946696e616e636550726f7879206973206e6f74207365740000000000604482015290519081900360640190fd5b6005546001600160a01b03166105a0576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505110156106535760405162461bcd60e51b815260040180806020018281038252604681526020018061108d6046913960600191505060405180910390fd5b8160005b6006548110156109065760006001600160a01b03166006828154811061067957fe5b60009182526020909120600290910201546001600160a01b03161415806106bf5750600681815481106106a857fe5b906000526020600020906002020160010154600014155b156108fe576106f5600682815481106106d457fe5b90600052602060002090600202016001015483610f8390919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061071c57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061074757fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d60208110156107d257600080fd5b50506006805460609190839081106107e657fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b17905260068054919350908490811061084457fe5b60009182526020918290206002909102015460405184516001600160a01b0390921692859282918401908083835b602083106108915780518252601f199092019160209182019101610872565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b50505050505b600101610657565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b505050506040513d602081101561098b57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b1580156109da57600080fd5b505af11580156109ee573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610a37610f38565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a63610f38565b6001600160a01b038316610abe576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610b09576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610b11610fe0565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610c455760405162461bcd60e51b81526004018080602001828103825260358152602001806110586035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610cc0610f38565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610cea610f38565b60065460001901811115610d3b576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610db55760068160010181548110610d5b57fe5b906000526020600020906002020160068281548110610d7657fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610d3d565b506006805490610dc9906000198301610ff7565b5050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6002546001600160a01b031681565b610e02610f38565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031681565b6003546001600160a01b031681565b610e4a610f38565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e76610f38565b60065460001901841115610ec7576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b8260068581548110610ed557fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610f1857fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b03163314610f815760405162461bcd60e51b815260040180806020018281038252602f8152602001806110d3602f913960400191505060405180910390fd5b565b600082821115610fda576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b815481835581811115611023576002028160020283600052602060002091820191016110239190611028565b505050565b61033991905b808211156110535780546001600160a01b03191681556000600182015560020161102e565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820a09de524ac9018de9265fcf99df21d8f507c06cbf543f3842a83830b874f6ffe64736f6c63430005100032",
			"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": "0xf1bfdd7b890b070c778662825ddc53d6abf590ff1fe917a53b01d77c83b72444",
				"urls": [
					"bzz-raw://11192e3d8c579559fca0636c6d417b85200bc691326b7962dbc1151bb305d8e4",
					"dweb:/ipfs/QmamqA5bDCe85pB7UGSNZYNrp4x8QNmWjWhkej3mkf6aAM"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardsDistribution.sol": "RewardsDistribution"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardsDistribution.sol": {
						"keccak256": "0xf1bfdd7b890b070c778662825ddc53d6abf590ff1fe917a53b01d77c83b72444",
						"urls": [
							"bzz-raw://11192e3d8c579559fca0636c6d417b85200bc691326b7962dbc1151bb305d8e4",
							"dweb:/ipfs/QmamqA5bDCe85pB7UGSNZYNrp4x8QNmWjWhkej3mkf6aAM"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820c327e7f330f7de0c8bb77fa365f228955cd507491465cfceee76487ddb44378364736f6c63430005100032",
			"abi": [],
			"source": {
				"keccak256": "0xd8286d41eb1765a3ffb33c74afe099348d3ef612562c6d75308124fdfaa67950",
				"urls": [
					"bzz-raw://759e128cd692bd5ec91eabef31ff299af84beff4d4e119d98bae7506dfe0910c",
					"dweb:/ipfs/Qme6NFS5ficXvvdhzrtiuiPKdjUPwepnpYKAyYV6nGFCBg"
				]
			},
			"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": "0xd8286d41eb1765a3ffb33c74afe099348d3ef612562c6d75308124fdfaa67950",
						"urls": [
							"bzz-raw://759e128cd692bd5ec91eabef31ff299af84beff4d4e119d98bae7506dfe0910c",
							"dweb:/ipfs/Qme6NFS5ficXvvdhzrtiuiPKdjUPwepnpYKAyYV6nGFCBg"
						]
					}
				},
				"version": 1
			}
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba5097146101a257806382b4c11c146101aa5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f57806353a47bb71461012c578063766f781514610134575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f3610466565b6100d46004803603602081101561014a57600080fd5b810190602081018135600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460208302840111600160201b8311171561019757600080fd5b509092509050610475565b6100d46104ff565b6100f3600480360360208110156101c057600080fd5b50356105bb565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6001546001600160a01b031681565b60005b818110156104fa5782828281811061048c57fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104d657600080fd5b505af11580156104ea573d6000803e3d6000fd5b5050600190920191506104789050565b505050565b6001546001600160a01b031633146105485760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b03168061064c576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166357ad4663846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d60208110156106ba57600080fd5b50519392505050565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158201ea6b9f2b3ce0f3f4f7ff0ba97de8f63eecb8071faeb52e0f3cf9b93c6681c2f64736f6c63430005100032",
			"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": "0x5c10dc9c6cdd15b2afd4ccaa11ec3bc1f93768e0c8df342110c454bd1c788c18",
				"urls": [
					"bzz-raw://76bf1c512d8730ee182d8511af1dd81d1c3e838854003e3f15d6a9fc11e9bf31",
					"dweb:/ipfs/QmUeCtZXsRU3coozKxu2VhwhnSNRRneyHLAfw2QNyec5wj"
				]
			},
			"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": "0x5c10dc9c6cdd15b2afd4ccaa11ec3bc1f93768e0c8df342110c454bd1c788c18",
						"urls": [
							"bzz-raw://76bf1c512d8730ee182d8511af1dd81d1c3e838854003e3f15d6a9fc11e9bf31",
							"dweb:/ipfs/QmUeCtZXsRU3coozKxu2VhwhnSNRRneyHLAfw2QNyec5wj"
						]
					}
				},
				"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": "6080604052600c60045534801561001557600080fd5b50604051610bc5380380610bc58339818101604052604081101561003857600080fd5b50805160209091015180826001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610148576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610a1a806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610290578063cd8b94dc146102bc578063d0d3d62a146102d9578063f1406dc814610305576100ea565b806379ba5097146102785780638da5cb5b14610280578063aefc4ccb14610288576100ea565b80633ca9d85c116100c85780633ca9d85c146101a457806352f445ca146101fc57806353a47bb7146102225780636e13fe7614610246576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c1461017c575b600080fd5b6100f7610331565b60408051918252519081900360200190f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610337565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6101a26004803603602081101561019257600080fd5b50356001600160a01b03166103dc565b005b6101a260048036036101208110156101bb57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610438565b6101a26004803603602081101561021257600080fd5b50356001600160a01b03166105aa565b61022a610606565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603606081101561025c57600080fd5b506001600160a01b038135169060208101359060400135610615565b6101a261067f565b61022a61073b565b61022a61074a565b6100f7600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610759565b6101a2600480360360208110156102d257600080fd5b5035610781565b6101a2600480360360408110156102ef57600080fd5b506001600160a01b03813516906020013561078e565b6100f76004803603604081101561031b57600080fd5b506001600160a01b038135169060200135610807565b60045481565b6000806000806000806000806000600360008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000208a8154811061038657fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b6103e461088d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146104815760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6004546001600160a01b038a1660009081526003602090815260408083208a8452909152902054106104fa576040805162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b6001600160a01b03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b6105b261088d565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6003602052826000526040600020602052816000526040600020818154811061063a57fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b6001546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252603581526020018061094e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61078961088d565b600455565b6002546001600160a01b031633146107d75760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602090815260408083208484529091528120610803916108d8565b5050565b6001600160a01b0382166000908152600360209081526040808320848452909152812081805b8254811015610884578183828154811061084357fe5b906000526020600020906008020160050154111561087c5782818154811061086757fe5b90600052602060002090600802016005015491505b60010161082d565b50949350505050565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040180806020018281038252602f815260200180610983602f913960400191505060405180910390fd5b565b50805460008255600802906000526020600020908101906108f991906108fc565b50565b61094a91905b808211156109465760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610902565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582000d06da5ed11044bbe41928c093b2301bc5054def6da71dd0875efc42706e20a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "appendExchangeEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ca9d85c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "exchanges",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6e13fe76"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getEntryAt",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15987eb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getLengthOfEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb44e9753"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getMaxTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1406dc8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEntriesInQueue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d40d0cf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0d3d62a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEntriesInQueue",
							"type": "uint256"
						}
					],
					"name": "setMaxEntriesInQueue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd8b94dc"
				}
			],
			"source": {
				"keccak256": "0x6902f2fe52792578f8a1e633c83c13c5a0b340cb30b7fcf9ed0a8d858f11b308",
				"urls": [
					"bzz-raw://c3489f7a1f1255edfb76f959ab7568d15b043492cf3031d34072542417f6b92e",
					"dweb:/ipfs/QmZbHeGR2UbywqZFfYAGxirE7LKBAgqJUwAUnekCTXgE5Z"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeState.sol": "ExchangeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeState.sol": {
						"keccak256": "0x6902f2fe52792578f8a1e633c83c13c5a0b340cb30b7fcf9ed0a8d858f11b308",
						"urls": [
							"bzz-raw://c3489f7a1f1255edfb76f959ab7568d15b043492cf3031d34072542417f6b92e",
							"dweb:/ipfs/QmZbHeGR2UbywqZFfYAGxirE7LKBAgqJUwAUnekCTXgE5Z"
						]
					}
				},
				"version": 1
			}
		},
		"Issuer": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005fe838038062005fe8833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050615ebc806200012c6000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c806384bb574f1161013b578063b410a034116100b8578063dd3d2b2e1161007c578063dd3d2b2e146107f2578063f023e8db14610818578063f0617e5b1461083d578063f5adc4f514610863578063f9a3a4bf1461086b57610248565b8063b410a03414610764578063b4a91a781461076c578063c9a2f3ad14610798578063d37c4d8b146107be578063d99947de146107ea57610248565b80639df95f9f116100ff5780639df95f9f14610686578063a311c7c2146106a3578063a5fdc5de146106c9578063a63c4df4146106ef578063ae3bbbbb1461073e57610248565b806384bb574f146105e5578063899ffef41461060b57806389e86ea0146106135780638d542eb3146106395780638da5cb5b1461067e57610248565b806353a47bb7116101c9578063614d08f81161018d578063614d08f8146105935780637296827b1461059b57806372cb051f146105cd57806374185360146105d557806379ba5097146105dd57610248565b806353a47bb71461046c57806355182ccb146104745780635543dadc1461049a57806357ad4663146105085780636017c4581461052557610248565b80632ae78fdb116102105780632ae78fdb146103975780632af64bd3146103d15780633b09280a146103d95780634c29b0af1461041d57806352f9e8081461043a57610248565b806304f3bcec1461024d578063156b4ff6146102715780631627540c146102995780631db63a33146102bf578063242df9e11461037d575b600080fd5b610255610891565b604080516001600160a01b039092168252519081900360200190f35b6102976004803603602081101561028757600080fd5b50356001600160a01b03166108a0565b005b610297600480360360208110156102af57600080fd5b50356001600160a01b031661091e565b61032d600480360360208110156102d557600080fd5b810190602081018135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b50909250905061097a565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b610385610a28565b60408051918252519081900360200190f35b6103bd600480360360208110156103ad57600080fd5b50356001600160a01b0316610a38565b604080519115158252519081900360200190f35b6103bd610a4b565b6103ff600480360360208110156103ef57600080fd5b50356001600160a01b0316610b55565b60408051938452602084019290925282820152519081900360600190f35b6102976004803603602081101561043357600080fd5b5035610b71565b6102976004803603606081101561045057600080fd5b506001600160a01b038135169060208101359060400135610c59565b610255610c71565b6103856004803603602081101561048a57600080fd5b50356001600160a01b0316610c80565b610297600480360360208110156104b057600080fd5b810190602081018135600160201b8111156104ca57600080fd5b8201836020820111156104dc57600080fd5b803590602001918460208302840111600160201b831117156104fd57600080fd5b509092509050610c94565b6102556004803603602081101561051e57600080fd5b5035610d44565b6102976004803603602081101561053b57600080fd5b810190602081018135600160201b81111561055557600080fd5b82018360208201111561056757600080fd5b803590602001918460208302840111600160201b8311171561058857600080fd5b509092509050610d5f565b610385610f0a565b610297600480360360608110156105b157600080fd5b506001600160a01b038135169060208101359060400135610f17565b61032d610f2c565b610297610f38565b6102976110fc565b610297600480360360208110156105fb57600080fd5b50356001600160a01b03166111b8565b61032d6113e9565b6103856004803603602081101561062957600080fd5b50356001600160a01b03166116a5565b6106656004803603604081101561064f57600080fd5b506001600160a01b0381351690602001356116b0565b6040805192835290151560208301528051918290030190f35b6102556119b0565b6102556004803603602081101561069c57600080fd5b50356119bf565b610385600480360360208110156106b957600080fd5b50356001600160a01b03166119e6565b610385600480360360208110156106df57600080fd5b50356001600160a01b03166119f8565b6107256004803603606081101561070557600080fd5b506001600160a01b03813581169160208101359160409091013516611a03565b6040805192835260208301919091528051918290030190f35b6106656004803603602081101561075457600080fd5b50356001600160a01b0316612040565b610385612056565b6102976004803603604081101561078257600080fd5b506001600160a01b038135169060200135612060565b610385600480360360208110156107ae57600080fd5b50356001600160a01b0316612076565b610385600480360360408110156107d457600080fd5b506001600160a01b038135169060200135612088565b610385612132565b6103856004803603602081101561080857600080fd5b50356001600160a01b0316612138565b6103856004803603604081101561082e57600080fd5b50803590602001351515612143565b6102976004803603602081101561085357600080fd5b50356001600160a01b031661214f565b6103bd612167565b6103856004803603602081101561088157600080fd5b50356001600160a01b03166122cd565b6002546001600160a01b031681565b6108a86122e8565b6108b181612333565b6108b9612510565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b15801561090357600080fd5b505af1158015610917573d6000803e3d6000fd5b5050505050565b6109266122e8565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b604080518281526020808402820101909152606090829082908280156109aa578160200160208202803883390190505b50905060005b82811015610a1d57600560008787848181106109c857fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b03168282815181106109fd57fe5b6001600160a01b03909216602092830291909101909101526001016109b0565b509150505b92915050565b6000610a32612527565b90505b90565b6000610a43826125d1565b90505b919050565b60006060610a576113e9565b905060005b8151811015610b4c576000828281518110610a7357fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610adb57600080fd5b505afa158015610aef573d6000803e3d6000fd5b505050506040513d6020811015610b0557600080fd5b50516001600160a01b0316141580610b3257506000818152600360205260409020546001600160a01b0316155b15610b435760009350505050610a35565b50600101610a5c565b50600191505090565b6000806000610b63846125fc565b509196909550909350915050565b610b796122e8565b6000610b83612510565b9050806001600160a01b0316638376a7828360006040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610bd457600080fd5b505af1158015610be8573d6000803e3d6000fd5b5050604080516304bd11e560e01b81526001600482015290516001600160a01b03851693506304bd11e59250602480830192600092919082900301818387803b158015610c3457600080fd5b505af1158015610c48573d6000803e3d6000fd5b50505050610c5582612664565b5050565b610c6161291f565b610c6c838383612976565b505050565b6001546001600160a01b031681565b600080610c8c83612aff565b509392505050565b610c9c6122e8565b8060005b81811015610cd457610ccc848483818110610cb757fe5b905060200201356001600160a01b0316612333565b600101610ca0565b50610cdd612510565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b158015610d2757600080fd5b505af1158015610d3b573d6000803e3d6000fd5b50505050505050565b6005602052600090815260409020546001600160a01b031681565b610d676122e8565b806000610d72612510565b9050606082604051908082528060200260200182016040528015610da0578160200160208202803883390190505b509050816001600160a01b0316639f98fb498686846040518463ffffffff1660e01b815260040180806020018060200183810383528686828181526020019250602002808284376000838201819052601f909101601f1916909201858103845286518152865160209182019382890193509102908190849084905b83811015610e33578181015183820152602001610e1b565b5050505090500195505050505050600060405180830381600087803b158015610e5b57600080fd5b505af1158015610e6f573d6000803e3d6000fd5b5050604080516304bd11e560e01b81526001600482015290516001600160a01b03861693506304bd11e59250602480830192600092919082900301818387803b158015610ebb57600080fd5b505af1158015610ecf573d6000803e3d6000fd5b506000925050505b83811015610f0257610efa868683818110610eee57fe5b90506020020135612664565b600101610ed7565b505050505050565b6524b9b9bab2b960d11b81565b610f1f61291f565b610c6c8383836000612d89565b6060610a3260006130d0565b6060610f426113e9565b905060005b8151811015610c55576000828281518110610f5e57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611014578181015183820152602001610ffc565b50505050905090810190601f1680156110415780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561105f57600080fd5b505afa158015611073573d6000803e3d6000fd5b505050506040513d602081101561108957600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610f47565b6001546001600160a01b031633146111455760405162461bcd60e51b8152600401808060200182810382526035815260200180615ce46035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6111c061291f565b6000806111d483631c1554d160e21b6131ad565b92505091506000806111e461340f565b6001600160a01b0316630c71cd23635553444360e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561122d57600080fd5b505afa158015611241573d6000803e3d6000fd5b505050506040513d604081101561125757600080fd5b508051602090910151909250905060006112f961127261342a565b6001600160a01b0316635fcdad91886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112c757600080fd5b505afa1580156112db573d6000803e3d6000fd5b505050506040513d60208110156112f157600080fd5b505184613448565b905060008061130661340f565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561134f57600080fd5b505afa158015611363573d6000803e3d6000fd5b505050506040513d604081101561137957600080fd5b5080516020909101519092509050600061139b6113958a61346e565b846135d3565b90506113b687806113a95750855b806113b15750825b6135e5565b6000806113c48a8785613638565b915091506113dc8b836113d7848c613879565b612976565b5050505050505050505050565b6060806113f4613898565b60408051600f808252610200820190925291925060609190602082016101e0803883390190505090506a5065726946696e616e636560a81b8160008151811061143957fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061145f57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061148957fe5b6020026020010181815250506f5065726946696e616e6365537461746560801b816003815181106114b657fe5b60200260200101818152505066119959541bdbdb60ca1b816004815181106114da57fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b8160058151811061150857fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b8160068151811061153457fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1c1554d1606a1b8160078151811061156457fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160088151811061158f57fe5b602002602001018181525050705065726946696e616e6365457363726f7760781b816009815181106115bd57fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b81600a815181106115e657fe5b6020026020010181815250506844656274436163686560b81b81600b8151811061160c57fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600c8151811061163a57fe5b602002602001018181525050635553444360e01b81600d8151811061165b57fe5b6020026020010181815250506f5374616b696e6753746174655553444360801b81600e8151811061168857fe5b60200260200101818152505061169e82826138e9565b9250505090565b6000610a438261399e565b6000806000806116c786635045524960e01b6131ad565b919350909150600090506116d961342a565b6001600160a01b031663c93c8f34886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561172e57600080fd5b505afa158015611742573d6000803e3d6000fd5b505050506040513d602081101561175857600080fd5b5051156119655760008061176a61340f565b6001600160a01b0316630c71cd23635553444360e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156117b357600080fd5b505afa1580156117c7573d6000803e3d6000fd5b505050506040513d60408110156117dd57600080fd5b5080516020909101519092509050600061184d6117f861342a565b6001600160a01b0316635fcdad918c6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112c757600080fd5b9050600061186961185c613b1c565b839063ffffffff613b9216565b905060008061187661340f565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156118bf57600080fd5b505afa1580156118d3573d6000803e3d6000fd5b505050506040513d60408110156118e957600080fd5b508051602090910151909250905060006119038484613ba7565b9050808a111561194157600061191f8b8363ffffffff613bb916565b905061193961192c613b1c565b829063ffffffff613c1616565b985050611946565b600097505b888061194f5750855b806119575750815b9a5050505050505050611983565b61197d611970613b1c565b849063ffffffff613c1616565b90508193505b85811061199357600094506119a6565b6119a3868263ffffffff613bb916565b94505b5050509250929050565b6000546001600160a01b031681565b600481815481106119cc57fe5b6000918252602090912001546001600160a01b0316905081565b60006119f182613c2b565b5092915050565b6000610a438261346e565b600080611a0e61291f565b611a16613e96565b6001600160a01b031663d6f32e0684631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d6020811015611aa457600080fd5b505115611af8576040805162461bcd60e51b815260206004820152601860248201527f70555344206e6565647320746f20626520736574746c65640000000000000000604482015290519081900360640190fd5b611b00613ead565b6001600160a01b031663c49e80a6866040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611b5557600080fd5b505afa158015611b69573d6000803e3d6000fd5b505050506040513d6020811015611b7f57600080fd5b5051611bd2576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e74206e6f74206f70656e20666f72206c69717569646174696f6e604482015290519081900360640190fd5b631c1554d160e21b600052600560209081527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b54604080516370a0823160e01b81526001600160a01b0387811660048301529151889492909316926370a0823192602480840193919291829003018186803b158015611c5057600080fd5b505afa158015611c64573d6000803e3d6000fd5b505050506040513d6020811015611c7a57600080fd5b50511015611cc1576040805162461bcd60e51b815260206004820152600f60248201526e139bdd08195b9bdd59da081c1554d1608a1b604482015290519081900360640190fd5b6000611ccb613ead565b6001600160a01b03166323f5589a6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d0357600080fd5b505afa158015611d17573d6000803e3d6000fd5b505050506040513d6020811015611d2d57600080fd5b5051905060008080611d4689631c1554d160e21b6131ad565b925092509250600080611d5761340f565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015611da057600080fd5b505afa158015611db4573d6000803e3d6000fd5b505050506040513d6040811015611dca57600080fd5b5080516020909101519092509050611de883806113b15750816135e5565b6000611df38c61346e565b90506000611dff613ead565b6001600160a01b0316630ac045d588611e1885886135d3565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611e5357600080fd5b505afa158015611e67573d6000803e3d6000fd5b505050506040513d6020811015611e7d57600080fd5b505190508b8110611e8e578b611e90565b805b98506000611e9e8a86613ba7565b9050611f30611f238a73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611eeb57600080fd5b505af4158015611eff573d6000803e3d6000fd5b505050506040513d6020811015611f1557600080fd5b50519063ffffffff613ec716565b829063ffffffff613f2116565b9a50828b1115611fa157829a50611f9e611f98611f8b8b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611eeb57600080fd5b859063ffffffff613f4b16565b866135d3565b99505b611fae8e8d8c8b8b613f75565b50818a141561202f57611fbf613ead565b6001600160a01b031663974e9e7f8f6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561201657600080fd5b505af115801561202a573d6000803e3d6000fd5b505050505b505050505050505050935093915050565b60008061204c83613c2b565b915091505b915091565b6000610a32613b1c565b61206861291f565b610c55828260006001612d89565b60066020526000908152604090205481565b6000806120936142c0565b60408051631167f01160e31b81526001600160a01b038781166004830152825193945060009390851692638b3f80889260248082019391829003018186803b1580156120de57600080fd5b505afa1580156120f2573d6000803e3d6000fd5b505050506040513d604081101561210857600080fd5b505190508061211c57600092505050610a22565b61212685856131ad565b50909695505050505050565b60045490565b6000610a43826142de565b6000610c8c83836143c2565b61215761291f565b6121648160006001614767565b50565b600061217161340f565b6001600160a01b031663c8e5bbd561218960016130d0565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156121d85781810151838201526020016121c0565b505050509050019250505060006040518083038186803b1580156121fb57600080fd5b505afa15801561220f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561223857600080fd5b8101908080516040519392919084600160201b82111561225757600080fd5b90830190602082018581111561226c57600080fd5b82518660208202830111600160201b8211171561228857600080fd5b82525081516020918201928201910280838360005b838110156122b557818101518382015260200161229d565b50505050919091016040525060200151949350505050565b60008060006122db84614981565b915091506119f1816135e5565b6000546001600160a01b031633146123315760405162461bcd60e51b815260040180806020018281038252602f815260200180615df5602f913960400191505060405180910390fd5b565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561236e57600080fd5b505afa158015612382573d6000803e3d6000fd5b505050506040513d602081101561239857600080fd5b50516000818152600560205260409020549091506001600160a01b0316156123f6576040805162461bcd60e51b815260206004820152600c60248201526b50796e74682065786973747360a01b604482015290519081900360640190fd5b6001600160a01b03821660009081526006602052604090205415612461576040805162461bcd60e51b815260206004820152601c60248201527f50796e7468206164647265737320616c72656164792065786973747300000000604482015290519081900360640190fd5b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b0384166001600160a01b03199182168117909255600083815260056020908152604080832080549094168517909355838252600681529082902084905581518481529081019290925280517fe82414a85733a2b51473d0ab66a73f2af64f044531104dc04ca01db8c9c5f5cf9281900390910190a15050565b6000610a326844656274436163686560b81b614b1a565b6000612531614bf7565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156125a057600080fd5b505afa1580156125b4573d6000803e3d6000fd5b505050506040513d60208110156125ca57600080fd5b5051905090565b60006125f36125de612527565b6125e7846142de565b9063ffffffff613ec716565b42101592915050565b60008060008061261385631c1554d160e21b6131ad565b9194509250905060008061262687612aff565b9150915081955082806126365750805b9250858510612648576000955061265b565b612658868663ffffffff613bb916565b95505b50509193509193565b6000818152600560205260409020546001600160a01b0316806126c5576040805162461bcd60e51b8152602060048201526014602482015273141e5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156126fe57600080fd5b505afa158015612712573d6000803e3d6000fd5b505050506040513d602081101561272857600080fd5b505115612772576040805162461bcd60e51b815260206004820152601360248201527250796e746820737570706c792065786973747360681b604482015290519081900360640190fd5b631c1554d160e21b8214156127c4576040805162461bcd60e51b8152602060048201526013602482015272086c2dcdcdee840e4cadadeecca40e0f2dce8d606b1b604482015290519081900360640190fd5b60005b6004548110156128ab57816001600160a01b0316600482815481106127e857fe5b6000918252602090912001546001600160a01b031614156128a3576004818154811061281057fe5b600091825260209091200180546001600160a01b031916905560048054600019810190811061283b57fe5b600091825260209091200154600480546001600160a01b03909216918390811061286157fe5b600091825260209091200180546001600160a01b0319166001600160a01b0392909216919091179055600480549061289d906000198301615ca6565b506128ab565b6001016127c7565b506001600160a01b0381166000818152600660209081526040808320839055858352600582529182902080546001600160a01b031916905581518581529081019290925280517f1f2a4e9868db18b9d103e44efacb2690000d9d78bd600bf5f24757e13f0f891b9281900390910190a15050565b612927614c14565b6001600160a01b0316336001600160a01b0316146123315760405162461bcd60e51b815260040180806020018281038252603d815260200180615d90603d913960400191505060405180910390fd5b8015612a835760008061298761340f565b6001600160a01b0316630c71cd23635553444360e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156129d057600080fd5b505afa1580156129e4573d6000803e3d6000fd5b505050506040513d60408110156129fa57600080fd5b5080516020909101519092509050612a11816135e5565b6000612a34612a1e613b1c565b612a288686613448565b9063ffffffff613f2116565b905080851015612a755760405162461bcd60e51b8152600401808060200182810382526022815260200180615e456022913960400191505060405180910390fd5b612a7f8685614c2d565b5050505b612a8f83836000614d90565b6000612a9a84614981565b509050612aa5615098565b811115612af9576040805162461bcd60e51b815260206004820152601960248201527f55534443207374616b656420657863656564732071756f746100000000000000604482015290519081900360640190fd5b50505050565b600080600080612b0d61340f565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015612b5657600080fd5b505afa158015612b6a573d6000803e3d6000fd5b505050506040513d6040811015612b8057600080fd5b50805160209091015190925090506000612b9c6113958761346e565b90506000612ba861342a565b6001600160a01b031663c93c8f34886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612bfd57600080fd5b505afa158015612c11573d6000803e3d6000fd5b505050506040513d6020811015612c2757600080fd5b505115612d5c57600080612c3961340f565b6001600160a01b0316630c71cd23635553444360e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015612c8257600080fd5b505afa158015612c96573d6000803e3d6000fd5b505050506040513d6040811015612cac57600080fd5b5080516020909101519092509050612d4c612cc561342a565b6001600160a01b0316635fcdad918b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612d1a57600080fd5b505afa158015612d2e573d6000803e3d6000fd5b505050506040513d6020811015612d4457600080fd5b505183613448565b92508480612d575750805b945050505b6000612d6e838363ffffffff613ec716565b9050612d7b611f23613b1c565b965092945050505050915091565b8080612d955750600082115b156130c4576000612dad85631c1554d160e21b6131ad565b505090506000612dda612dbe613b1c565b612dce848863ffffffff613ec716565b9063ffffffff613c1616565b90506000612de661340f565b6001600160a01b0316630c71cd23635553444360e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015612e2f57600080fd5b505afa158015612e43573d6000803e3d6000fd5b505050506040513d6040811015612e5957600080fd5b50519050612e7e612e68613b1c565b612e728784613448565b9063ffffffff613b9216565b861015612ebc5760405162461bcd60e51b8152600401808060200182810382526026815260200180615d196026913960400191505060405180910390fd5b6000612ed3612ec9615098565b612e728585613879565b90506000612edf61342a565b6001600160a01b0316635fcdad918a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612f3457600080fd5b505afa158015612f48573d6000803e3d6000fd5b505050506040513d6020811015612f5e57600080fd5b50519050808211612fa05760405162461bcd60e51b8152600401808060200182810382526028815260200180615dcd6028913960400191505060405180910390fd5b6000612fb2838363ffffffff613bb916565b9050861561307457600061305a64e8d4a51000612fcd61510a565b6001600160a01b03166370a082318e6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561302257600080fd5b505afa158015613036573d6000803e3d6000fd5b505050506040513d602081101561304c57600080fd5b50519063ffffffff61511c16565b90508181101561306a578061306c565b815b9850506130b3565b878110156130b35760405162461bcd60e51b815260040180806020018281038252602d815260200180615d63602d913960400191505060405180910390fd5b6130bd8a89615175565b5050505050505b612af984846000614767565b606080826130df5760006130e2565b60015b60ff1660048054905001604051908082528060200260200182016040528015613115578160200160208202803883390190505b50905060005b60045481101561317c57600660006004838154811061313657fe5b60009182526020808320909101546001600160a01b03168352820192909252604001902054825183908390811061316957fe5b602090810291909101015260010161311b565b508215610a43576004548151635045524960e01b918391811061319b57fe5b60200260200101818152505092915050565b6000806000806131bb6142c0565b9050600080826001600160a01b0316638b3f8088896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050604080518083038186803b15801561321557600080fd5b505afa158015613229573d6000803e3d6000fd5b505050506040513d604081101561323f57600080fd5b50805160209091015190925090506132588760016143c2565b90955093508161326f575060009450613408915050565b6000836001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b1580156132aa57600080fd5b505afa1580156132be573d6000803e3d6000fd5b505050506040513d60208110156132d457600080fd5b505190506000816132e7575060006133e5565b6133e2846133d6876001600160a01b03166308d95cd5876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561333257600080fd5b505afa158015613346573d6000803e3d6000fd5b505050506040513d602081101561335c57600080fd5b505160408051632318bb8960e11b815290516001600160a01b038b16916346317712916004808301926020929190829003018186803b15801561339e57600080fd5b505afa1580156133b2573d6000803e3d6000fd5b505050506040513d60208110156133c857600080fd5b50519063ffffffff6152f316565b9063ffffffff61530c16565b90505b60006133f4826133d68a615325565b90506133ff8161533b565b98505050505050505b9250925092565b6000610a326c45786368616e6765526174657360981b614b1a565b6000610a326f5374616b696e6753746174655553444360801b614b1a565b60008261345757506000610a22565b613467838363ffffffff613b9216565b9392505050565b600080613479614c14565b6001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156134ce57600080fd5b505afa1580156134e2573d6000803e3d6000fd5b505050506040513d60208110156134f857600080fd5b50519050600061350661535d565b6001600160a01b0316146135b0576135ad61351f61535d565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561357457600080fd5b505afa158015613588573d6000803e3d6000fd5b505050506040513d602081101561359e57600080fd5b5051829063ffffffff613ec716565b90505b60006135ba61537c565b6001600160a01b031614610a435761346761351f61537c565b6000613467838363ffffffff613b9216565b8015612164576040805162461bcd60e51b815260206004820152601f60248201527f412070796e7468206f722050455249207261746520697320696e76616c696400604482015290519081900360640190fd5b6000806000613645613b1c565b90506000613651615098565b90506000613675613668888863ffffffff613ec716565b899063ffffffff613f4b16565b905082811115613772576000613714613707611f8b8573__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156136cf57600080fd5b505af41580156136e3573d6000803e3d6000fd5b505050506040513d60208110156136f957600080fd5b50519063ffffffff613bb916565b889063ffffffff613f2116565b9050808811613724576000613734565b613734888263ffffffff613bb916565b945061376a61375d85612a28886137518c8e63ffffffff613ec716565b9063ffffffff613bb916565b8a9063ffffffff613bb916565b95505061386e565b6000613794896137888a8763ffffffff613f2116565b9063ffffffff613f4b16565b90508281116137ea576040805162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c726561647920636c61696d61626c6500000000604482015290519081900360640190fd5b6138586138358473__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156136cf57600080fd5b6137886138488c8763ffffffff613f2116565b6137518c8963ffffffff613f2116565b955061386a868563ffffffff613f4b16565b9450505b505050935093915050565b60008261388857506000610a22565b613467838363ffffffff613c1616565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106138da57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613919578160200160208202803883390190505b50905060005b835181101561395b5783818151811061393457fe5b602002602001015182828151811061394857fe5b602090810291909101015260010161391f565b5060005b82518110156119f15782818151811061397457fe5b602002602001015182828651018151811061398b57fe5b602090810291909101015260010161395f565b60008060006139b484631c1554d160e21b6131ad565b925050915060006139de6139c6613b1c565b612dce6139d1615098565b869063ffffffff613b9216565b90506000806139eb61340f565b6001600160a01b0316630c71cd23635553444360e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015613a3457600080fd5b505afa158015613a48573d6000803e3d6000fd5b505050506040513d6040811015613a5e57600080fd5b50805160209091015190925090506000613ace613a7961342a565b6001600160a01b0316635fcdad918a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112c757600080fd5b9050613ae085806113b15750826135e5565b808411613af65760009650505050505050610a46565b613b0f613b09858363ffffffff613bb916565b84613879565b9650505050505050610a46565b6000613b26614bf7565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156125a057600080fd5b60006134678383670de0b6b3a7640000615398565b6000613467838363ffffffff613c1616565b600082821115613c10576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006134678383670de0b6b3a76400006153d5565b6000806000613c398461346e565b9050600080613c4f86635045524960e01b6131ad565b92505091506000806000613c6161342a565b6001600160a01b0316635fcdad918a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015613cb657600080fd5b505afa158015613cca573d6000803e3d6000fd5b505050506040513d6020811015613ce057600080fd5b505190508015613e3557600080613cf561340f565b6001600160a01b0316630c71cd23635553444360e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015613d3e57600080fd5b505afa158015613d52573d6000803e3d6000fd5b505050506040513d6040811015613d6857600080fd5b50805160209091015190925090506000613d828484613448565b9050600080613d8f61340f565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015613dd857600080fd5b505afa158015613dec573d6000803e3d6000fd5b505050506040513d6040811015613e0257600080fd5b5080516020909101519092509050613e1a8383613ba7565b97508680613e255750835b80613e2d5750805b965050505050505b8180613e3e5750835b915085158015613e4c575080155b15613e6257506000965094506120519350505050565b6000613e74878563ffffffff613ec716565b9050613e86868263ffffffff613f4b16565b9850919650505050505050915091565b6000610a326822bc31b430b733b2b960b91b614b1a565b6000610a326b4c69717569646174696f6e7360a01b614b1a565b600082820183811015613467576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000670de0b6b3a7640000613f3c848463ffffffff61511c16565b81613f4357fe5b049392505050565b600061346782613f6985670de0b6b3a764000063ffffffff61511c16565b9063ffffffff6153fb16565b6000838310613f845783613f86565b825b90506000613f9261342a565b6001600160a01b0316635fcdad91886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015613fe757600080fd5b505afa158015613ffb573d6000803e3d6000fd5b505050506040513d602081101561401157600080fd5b50519050801561411b5760008061402661340f565b6001600160a01b0316630c71cd23635553444360e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561406f57600080fd5b505afa158015614083573d6000803e3d6000fd5b505050506040513d604081101561409957600080fd5b50805160209091015190925090506140b0816135e5565b60006140c76140bd613b1c565b612e728686613448565b9050806140da888763ffffffff613bb916565b10156141175760405162461bcd60e51b8152600401808060200182810382526024815260200180615d3f6024913960400191505060405180910390fd5b5050505b61412787838686615465565b631c1554d160e21b600090815260056020527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b5460408051632770a7eb60e21b81526001600160a01b038a811660048301526024820187905291519190921692639dc29fac926044808201939182900301818387803b1580156141a957600080fd5b505af11580156141bd573d6000803e3d6000fd5b505050506141c9612510565b6001600160a01b0316638376a782631c1554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561422357600080fd5b505af4158015614237573d6000803e3d6000fd5b505050506040513d602081101561424d57600080fd5b5051604080516001600160e01b031960e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b15801561429557600080fd5b505af11580156142a9573d6000803e3d6000fd5b505050506142b687615725565b5095945050505050565b6000610a326f5065726946696e616e6365537461746560801b614b1a565b60006142e8614bf7565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b6d1b185cdd125cdcdd59515d995b9d60921b8560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561439057600080fd5b505afa1580156143a4573d6000803e3d6000fd5b505050506040513d60208110156143ba57600080fd5b505192915050565b60008060008060006143d2612510565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b15801561440a57600080fd5b505afa15801561441e573d6000803e3d6000fd5b505050506040513d608081101561443457600080fd5b5080516040820151606090920151909450909250905081806144535750805b9350600061445f61340f565b9050866146a35760008061447161581d565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b1580156144a857600080fd5b505afa1580156144bc573d6000803e3d6000fd5b505050506040513d60408110156144d257600080fd5b50805160209091015190925090506144f0868363ffffffff613ec716565b955086806144fb5750805b965061457961450861583c565b6001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b15801561454057600080fd5b505afa158015614554573d6000803e3d6000fd5b505050506040513d602081101561456a57600080fd5b5051879063ffffffff613ec716565b9550600080846001600160a01b0316630c71cd23630e08aa8960e31b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156145c857600080fd5b505afa1580156145dc573d6000803e3d6000fd5b505050506040513d60408110156145f257600080fd5b5080516020909101519092509050600061467e8361460e61585d565b6001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b15801561464657600080fd5b505afa15801561465a573d6000803e3d6000fd5b505050506040513d602081101561467057600080fd5b50519063ffffffff613b9216565b9050614690898263ffffffff613ec716565b9850898061469b5750815b995050505050505b631c1554d160e21b8814156146be5750919350614760915050565b600080826001600160a01b0316630c71cd238b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561470457600080fd5b505afa158015614718573d6000803e3d6000fd5b505050506040513d604081101561472e57600080fd5b508051602090910151909250905061474c868363ffffffff613c1616565b87806147555750815b975097505050505050505b9250929050565b600080600080614776876125fc565b9350935093509350614787816135e5565b846147d957838611156147d4576040805162461bcd60e51b815260206004820152601060248201526f416d6f756e7420746f6f206c6172676560801b604482015290519081900360640190fd5b6147dd565b8395505b6147e98787858561587a565b6147f287615bdf565b631c1554d160e21b600090815260056020527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b546040805163219e412d60e21b81526001600160a01b038b81166004830152602482018b90529151919092169263867904b4926044808201939182900301818387803b15801561487457600080fd5b505af1158015614888573d6000803e3d6000fd5b50505050614894612510565b6001600160a01b0316638376a782631c1554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156148ee57600080fd5b505af4158015614902573d6000803e3d6000fd5b505050506040513d602081101561491857600080fd5b5051604080516001600160e01b031960e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b15801561496057600080fd5b505af1158015614974573d6000803e3d6000fd5b50505050610d3b87615725565b60008060008061499885631c1554d160e21b6131ad565b925050915060006149a761342a565b6001600160a01b0316635fcdad91876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156149fc57600080fd5b505afa158015614a10573d6000803e3d6000fd5b505050506040513d6020811015614a2657600080fd5b50519050801580614a35575082155b15614a4857506000935091506120519050565b600080614a5361340f565b6001600160a01b0316630c71cd23635553444360e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015614a9c57600080fd5b505afa158015614ab0573d6000803e3d6000fd5b505050506040513d6040811015614ac657600080fd5b50805160209091015190925090506000614ae08484613448565b90506000614aef61185c613b1c565b9050614b01818863ffffffff613c1616565b8680614b0a5750835b9850985050505050505050915091565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816119f15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614bbc578181015183820152602001614ba4565b50505050905090810190601f168015614be95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610a326e466c657869626c6553746f7261676560881b614b1a565b6000610a326a5065726946696e616e636560a81b614b1a565b614c3561342a565b6001600160a01b031663c2a672e083836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015614c9457600080fd5b505af1158015614ca8573d6000803e3d6000fd5b50505050614cb461342a565b6001600160a01b031663410085df83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015614d1357600080fd5b505af1158015614d27573d6000803e3d6000fd5b505050506040513d6020811015614d3d57600080fd5b5051610c55576040805162461bcd60e51b815260206004820152601e60248201527f726566756e64696e67205553444320686173206265656e206661696c65640000604482015290519081900360640190fd5b80614f4157614d9e836125d1565b614def576040805162461bcd60e51b815260206004820152601e60248201527f4d696e696d756d207374616b652074696d65206e6f7420726561636865640000604482015290519081900360640190fd5b600080614dfa613e96565b6001600160a01b0316631b16802c86631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015614e6057600080fd5b505af1158015614e74573d6000803e3d6000fd5b505050506040513d6060811015614e8a57600080fd5b50602081015160409091015190925090508015614f3e57614ea9613e96565b60408051630984d1f960e31b81526001600160a01b038881166004830152631c1554d160e21b6024830152604482018890526064820186905291519290911691634c268fc891608480820192602092909190829003018186803b158015614f0f57600080fd5b505afa158015614f23573d6000803e3d6000fd5b505050506040513d6020811015614f3957600080fd5b505193505b50505b6000806000614f5786631c1554d160e21b6131ad565b925092509250600080614f6988612aff565b91509150614f7d83806113b15750816135e5565b60008511614fc7576040805162461bcd60e51b81526020600482015260126024820152714e6f206465627420746f20666f726769766560701b604482015290519081900360640190fd5b8515614fe057614fdd858363ffffffff613bb916565b96505b6000614fef898a8a8989613f75565b905080861015801561501057508261500d878363ffffffff613bb916565b11155b1561508d5761501d613ead565b6001600160a01b031663974e9e7f8a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561507457600080fd5b505af1158015615088573d6000803e3d6000fd5b505050505b505050505050505050565b60006150a2614bf7565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b687573646351756f746160b81b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156125a057600080fd5b6000610a32635553444360e01b614b1a565b60008261512b57506000610a22565b8282028284828161513857fe5b04146134675760405162461bcd60e51b8152600401808060200182810382526021815260200180615e246021913960400191505060405180910390fd5b61517d61510a565b6001600160a01b03166323b872dd8361519461342a565b6151a98564e8d4a5100063ffffffff6153fb16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b15801561521157600080fd5b505af1158015615225573d6000803e3d6000fd5b505050506040513d602081101561523b57600080fd5b50516152785760405162461bcd60e51b8152600401808060200182810382526021815260200180615e676021913960400191505060405180910390fd5b61528061342a565b6001600160a01b031663adc9772e83836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156152df57600080fd5b505af1158015610f02573d6000803e3d6000fd5b600061346783836b033b2e3c9fd0803ce80000006153d5565b600061346783836b033b2e3c9fd0803ce8000000615398565b6000610a4382633b9aca0063ffffffff61511c16565b60006305f5e10082046005600a82061061535357600a015b600a900492915050565b6000610a32705065726946696e616e6365457363726f7760781b614b1a565b6000610a326d2932bbb0b93222b9b1b937bbab1960911b614b1a565b600080600a83046153af868663ffffffff61511c16565b816153b657fe5b0490506005600a825b06106153c957600a015b600a9004949350505050565b6000806153ef84613f6987600a870263ffffffff61511c16565b90506005600a826153bf565b6000808211615451576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161545c57fe5b04949350505050565b600061546f6142c0565b90506000615483838663ffffffff613bb916565b9050600081156154ed57600061549f878463ffffffff6152f316565b90506154e98173__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015611eeb57600080fd5b9150505b848614156155b4576040805163a764eb4560e01b81526001600160a01b03898116600483015260006024830181905292519086169263a764eb45926044808201939182900301818387803b15801561554457600080fd5b505af1158015615558573d6000803e3d6000fd5b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561559757600080fd5b505af11580156155ab573d6000803e3d6000fd5b50505050615657565b60006155c6868863ffffffff613bb916565b905060006155da828563ffffffff6152f316565b9050846001600160a01b031663a764eb458a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561563c57600080fd5b505af1158015615650573d6000803e3d6000fd5b5050505050505b826001600160a01b0316633d31e97b6156db83866001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b1580156156a357600080fd5b505afa1580156156b7573d6000803e3d6000fd5b505050506040513d60208110156156cd57600080fd5b50519063ffffffff61530c16565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561571157600080fd5b505af11580156113dc573d6000803e3d6000fd5b6000806157306142c0565b60408051631167f01160e31b81526001600160a01b0386811660048301528251931692638b3f808892602480840193919291829003018186803b15801561577657600080fd5b505afa15801561578a573d6000803e3d6000fd5b505050506040513d60408110156157a057600080fd5b50805160209091015190925090506157b6615c91565b6001600160a01b031663866452748484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015610d2757600080fd5b6000610a327021b7b63630ba32b930b626b0b730b3b2b960791b614b1a565b6000610a3272115d1a195c90dbdb1b185d195c985b1c1554d1606a1b614b1a565b6000610a326e115d1a195c90dbdb1b185d195c985b608a1b614b1a565b60006158846142c0565b90506000615898858463ffffffff613ec716565b905060006158ac868363ffffffff6152f316565b905060006158f88273__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156136cf57600080fd5b905085156159275761592083615914898963ffffffff613ec716565b9063ffffffff6152f316565b915061597b565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561596257600080fd5b505af1158015615976573d6000803e3d6000fd5b505050505b836001600160a01b031663a764eb4589846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156159db57600080fd5b505af11580156159ef573d6000803e3d6000fd5b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015615a2e57600080fd5b505afa158015615a42573d6000803e3d6000fd5b505050506040513d6020811015615a5857600080fd5b50511115615aff57836001600160a01b0316633d31e97b615aac83876001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b1580156156a357600080fd5b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015615ae257600080fd5b505af1158015615af6573d6000803e3d6000fd5b50505050615bd5565b836001600160a01b0316633d31e97b73__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015615b5257600080fd5b505af4158015615b66573d6000803e3d6000fd5b505050506040513d6020811015615b7c57600080fd5b5051604080516001600160e01b031960e085901b168152600481019290925251602480830192600092919082900301818387803b158015615bbc57600080fd5b505af1158015615bd0573d6000803e3d6000fd5b505050505b5050505050505050565b615be7614bf7565b604080516d1b185cdd125cdcdd59515d995b9d60921b6020808301919091526bffffffffffffffffffffffff19606086901b1682840152825160348184030181526054830180855281519190920120631d5b277f60e01b9091526524b9b9bab2b960d11b6058830152607882015242609882015290516001600160a01b039290921691631d5b277f9160b88082019260009290919082900301818387803b15801561090357600080fd5b6000610a3266119959541bdbdb60ca1b614b1a565b815481835581811115610c6c57600083815260209020610c6c918101908301610a3591905b80821115615cdf5760008155600101615ccb565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869705374616b696e6720616d6f756e742065786365656473206973737565696e6720616d6f756e744275726e20616d6f756e74206578636565647320617661696c61626c6520616d6f756e74496e70757420616d6f756e74206578636565647320617661696c61626c65207374616b696e6720616d6f756e744973737565723a204f6e6c7920746865207065726946696e616e636520636f6e74726163742063616e20706572666f726d207468697320616374696f6e4e6f20617661696c616c62652055534443207374616b696e6720616d6f756e742072656d61696e734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77556e7374616b6520616d6f756e742065786365656473206275726e20616d6f756e747472616e7366657272696e67205553444320686173206265656e206661696c6564a265627a7a7231582017fe045cb958b58c6a5b275f1a74241d8cba96b7b92be0e151e6855df7a25fe064736f6c63430005100032",
			"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": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "availableUSDCStakeAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89e86ea0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_unstakeAmount",
							"type": "uint256"
						}
					],
					"name": "burnPynthsAndUnstakeUSDC",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f9e808"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						}
					],
					"name": "burnPynthsAndUnstakeUSDCToTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x84bb574f"
				},
				{
					"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": "_account",
							"type": "address"
						}
					],
					"name": "currentUSDCDebtQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf9a3a4bf"
				},
				{
					"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": "_issuer",
							"type": "address"
						}
					],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf0617e5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsAndStakeMaxUSDC",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb4a91a78"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_usdcStakeAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynthsAndStakeUSDC",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7296827b"
				},
				{
					"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": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57ad4663"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9a2f3ad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b09280a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c29b0af"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6017c458"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "excludeEtherCollateral",
							"type": "bool"
						}
					],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf023e8db"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "balance",
							"type": "uint256"
						}
					],
					"name": "transferablePeriFinanceAndAnyRateIsInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8d542eb3"
				}
			],
			"source": {
				"keccak256": "0xf9c8998ff8a4ccb446dd31d4d7415a012d9dffa49c860bfe9c3ede22a34310af",
				"urls": [
					"bzz-raw://4adb43d105a7c7b12aa9d3f9e52e8f949d17309244517d79cf7e6ceba56f1657",
					"dweb:/ipfs/QmUZJpF7qB7H4AfNekhAagmMKdqtcP1XRbewvtudaSfcBJ"
				]
			},
			"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": "0xf9c8998ff8a4ccb446dd31d4d7415a012d9dffa49c860bfe9c3ede22a34310af",
						"urls": [
							"bzz-raw://4adb43d105a7c7b12aa9d3f9e52e8f949d17309244517d79cf7e6ceba56f1657",
							"dweb:/ipfs/QmUZJpF7qB7H4AfNekhAagmMKdqtcP1XRbewvtudaSfcBJ"
						]
					}
				},
				"version": 1
			}
		},
		"MultiCollateralPynth": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620030d4380380620030d483398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b50604090815260208201519082015160608301516080909301519194509250878787878787878780888888888660128a86816001600160a01b03811662000232576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002dd576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035f90600690602088019062000464565b5083516200037590600790602087019062000464565b50506008919091556009805460ff191660ff90921691909117610100600160a81b0319166101006001600160a01b03978816021790555050509089169050620003fa576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b0384166200044b576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600b5550620005099b505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620004a757805160ff1916838001178555620004d7565b82800160010185558215620004d7579182015b82811115620004d7578251825591602001919060010190620004ba565b50620004e5929150620004e9565b5090565b6200050691905b80821115620004e55760008155600101620004f0565b90565b612bbb80620005196000396000f3fe608060405234801561001057600080fd5b50600436106102065760003560e01c80638da5cb5b1161011a578063bc67f832116100ad578063e73cced31161007c578063e73cced3146105ec578063e90dd9e214610622578063eb1edd611461062a578063ec55688914610632578063f7ea7a3d1461063a57610206565b8063bc67f83214610588578063d67bdd25146105ae578063dbd06c85146105b6578063dd62ed3e146105be57610206565b80639dc29fac116100e95780639dc29fac146104de5780639f7698071461050a578063a9059cbb14610530578063b014c3a31461055c57610206565b80638da5cb5b146104a057806395d89b41146104a857806397107d6d146104b05780639cbdaeb6146104d657610206565b80632e0f26251161019d578063741853601161016c57806374185360146103e657806379ba5097146103ee5780637f4dab2f146103f6578063867904b41461041c578063899ffef41461044857610206565b80632e0f262514610392578063313ce567146103b057806353a47bb7146103b857806370a08231146103c057610206565b80631627540c116101d95780631627540c1461031457806318160ddd1461033a57806323b872dd146103545780632af64bd31461038a57610206565b806304f3bcec1461020b57806306fdde031461022f578063095ea7b3146102ac578063131b0ae7146102ec575b600080fd5b610213610657565b604080516001600160a01b039092168252519081900360200190f35b61023761066b565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610271578181015183820152602001610259565b50505050905090810190601f16801561029e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102d8600480360360408110156102c257600080fd5b506001600160a01b0381351690602001356106f9565b604080519115158252519081900360200190f35b6103126004803603602081101561030257600080fd5b50356001600160a01b0316610794565b005b6103126004803603602081101561032a57600080fd5b50356001600160a01b03166107be565b61034261081a565b60408051918252519081900360200190f35b6102d86004803603606081101561036a57600080fd5b506001600160a01b03813581169160208101359091169060400135610820565b6102d8610847565b61039a610959565b6040805160ff9092168252519081900360200190f35b61039a61095e565b610213610967565b610342600480360360208110156103d657600080fd5b50356001600160a01b0316610976565b6103126109fb565b610312610bd8565b6103426004803603602081101561040c57600080fd5b50356001600160a01b0316610c94565b6103126004803603604081101561043257600080fd5b506001600160a01b038135169060200135610dd7565b610450610f7c565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561048c578181015183820152602001610474565b505050509050019250505060405180910390f35b610213611048565b610237611057565b610312600480360360208110156104c657600080fd5b50356001600160a01b03166110b2565b61021361110e565b610312600480360360408110156104f457600080fd5b506001600160a01b03813516906020013561111d565b6103126004803603602081101561052057600080fd5b50356001600160a01b03166112c3565b6102d86004803603604081101561054657600080fd5b506001600160a01b0381351690602001356112f2565b6102d86004803603604081101561057257600080fd5b506001600160a01b03813516906020013561138a565b6103126004803603602081101561059e57600080fd5b50356001600160a01b03166114e3565b61021361150d565b61034261151c565b610342600480360360408110156105d457600080fd5b506001600160a01b0381358116916020013516611522565b6102d86004803603606081101561060257600080fd5b506001600160a01b038135811691602081013590911690604001356115ae565b6102136116fe565b61021361170d565b610213611725565b6103126004803603602081101561065057600080fd5b5035611734565b60095461010090046001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b820191906000526020600020905b8154815290600101906020018083116106d457829003601f168201915b505050505081565b6000610703611741565b6004805460055460408051633691826360e21b81526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b15801561076557600080fd5b505af1158015610779573d6000803e3d6000fd5b50505050610788818585611798565b60019150505b92915050565b61079c6118d1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6107c66118d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b600061082a611741565b610834848361191a565b61083f848484611a99565b949350505050565b60006060610853610f7c565b905060005b815181101561094f57600082828151811061086f57fe5b6020908102919091018101516000818152600a83526040908190205460095482516321f8a72160e01b81526004810185905292519395506001600160a01b0391821694610100909104909116926321f8a721926024808201939291829003018186803b1580156108de57600080fd5b505afa1580156108f2573d6000803e3d6000fd5b505050506040513d602081101561090857600080fd5b50516001600160a01b031614158061093557506000818152600a60205260409020546001600160a01b0316155b156109465760009350505050610956565b50600101610858565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b1580156109c757600080fd5b505afa1580156109db573d6000803e3d6000fd5b505050506040513d60208110156109f157600080fd5b505190505b919050565b6060610a05610f7c565b905060005b8151811015610bd4576000828281518110610a2157fe5b602002602001015190506000600960019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610aec578181015183820152602001610ad4565b50505050905090810190601f168015610b195780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610b3757600080fd5b505afa158015610b4b573d6000803e3d6000fd5b505050506040513d6020811015610b6157600080fd5b50516000838152600a602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a0a565b5050565b6001546001600160a01b03163314610c215760405162461bcd60e51b8152600401808060200182810382526035815260200180612a496035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600080610c9f611c5a565b6001600160a01b03166319d5c66584600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610cfe57600080fd5b505afa158015610d12573d6000803e3d6000fd5b505050506040513d6060811015610d2857600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610d7d57600080fd5b505afa158015610d91573d6000803e3d6000fd5b505050506040513d6020811015610da757600080fd5b5051905080821115610dbe576000925050506109f6565b610dce818363ffffffff611c7616565b925050506109f6565b6000610de1611cd3565b6001600160a01b0316336001600160a01b03161490506000610e01611c5a565b6001600160a01b0316336001600160a01b03161490506000610e21611ce8565b6001600160a01b0316336001600160a01b03161490506000610e41611cfc565b6001600160a01b0316336001600160a01b03161490506000610e61611d19565b6001600160a01b0316336001600160a01b03161490506000610e81611d3a565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610ed657600080fd5b505afa158015610eea573d6000803e3d6000fd5b505050506040513d6020811015610f0057600080fd5b505190508580610f0d5750845b80610f155750835b80610f1d5750825b80610f255750815b80610f2d5750805b610f685760405162461bcd60e51b8152600401808060200182810382526044815260200180612aad6044913960600191505060405180910390fd5b610f728888611d59565b5050505050505050565b606080610f87611e83565b60408051600380825260808201909252919250606091906020820183803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610fcf57fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600181518110610ffb57fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1c1554d1606a1b8160028151811061102b57fe5b6020026020010181815250506110418282611f3f565b9250505090565b6000546001600160a01b031681565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156106f15780601f106106c6576101008083540402835291602001916106f1565b6110ba6118d1565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b6000611127611cd3565b6001600160a01b0316336001600160a01b03161490506000611147611c5a565b6001600160a01b0316336001600160a01b03161490506000611167611ce8565b6001600160a01b0316336001600160a01b03161490506000611187611cfc565b6001600160a01b0316336001600160a01b031614905060006111a7611d19565b6001600160a01b0316336001600160a01b031614905060006111c7611d3a565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561121c57600080fd5b505afa158015611230573d6000803e3d6000fd5b505050506040513d602081101561124657600080fd5b5051905085806112535750845b8061125b5750835b806112635750825b8061126b5750815b806112735750805b6112ae5760405162461bcd60e51b8152600401808060200182810382526044815260200180612aad6044913960600191505060405180910390fd5b6112b88888611ffb565b505050505050505050565b6112cb6120f8565b600580546001600160a01b0319166001600160a01b0383161790556112ef816121a8565b50565b60006112fc611741565b600454611312906001600160a01b03168361191a565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef14156113485761134183836122ee565b905061078e565b6001600160a01b03831661136c57600454611341906001600160a01b031683611ffb565b600454611383906001600160a01b03168484612451565b9392505050565b6000611394611741565b600061139e611c5a565b60048054600b54604080516306c5a00b60e21b81526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156113f957600080fd5b505af115801561140d573d6000803e3d6000fd5b505050506040513d606081101561142357600080fd5b506040015190508281156114b15760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561148257600080fd5b505afa158015611496573d6000803e3d6000fd5b505050506040513d60208110156114ac57600080fd5b505190505b8084116114be57836114c0565b805b6004549094506114da906001600160a01b03168686612451565b95945050505050565b6114eb61267e565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600b5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561157b57600080fd5b505afa15801561158f573d6000803e3d6000fd5b505050506040513d60208110156115a557600080fd5b50519392505050565b60006115b8611741565b60006115c2611c5a565b6001600160a01b0316631b16802c86600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561162357600080fd5b505af1158015611637573d6000803e3d6000fd5b505050506040513d606081101561164d57600080fd5b506040015190508281156116d757600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156116a857600080fd5b505afa1580156116bc573d6000803e3d6000fd5b505050506040513d60208110156116d257600080fd5b505190505b808410156116e557836116e7565b805b93506116f4868686611a99565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b61173c6120f8565b600855565b6002546001600160a01b0316331480159061176757506003546001600160a01b03163314155b801561177e57506004546001600160a01b03163314155b1561179657600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612b208239602101905060405180910390206117eb886126f2565b6117f4886126f2565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561186357818101518382015260200161184b565b50505050905090810190601f1680156118905780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156118b457600080fd5b505af11580156118c8573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146117965760405162461bcd60e51b815260040180806020018281038252602f815260200180612af1602f913960400191505060405180910390fd5b611922611c5a565b6001600160a01b031663059c29ec83600b546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561198157600080fd5b505afa158015611995573d6000803e3d6000fd5b505050506040513d60208110156119ab57600080fd5b5051156119e95760405162461bcd60e51b8152600401808060200182810382526025815260200180612b416025913960400191505060405180910390fd5b806119f383610c94565b1015611a305760405162461bcd60e51b815260040180806020018281038252602f815260200180612a7e602f913960400191505060405180910390fd5b611a386126fe565b6001600160a01b0316631d7e7789600b546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015611a7d57600080fd5b505afa158015611a91573d6000803e3d6000fd5b505050505050565b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b158015611af757600080fd5b505afa158015611b0b573d6000803e3d6000fd5b505050506040513d6020811015611b2157600080fd5b505114611c4f576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c928892611bce918891879163dd62ed3e91604480820192602092909190829003018186803b158015611b9657600080fd5b505afa158015611baa573d6000803e3d6000fd5b505050506040513d6020811015611bc057600080fd5b50519063ffffffff611c7616565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611c3657600080fd5b505af1158015611c4a573d6000803e3d6000fd5b505050505b61083f848484612451565b6000611c716822bc31b430b733b2b960b91b612714565b905090565b600082821115611ccd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611c7166119959541bdbdb60ca1b612714565b6000611c716524b9b9bab2b960d11b612714565b6000611c716e115d1a195c90dbdb1b185d195c985b608a1b612714565b6000611c7172115d1a195c90dbdb1b185d195c985b1c1554d1606a1b612714565b6000611c717021b7b63630ba32b930b626b0b730b3b2b960791b612714565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611def91869186916370a0823191602480820192602092909190829003018186803b158015611db757600080fd5b505afa158015611dcb573d6000803e3d6000fd5b505050506040513d6020811015611de157600080fd5b50519063ffffffff6127f116565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611e3e57600080fd5b505af1158015611e52573d6000803e3d6000fd5b5050600854611e6a925090508263ffffffff6127f116565b600855611e796000838361284b565b610bd4828261289e565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110611ec357fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611ee957fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110611f0c57fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110611f3057fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611f6f578160200160208202803883390190505b50905060005b8351811015611fb157838181518110611f8a57fe5b6020026020010151828281518110611f9e57fe5b6020908102919091010152600101611f75565b5060005b8251811015611ff457828181518110611fca57fe5b6020026020010151828286510181518110611fe157fe5b6020908102919091010152600101611fb5565b5092915050565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f691869161205b91879186916370a08231916024808301926020929190829003018186803b158015611b9657600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156120aa57600080fd5b505af11580156120be573d6000803e3d6000fd5b50506008546120d6925090508363ffffffff611c7616565b6008556120e58360008461284b565b6120ef83836129df565b50600192915050565b6002546001600160a01b0316331480159061211e57506003546001600160a01b03163314155b801561213557506004546001600160a01b03163314155b1561214d57600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614611796576040805162461bcd60e51b815260206004820152601360248201527227bbb732b91037b7363c90333ab731ba34b7b760691b604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a01832063907dff9760e01b8452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b8381101561228257818101518382015260200161226a565b50505050905090810190601f1680156122af5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156122d357600080fd5b505af11580156122e7573d6000803e3d6000fd5b5050505050565b600080600b54631c1554d160e21b14156123225750600454829061231c906001600160a01b03168583612451565b506123e2565b61232a611c5a565b60048054600b5460408051630a1e187d60e01b81526001600160a01b0393841694810194909452602484019190915260448301879052631c1554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b1580156123b357600080fd5b505af11580156123c7573d6000803e3d6000fd5b505050506040513d60208110156123dd57600080fd5b505190505b6123ea611cd3565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561242f57600080fd5b505af1158015612443573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061247457506001600160a01b0383163014155b801561248e57506002546001600160a01b03848116911614155b6124df576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161253d91879186916370a0823191602480820192602092909190829003018186803b158015611b9657600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561258c57600080fd5b505af11580156125a0573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f69250869161260291879186916370a0823191602480820192602092909190829003018186803b158015611db757600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561265157600080fd5b505af1158015612665573d6000803e3d6000fd5b5050505061267484848461284b565b5060019392505050565b6002546001600160a01b03163314806126a157506003546001600160a01b031633145b611796576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6001600160a01b031690565b6000611c716b53797374656d53746174757360a01b5b6000818152600a6020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611ff45760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156127b657818101518382015260200161279e565b50505050905090810190601f1680156127e35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600082820183811015611383576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff9791600390806021612b668239602101905060405180910390206117eb886126f2565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612907876126f2565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561297a578181015183820152602001612962565b50505050905090810190601f1680156129a75780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156129cb57600080fd5b505af1158015611a91573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff9792612907876126f256fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e6765722c20497373756572206f72204d756c7469436f6c6c61746572616c20636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a723158201e78adfae72d74d789524d5ed2e53281d00f8cd4ac6aa7922a976ecfdd7c7c4e64736f6c63430005100032",
			"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": "0xab5a7288f555756a4430e2621f4b39b00726c5ab6557db9665f62d663be64e8b",
				"urls": [
					"bzz-raw://30b897be98195d4469c53e9a93bfd6c2f81a003248299804475f6e6fb89f6b6f",
					"dweb:/ipfs/QmduroGuMshhM6UXGSrUE3RqW2EGkbXTESciQiKzGo7Kq2"
				]
			},
			"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": "0xab5a7288f555756a4430e2621f4b39b00726c5ab6557db9665f62d663be64e8b",
						"urls": [
							"bzz-raw://30b897be98195d4469c53e9a93bfd6c2f81a003248299804475f6e6fb89f6b6f",
							"dweb:/ipfs/QmduroGuMshhM6UXGSrUE3RqW2EGkbXTESciQiKzGo7Kq2"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateral": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$09231a05ed34b6851f1018822ecfa0dcb8$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051607d0260075560408051630241ebdb60e61b8152905160649173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600855620001266301e133806008546200042f60201b620021111790919060201c565b6009556103e873__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600a5573__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b505161138802600b5560408051630241ebdb60e61b8152905173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c0916004808301926020929190829003018186803b1580156200027457600080fd5b505af415801562000289573d6000803e3d6000fd5b505050506040513d6020811015620002a057600080fd5b5051600c556032600d55600e805460ff19169055348015620002c157600080fd5b50604051620033343803806200333483398181016040526040811015620002e757600080fd5b50805160209091015180826001600160a01b0381166200034e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620003f9576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a0001600f556200049b565b600080821162000486576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816200049257fe5b04949350505050565b612e8980620004ab6000396000f3fe6080604052600436106102725760003560e01c80637cc1f8671161014f578063ab6a34fa116100c1578063e220a8111161007a578063e220a8111461090a578063e3c1e58c14610943578063e40108ed14610958578063e5829d201461096d578063eea8f5da14610997578063f53dfb84146109ac57610272565b8063ab6a34fa146107ff578063b410a03414610875578063bb8c6d6c1461088a578063cf09b4ae146108b6578063d05951a0146108cb578063dcaf9c44146108f557610272565b80638fdc8f3b116101135780638fdc8f3b146106cd57806391b4ded9146106f75780639f7d56881461070c578063a1c5158614610721578063a2e17342146107a5578063a76cdfa5146107d557610272565b80637cc1f867146105b5578063899ffef41461063157806389c937de146106465780638c4638691461067f5780638da5cb5b146106b857610272565b80634f069f66116101e85780635d1a2229116101ac5780635d1a22291461051a5780635f84f302146105445780636b2319381461056e578063741853601461057657806379ba50971461058b5780637c3a00fd146105a057610272565b80634f069f661461048757806350e3b2e7146104b157806353a47bb7146104db57806357b21920146104f05780635c975abb1461050557610272565b806323aa7f0f1161023a57806323aa7f0f1461036357806327cff2e5146103785780632af64bd3146103b15780632f2bf15b146103da578063361e20861461045d5780634189bb491461047257610272565b806304f3bcec14610277578063089f7fb4146102a85780631474b279146102ed5780631627540c1461030257806316c38b3c14610337575b600080fd5b34801561028357600080fd5b5061028c6109d6565b604080516001600160a01b039092168252519081900360200190f35b3480156102b457600080fd5b506102db600480360360208110156102cb57600080fd5b50356001600160a01b03166109e5565b60408051918252519081900360200190f35b3480156102f957600080fd5b506102db6109f7565b34801561030e57600080fd5b506103356004803603602081101561032557600080fd5b50356001600160a01b03166109fd565b005b34801561034357600080fd5b506103356004803603602081101561035a57600080fd5b50351515610a59565b34801561036f57600080fd5b506102db610ad3565b34801561038457600080fd5b506102db6004803603604081101561039b57600080fd5b506001600160a01b038135169060200135610ad9565b3480156103bd57600080fd5b506103c6610b02565b604080519115158252519081900360200190f35b3480156103e657600080fd5b5061040d600480360360208110156103fd57600080fd5b50356001600160a01b0316610c0d565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610449578181015183820152602001610431565b505050509050019250505060405180910390f35b34801561046957600080fd5b506102db610dcb565b34801561047e57600080fd5b506102db610dd1565b34801561049357600080fd5b50610335600480360360208110156104aa57600080fd5b5035610dd7565b3480156104bd57600080fd5b50610335600480360360208110156104d457600080fd5b5035610e1a565b3480156104e757600080fd5b5061028c610e5d565b3480156104fc57600080fd5b506102db610e6c565b34801561051157600080fd5b506103c6610e72565b34801561052657600080fd5b506103356004803603602081101561053d57600080fd5b5035610e7b565b34801561055057600080fd5b506103356004803603602081101561056757600080fd5b5035610f00565b6102db61104c565b34801561058257600080fd5b506103356114e2565b34801561059757600080fd5b506103356116aa565b3480156105ac57600080fd5b506102db611766565b3480156105c157600080fd5b506105ca61176c565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b34801561063d57600080fd5b5061040d6117d7565b34801561065257600080fd5b506102db6004803603604081101561066957600080fd5b506001600160a01b0381351690602001356118be565b34801561068b57600080fd5b506102db600480360360408110156106a257600080fd5b506001600160a01b0381351690602001356118f8565b3480156106c457600080fd5b5061028c611917565b3480156106d957600080fd5b506102db600480360360208110156106f057600080fd5b5035611926565b34801561070357600080fd5b506102db611940565b34801561071857600080fd5b506102db611946565b34801561072d57600080fd5b5061075a6004803603604081101561074457600080fd5b506001600160a01b03813516906020013561194c565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156107b157600080fd5b506102db600480360360408110156107c857600080fd5b50803590602001356119d3565b3480156107e157600080fd5b50610335600480360360208110156107f857600080fd5b5035611a01565b34801561080b57600080fd5b506108386004803603604081101561082257600080fd5b506001600160a01b038135169060200135611a44565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561088157600080fd5b506102db611a9f565b34801561089657600080fd5b50610335600480360360208110156108ad57600080fd5b50351515611ac4565b3480156108c257600080fd5b506102db611b6e565b3480156108d757600080fd5b50610335600480360360208110156108ee57600080fd5b5035611b74565b34801561090157600080fd5b506102db611caf565b34801561091657600080fd5b506103356004803603604081101561092d57600080fd5b506001600160a01b038135169060200135611cb5565b34801561094f57600080fd5b506103c6611e8e565b34801561096457600080fd5b506102db611e97565b34801561097957600080fd5b506103356004803603602081101561099057600080fd5b5035611e9d565b3480156109a357600080fd5b506102db611f71565b3480156109b857600080fd5b506102db600480360360208110156109cf57600080fd5b5035611f77565b6005546001600160a01b031681565b60146020526000908152604090205481565b600d5481565b610a05611f9a565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610a61611f9a565b60035460ff1615158115151415610a7757610ad0565b6003805460ff1916821515179081905560ff1615610a9457426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60115481565b6000610ae3612bda565b610aed8484611fe5565b9050610af8816120f6565b9150505b92915050565b60006060610b0e6117d7565b905060005b8151811015610c03576000828281518110610b2a57fe5b6020908102919091018101516000818152600683526040908190205460055482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d6020811015610bbc57600080fd5b50516001600160a01b0316141580610be957506000818152600660205260409020546001600160a01b0316155b15610bfa5760009350505050610c0a565b50600101610b13565b5060019150505b90565b6001600160a01b03811660009081526013602090815260408083208054825181850281018501909352808352606094859484015b82821015610cb25760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101610c41565b50505050905060608151604051908082528060200260200182016040528015610ce5578160200160208202803883390190505b5090506000805b8351811015610d5357838181518110610d0157fe5b602002602001015160a0015160001415610d4b57838181518110610d2157fe5b602002602001015160800151838381518110610d3957fe5b60209081029190910101526001909101905b600101610cec565b50606081604051908082528060200260200182016040528015610d80578160200160208202803883390190505b50905060005b82811015610dc157838181518110610d9a57fe5b6020026020010151828281518110610dae57fe5b6020908102919091010152600101610d86565b5095945050505050565b600a5481565b60125481565b610ddf611f9a565b600b8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b610e22611f9a565b600c8190556040805182815290517f8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d5288399181900360200190a150565b6001546001600160a01b031681565b60105481565b60035460ff1681565b610e83611f9a565b6103e8808210610ec45760405162461bcd60e51b8152600401808060200182810382526025815260200180612c8d6025913960400191505060405180910390fd5b600d8290556040805183815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a15050565b610f08611f9a565b6301e133808111610f4a5760405162461bcd60e51b8152600401808060200182810382526037815260200180612e1e6037913960400191505060405180910390fd5b73__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8e57600080fd5b505af4158015610fa2573d6000803e3d6000fd5b505050506040513d6020811015610fb857600080fd5b5051811115610ff85760405162461bcd60e51b8152600401808060200182810382526025815260200180612df96025913960400191505060405180910390fd5b6008819055611011816301e1338063ffffffff61211116565b60095560085460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b60035460009060ff16156110915760405162461bcd60e51b815260040180806020018281038252603c815260200180612dbd603c913960400191505060405180910390fd5b60048054600101908190556110a461217b565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b1580156110ee57600080fd5b505afa158015611102573d6000803e3d6000fd5b505050506040513d602081101561111857600080fd5b50511561116c576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b611174612196565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b50505050600c543410156112055760405162461bcd60e51b815260040180806020018281038252603e815260200180612d7f603e913960400191505060405180910390fd5b600e5460ff161561125d576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600d5433600090815260136020526040902054106112ac5760405162461bcd60e51b8152600401808060200182810382526022815260200180612cea6022913960400191505060405180910390fd5b60006112b734611926565b9050600b546112d1826010546121b090919063ffffffff16565b1061130d5760405162461bcd60e51b8152600401808060200182810382526023815260200180612d0c6023913960400191505060405180910390fd5b61131561220a565b925061131f612bda565b506040805160c081018252338082523460208084019182528385018681524260608601908152608086018a8152600060a0880181815296815260138552978820805460018082018355918a5294909820875160069095020180546001600160a01b0319166001600160a01b0390951694909417845593519683019690965551600282015593516003850155516004840155516005909201919091556010546113c790836121b0565b6010556113d2612242565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561143157600080fd5b505af1158015611445573d6000803e3d6000fd5b5050604080518781526020810186905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505060045481146114de576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b60606114ec6117d7565b905060005b81518110156116a657600082828151811061150857fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156115be5781810151838201526020016115a6565b50505050905090810190601f1680156115eb5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561160957600080fd5b505afa15801561161d573d6000803e3d6000fd5b505050506040513d602081101561163357600080fd5b505160008381526006602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016114f1565b5050565b6001546001600160a01b031633146116f35760405162461bcd60e51b8152600401808060200182810382526035815260200180612c1a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60075460008080808080808080808080611784611a9f565b9b506008549a506009549950600a549850600b549750600c549650601054955060115494506012549350479250600f549150600e60009054906101000a900460ff169050909192939495969798999a9b9c565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b8160008151811061181757fe5b602002602001018181525050680a0f2dce8d0e08aa8960bb1b8160018151811061183d57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160028151811061186357fe5b6020026020010181815250506411195c1bdd60da1b8160038151811061188557fe5b6020026020010181815250506c45786368616e6765526174657360981b816004815181106118af57fe5b60200260200101818152505090565b60006118c8612bda565b6118d28484611fe5565b905060006118df82612259565b90506118ef8260400151826119d3565b95945050505050565b6000611902612bda565b61190c8484611fe5565b9050610af881612259565b6000546001600160a01b031681565b6000610afc611933611a9f565b839063ffffffff61229c16565b60025481565b600f5481565b600080600080600080600080611960612bda565b61196a8b8b611fe5565b8051602082015160408301516060840151608085015160a0860151949e50929c50909a5098509650945090506119a8876119a383612259565b6119d3565b92506119c36119b6826120f6565b849063ffffffff6121b016565b9150509295985092959890939650565b60006119fa6119ed836009546122c690919063ffffffff16565b849063ffffffff61231f16565b9392505050565b611a09611f9a565b600a8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b60136020528160005260406000208181548110611a5d57fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b03909416965091945092909186565b6000611abf60075468056bc75e2d6310000061233490919063ffffffff16565b905090565b611acc611f9a565b600f544211611b22576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600e805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b600c5481565b6004805460010190819055611b8761217b565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b158015611bd157600080fd5b505afa158015611be5573d6000803e3d6000fd5b505050506040513d6020811015611bfb57600080fd5b505115611c4f576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b611c593383612349565b60045481146116a6576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60075481565b6004805460010190819055611cc861217b565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b158015611d1257600080fd5b505afa158015611d26573d6000803e3d6000fd5b505050506040513d6020811015611d3c57600080fd5b505115611d90576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b600e5460ff16611de7576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b611df18383612349565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a26004548114611e89576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b600e5460ff1681565b60095481565b611ea5611f9a565b683635c9adc5dea00000811115611eee576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d63100000811015611f36576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60078190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b600b5481565b6000610afc61193368056bc75e2d6310000060075461233490919063ffffffff16565b6000546001600160a01b03163314611fe35760405162461bcd60e51b815260040180806020018281038252602f815260200180612d2f602f913960400191505060405180910390fd5b565b611fed612bda565b6001600160a01b0383166000908152601360209081526040808320805482518185028101850190935280835260609492939192909184015b828210156120965760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101612025565b509293506000925050505b81518110156120ee57838282815181106120b757fe5b60200260200101516080015114156120e6578181815181106120d557fe5b602002602001015192505050610afc565b6001016120a1565b505092915050565b6000610afc600a54836040015161231f90919063ffffffff16565b6000808211612167576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161217257fe5b04949350505050565b6000611abf6c45786368616e6765526174657360981b61296c565b6000611abf6b53797374656d53746174757360a01b61296c565b6000828201838110156119fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60125460009061222190600163ffffffff6121b016565b60125560115461223890600163ffffffff6121b016565b6011819055905090565b6000611abf680a0f2dce8d0e08aa8960bb1b61296c565b60a081015160009015158061228357606083015161227e90429063ffffffff612a5016565b6119fa565b606083015160a08401516119fa9163ffffffff612a5016565b6000670de0b6b3a76400006122b7848463ffffffff6122c616565b816122be57fe5b049392505050565b6000826122d557506000610afc565b828202828482816122e257fe5b04146119fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180612d5e6021913960400191505060405180910390fd5b60006119fa8383670de0b6b3a7640000612aad565b60006119fa8383670de0b6b3a7640000612aea565b612351612196565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561238957600080fd5b505afa15801561239d573d6000803e3d6000fd5b505050506123a9612bda565b6123b38383611fe5565b90506000816080015111612404576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60a081015115612451576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b806040015161245e612242565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156124b357600080fd5b505afa1580156124c7573d6000803e3d6000fd5b505050506040513d60208110156124dd57600080fd5b5051101561251c5760405162461bcd60e51b815260040180806020018281038252603e815260200180612c4f603e913960400191505060405180910390fd5b61252581612b1c565b604081015160105461253c9163ffffffff612a5016565b6010556040810151600090612554906119a384612259565b90506000612561836120f6565b90506000612575838363ffffffff6121b016565b905061257f612242565b6001600160a01b0316639dc29fac3386604001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156125e257600080fd5b505af11580156125f6573d6000803e3d6000fd5b50505050612602612bb0565b6001600160a01b03166334d2e0f2826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561264557600080fd5b505afa158015612659573d6000803e3d6000fd5b505050506040513d602081101561266f57600080fd5b5051612679612bc3565b6001600160a01b03166370a0823161268f612bb0565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156126d557600080fd5b505afa1580156126e9573d6000803e3d6000fd5b505050506040513d60208110156126ff57600080fd5b5051101561273e5760405162461bcd60e51b8152600401808060200182810382526038815260200180612cb26038913960400191505060405180910390fd5b612746612bb0565b6001600160a01b03166376569fbf826040518263ffffffff1660e01b81526004016020604051808303818588803b15801561278057600080fd5b505af1158015612794573d6000803e3d6000fd5b50505050506040513d60208110156127ab57600080fd5b506127b69050612bc3565b6001600160a01b031663a9059cbb73feefeefeefeefeefeefeefeefeefeefeefeefeef6127e1612bc3565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561283657600080fd5b505afa15801561284a573d6000803e3d6000fd5b505050506040513d602081101561286057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156128b157600080fd5b505af11580156128c5573d6000803e3d6000fd5b505050506040513d60208110156128db57600080fd5b5050602084015133906108fc906128f8908463ffffffff612a5016565b6040518115909202916000818181858888f19350505050158015612920573d6000803e3d6000fd5b50604080518681526020810183905281516001600160a01b038916927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a2505050505050565b600081815260066020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612a495760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a0e5781810151838201526020016129f6565b50505050905090810190601f168015612a3b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082821115612aa7576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080600a8304612ac4868663ffffffff6122c616565b81612acb57fe5b0490506005600a825b0610612ade57600a015b600a9004949350505050565b600080612b1084612b0487600a870263ffffffff6122c616565b9063ffffffff61211116565b90506005600a82612ad4565b80516001600160a01b03166000908152601360205260408120905b8154811015612b94578260800151828281548110612b5157fe5b9060005260206000209060060201600401541415612b8c5742828281548110612b7657fe5b9060005260206000209060060201600501819055505b600101612b37565b50601254612ba990600163ffffffff612a5016565b6012555050565b6000611abf6411195c1bdd60da1b61296c565b6000611abf68141e5b9d1a1c1554d160ba1b61296c565b6040518060c0016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970596f7520646f206e6f742068617665207468652072657175697265642050796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e4f776e65722063616e6e6f742073657420686967686572207468616e20484152445f4341505468652070555344204465706f7420646f6573206e6f74206861766520656e6f756768207055534420746f2062757920666f72206665657345616368206163636f756e74206973206c696d74656420746f203530206c6f616e734c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e53697a655468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f59454152a265627a7a7231582085d22d4b1140c7fb9355982607fce6847f77f427a0df56f03250747a9b0ae30c64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanLimit",
							"type": "uint256"
						}
					],
					"name": "AccountLoanLimitUpdated",
					"type": "event",
					"signature": "0x59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "CollateralizationRatioUpdated",
					"type": "event",
					"signature": "0xfb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce07869530"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interestRate",
							"type": "uint256"
						}
					],
					"name": "InterestRateUpdated",
					"type": "event",
					"signature": "0xa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d74"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueLimit",
							"type": "uint256"
						}
					],
					"name": "IssueLimitUpdated",
					"type": "event",
					"signature": "0xbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feesPaid",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0x3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "LoanLiquidated",
					"type": "event",
					"signature": "0xde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "LoanLiquidationOpenUpdated",
					"type": "event",
					"signature": "0xaa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanSizeUpdated",
					"type": "event",
					"signature": "0x8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d528839"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountLoanLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1474b279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accountOpenLoanCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x089f7fb4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountsPynthLoans",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab6a34fa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "accruedInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa2e17342"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "calculateMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x27cff2e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "closeLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd05951a0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						}
					],
					"name": "collateralAmountForLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf53dfb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralizationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdcaf9c44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "currentInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c937de"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getContractInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_collateralizationRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestPerSecond",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedPynths",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalLoansCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalOpenLoanCount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_ethBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationDeadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7cc1f867"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "interest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestPerSecond",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe40108ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c3a00fd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeea8f5da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "liquidateUnclosedLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe220a811"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDeadline",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f7d5688"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						}
					],
					"name": "loanAmountFromCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8fdc8f3b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "loanLifeSpan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanLifeSpanResult",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c463869"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcf09b4ae"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x6b231938"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "openLoanIDsByAccount",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f2bf15b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanLimit",
							"type": "uint256"
						}
					],
					"name": "setAccountLoanLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5d1a2229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setCollateralizationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe5829d20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						}
					],
					"name": "setInterestRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5f84f302"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						}
					],
					"name": "setIssueLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4f069f66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "setLoanLiquidationOpen",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb8c6d6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minLoanSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x50e3b2e7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57b21920"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoansCreated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23aa7f0f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOpenLoanCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4189bb49"
				}
			],
			"source": {
				"keccak256": "0xcaff29526f7476c539dcbd5f9a5843c2f7d1d5e9b59bc3e836e0683e1bdae643",
				"urls": [
					"bzz-raw://34f2f6cae6a65af51f74ee10588bb0a42ab31153370a231f58030a2310d1067e",
					"dweb:/ipfs/QmdTEHZgyCyJma3yQ8f45TXJ8eFVhvz68gUtuyLJXB3tut"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EtherCollateral.sol": "EtherCollateral"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EtherCollateral.sol": {
						"keccak256": "0xcaff29526f7476c539dcbd5f9a5843c2f7d1d5e9b59bc3e836e0683e1bdae643",
						"urls": [
							"bzz-raw://34f2f6cae6a65af51f74ee10588bb0a42ab31153370a231f58030a2310d1067e",
							"dweb:/ipfs/QmdTEHZgyCyJma3yQ8f45TXJ8eFVhvz68gUtuyLJXB3tut"
						]
					}
				},
				"version": 1
			}
		},
		"IssuanceEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516040806112eb8339810160405280516020909101518181818181600160a060020a03811615156100a557604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b60008054600160a060020a031916600160a060020a038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060028054600160a060020a038316600160a060020a0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050505050611187806101646000396000f30060806040526004361061015e5763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663025ec81a8114610163578063043106c01461018d5780630c55d925146101a7578063124f2418146101bf5780631627540c146101d757806317e7dd22146101f857806325cf512d146102245780633562fd201461023f5780633cc1635c1461025a5780633eba9ed21461027257806344bfa56e1461028f5780634c77e5ba1461031c57806352f445ca1461035057806353a47bb7146103715780635a2bf25a1461038657806379ba5097146103aa5780638267a9ee146103bf5780638da5cb5b146103d75780639007127b146103ec57806393fe424814610404578063a209a29c1461041c578063a77aa49e14610434578063aefc4ccb1461044f578063ba69fcaa14610464578063bdc963d81461047c578063c9a52d2c14610494578063f5866066146104b8575b600080fd5b34801561016f57600080fd5b5061017b6004356104dc565b60408051918252519081900360200190f35b34801561019957600080fd5b506101a56004356104ee565b005b3480156101b357600080fd5b506101a560043561057d565b3480156101cb57600080fd5b506101a56004356105fb565b3480156101e357600080fd5b506101a5600160a060020a0360043516610670565b34801561020457600080fd5b50610210600435610759565b604080519115158252519081900360200190f35b34801561023057600080fd5b506101a560043560243561076e565b34801561024b57600080fd5b506101a56004356024356107e4565b34801561026657600080fd5b506101a560043561085a565b34801561027e57600080fd5b506101a560043560243515156108d6565b34801561029b57600080fd5b506102a760043561095a565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102e15781810151838201526020016102c9565b50505050905090810190601f16801561030e5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561032857600080fd5b506103346004356109fb565b60408051600160a060020a039092168252519081900360200190f35b34801561035c57600080fd5b506101a5600160a060020a0360043516610a16565b34801561037d57600080fd5b50610334610aff565b34801561039257600080fd5b506101a5600435600160a060020a0360243516610b0e565b3480156103b657600080fd5b506101a5610bad565b3480156103cb57600080fd5b506101a5600435610cb5565b3480156103e357600080fd5b50610334610d2a565b3480156103f857600080fd5b5061017b600435610d39565b34801561041057600080fd5b506101a5600435610d4b565b34801561042857600080fd5b506102a7600435610dc0565b34801561044057600080fd5b506101a5600435602435610e2a565b34801561045b57600080fd5b50610334610ea0565b34801561047057600080fd5b506101a5600435610eaf565b34801561048857600080fd5b5061017b600435610f2a565b3480156104a057600080fd5b506101a5600480359060248035908101910135610f3c565b3480156104c457600080fd5b506101a5600480359060248035908101910135610fbf565b60009081526007602052604090205490565b600254600160a060020a03163314610552576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000908152600560205260409020805473ffffffffffffffffffffffffffffffffffffffff19169055565b600254600160a060020a031633146105e1576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60008181526006602052604081206105f89161103c565b50565b600254600160a060020a0316331461065f576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260076020526040812055565b600054600160a060020a031633146106f8576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60018054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b600254600160a060020a031633146107d2576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526007602052604090912055565b600254600160a060020a03163314610848576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526003602052604090912055565b600254600160a060020a031633146108be576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000908152600860205260409020805460ff19169055565b600254600160a060020a0316331461093a576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026101006001851615026000190190931692909204918201849004840281018401909452808452606093928301828280156109ef5780601f106109c4576101008083540402835291602001916109ef565b820191906000526020600020905b8154815290600101906020018083116109d257829003601f168201915b50505050509050919050565b600090815260056020526040902054600160a060020a031690565b600054600160a060020a03163314610a9e576040805160e560020a62461bcd02815260206004820152602f60248201527f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726660448201527f6f726d207468697320616374696f6e0000000000000000000000000000000000606482015290519081900360840190fd5b60028054600160a060020a03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b600154600160a060020a031681565b600254600160a060020a03163314610b72576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600091825260056020526040909120805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a03909216919091179055565b600154600160a060020a03163314610c35576040805160e560020a62461bcd02815260206004820152603560248201527f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7560448201527f2063616e20616363657074206f776e6572736869700000000000000000000000606482015290519081900360840190fd5b60005460015460408051600160a060020a03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff19908116600160a060020a03841617909155169055565b600254600160a060020a03163314610d19576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260096020526040812055565b600054600160a060020a031681565b60009081526009602052604090205490565b600254600160a060020a03163314610daf576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026101006001851615026000190190931692909204918201849004840281018401909452808452606093928301828280156109ef5780601f106109c4576101008083540402835291602001916109ef565b600254600160a060020a03163314610e8e576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60009182526009602052604090912055565b600254600160a060020a031681565b600254600160a060020a03163314610f13576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b60008181526004602052604081206105f89161103c565b60009081526003602052604090205490565b600254600160a060020a03163314610fa0576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000838152600660205260409020610fb9908383611080565b50505050565b600254600160a060020a03163314611023576040805160e560020a62461bcd028152602060048201526034602482015260008051602061111c833981519152604482015260008051602061113c833981519152606482015290519081900360840190fd5b6000838152600460205260409020610fb9908383611080565b50805460018160011615610100020316600290046000825580601f1061106257506105f8565b601f0160209004906000526020600020908101906105f891906110fe565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106110c15782800160ff198235161785556110ee565b828001600101855582156110ee579182015b828111156110ee5782358255916020019190600101906110d3565b506110fa9291506110fe565b5090565b61111891905b808211156110fa5760008155600101611104565b9056004f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e000000000000000000000000a165627a7a72305820f341384ea2e870357196525b7c5ce445c80b324ed8e9e06b9765455179c453f30029",
			"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"
				},
				{
					"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"
				}
			]
		},
		"EternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516112143803806112148339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061106e806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107a3565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107b8565b6101fa600480360360408110156102c657600080fd5b5080359060200135610813565b6101fa600480360360208110156102e957600080fd5b503561086e565b6101fa6004803603604081101561030657600080fd5b508035906020013515156108cf565b6103326004803603602081101561032b57600080fd5b5035610938565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b50356109d9565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b03166109f4565b6103c4610a50565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610a5f565b6101fa610ad6565b6101fa6004803603602081101561045857600080fd5b5035610b92565b6103c4610bec565b6101cb6004803603602081101561047d57600080fd5b5035610bfb565b6101fa6004803603602081101561049a57600080fd5b5035610c0d565b610332600480360360208110156104b757600080fd5b5035610c67565b6101fa600480360360408110156104d457600080fd5b5080359060200135610cd1565b6103c4610d2c565b6101fa600480360360208110156104ff57600080fd5b5035610d3b565b6101cb6004803603602081101561051c57600080fd5b5035610d9b565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610dad565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e15565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ec2565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260076020526040812055565b61074f610e77565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108015760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461085c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108b75760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109185760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b820191906000526020600020905b8154815290600101906020018083116109b057829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6109fc610e77565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610aa85760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610b1f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610fa26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610bdb5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610c565760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b6002546001600160a01b03163314610d1a5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610d845760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ec2565b60009081526003602052604090205490565b6002546001600160a01b03163314610df65760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600660205260409020610e0f908383610f06565b50505050565b6002546001600160a01b03163314610e5e5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600460205260409020610e0f908383610f06565b6000546001600160a01b03163314610ec05760405162461bcd60e51b815260040180806020018281038252602f815260200180610fd7602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f10610ee857506106ea565b601f0160209004906000526020600020908101906106ea9190610f84565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f475782800160ff19823516178555610f74565b82800160010185558215610f74579182015b82811115610f74578235825591602001919060010190610f59565b50610f80929150610f84565b5090565b610f9e91905b80821115610f805760008155600101610f8a565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820d4e885381d09ef792cc5b32a616f38856419a5f5bce3e04166de895ce11c4a7364736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				}
			],
			"source": {
				"keccak256": "0x9ed1dbc15a97aa55c556f5e5372e468b5775c93ae6679906452b760bf96602f0",
				"urls": [
					"bzz-raw://43d68e0130dfec28a4ca919e9f2c02d352abb77576ba0a6e5ce68f76dc5d0054",
					"dweb:/ipfs/QmPiPF9xiLTjTEaubc7dhBoeXp5DeP55Yrti4zAirjPCVq"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EternalStorage.sol": "EternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EternalStorage.sol": {
						"keccak256": "0x9ed1dbc15a97aa55c556f5e5372e468b5775c93ae6679906452b760bf96602f0",
						"urls": [
							"bzz-raw://43d68e0130dfec28a4ca919e9f2c02d352abb77576ba0a6e5ce68f76dc5d0054",
							"dweb:/ipfs/QmPiPF9xiLTjTEaubc7dhBoeXp5DeP55Yrti4zAirjPCVq"
						]
					}
				},
				"version": 1
			}
		},
		"SystemStatus": {
			"bytecode": "608060405234801561001057600080fd5b50604051611ed6380380611ed68339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050611ddc806100fa6000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c80634ef4a6431161014657806389bb3dfa116100c3578063c09290bb11610087578063c09290bb14610983578063d7f2c385146109f1578063e470df5814610a0e578063f161620714610a2b578063f405f65a14610a33578063f8b4b08414610a3b5761025e565b806389bb3dfa146108af5780638c38729d146108cc5780638da5cb5b146108e95780639f8a95ba146108f1578063ad135a16146109155761025e565b80637118d4311161010a5780637118d43114610806578063754a46411461080e57806379ba5097146108315780637c3125411461083957806387743c36146108415761025e565b80634ef4a6431461063c578063517d60c61461065957806353a47bb7146107b7578063631070fc146107db57806367a280b2146107fe5761025e565b806320f2bf00116101df5780632e94d93d116101a35780632e94d93d14610542578063387da909146105b0578063396e258e146105b85780633cb4d443146105d557806348bf1971146105f85780634abdb44d146106345761025e565b806320f2bf00146104895780632366245e146104d05780632cb28bd8146104fb5780632dd8afdb1461051e5780632e8d0b9e146105265761025e565b8063157c51d311610226578063157c51d3146104195780631588e817146104215780631627540c1461043e5780631635b0ce146104645780631d7e77891461046c5761025e565b8063086dabd11461026357806308d10e621461026d5780630d2d7c281461028a57806312bde5141461039157806314acc95f146103ab575b600080fd5b61026b610a43565b005b61026b6004803603602081101561028357600080fd5b5035610a4d565b6102f8600480360360208110156102a057600080fd5b810190602081018135600160201b8111156102ba57600080fd5b8201836020820111156102cc57600080fd5b803590602001918460208302840111600160201b831117156102ed57600080fd5b509092509050610a96565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561033c578181015183820152602001610324565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561037b578181015183820152602001610363565b5050505090500194505050505060405180910390f35b610399610bbf565b60408051918252519081900360200190f35b61026b600480360360208110156103c157600080fd5b810190602081018135600160201b8111156103db57600080fd5b8201836020820111156103ed57600080fd5b803590602001918460208302840111600160201b8311171561040e57600080fd5b509092509050610bcc565b61026b610c08565b61026b6004803603602081101561043757600080fd5b5035610c72565b61026b6004803603602081101561045457600080fd5b50356001600160a01b0316610cdd565b610399610d39565b61026b6004803603602081101561048257600080fd5b5035610d45565b6104b56004803603604081101561049f57600080fd5b50803590602001356001600160a01b0316610d59565b60408051921515835290151560208301528051918290030190f35b6104d8610d82565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b61026b6004803603604081101561051157600080fd5b5080359060200135610d9b565b6104d8610dcf565b61052e610de8565b604080519115158252519081900360200190f35b61026b6004803603602081101561055857600080fd5b810190602081018135600160201b81111561057257600080fd5b82018360208201111561058457600080fd5b803590602001918460208302840111600160201b831117156105a557600080fd5b509092509050610e12565b610399610e4e565b61026b600480360360208110156105ce57600080fd5b5035610e62565b61026b600480360360408110156105eb57600080fd5b5080359060200135610ecd565b61026b6004803603608081101561060e57600080fd5b508035906001600160a01b03602082013516906040810135151590606001351515610ed5565b610399610eef565b6104d86004803603602081101561065257600080fd5b5035610efe565b61026b6004803603608081101561066f57600080fd5b810190602081018135600160201b81111561068957600080fd5b82018360208201111561069b57600080fd5b803590602001918460208302840111600160201b831117156106bc57600080fd5b919390929091602081019035600160201b8111156106d957600080fd5b8201836020820111156106eb57600080fd5b803590602001918460208302840111600160201b8311171561070c57600080fd5b919390929091602081019035600160201b81111561072957600080fd5b82018360208201111561073b57600080fd5b803590602001918460208302840111600160201b8311171561075c57600080fd5b919390929091602081019035600160201b81111561077957600080fd5b82018360208201111561078b57600080fd5b803590602001918460208302840111600160201b831117156107ac57600080fd5b509092509050610f23565b6107bf611014565b604080516001600160a01b039092168252519081900360200190f35b61026b600480360360408110156107f157600080fd5b5080359060200135611023565b61026b61106e565b61026b6110da565b61026b6004803603604081101561082457600080fd5b50803590602001356110ea565b61026b611130565b61026b6111ec565b61026b6004803603604081101561085757600080fd5b810190602081018135600160201b81111561087157600080fd5b82018360208201111561088357600080fd5b803590602001918460208302840111600160201b831117156108a457600080fd5b9193509150356111fc565b61026b600480360360208110156108c557600080fd5b503561123a565b6104d8600480360360208110156108e257600080fd5b503561124b565b6107bf611270565b6108f961127f565b604080516001600160f81b039092168252519081900360200190f35b61026b6004803603604081101561092b57600080fd5b810190602081018135600160201b81111561094557600080fd5b82018360208201111561095757600080fd5b803590602001918460208302840111600160201b8311171561097857600080fd5b919350915035611284565b6102f86004803603602081101561099957600080fd5b810190602081018135600160201b8111156109b357600080fd5b8201836020820111156109c557600080fd5b803590602001918460208302840111600160201b831117156109e657600080fd5b5090925090506112c2565b61026b60048036036020811015610a0757600080fd5b50356113e3565b61026b60048036036020811015610a2457600080fd5b5035611428565b61039961149d565b61026b6114ac565b6104d8611518565b610a4b611531565b565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110610a7d57fe5b602002602001018181525050610a9281611610565b5050565b60608083839050604051908082528060200260200182016040528015610ac6578160200160208202803883390190505b50604080518581526020808702820101909152909250838015610af3578160200160208202803883390190505b50905060005b83811015610bb75760066000868684818110610b1157fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110610b4357fe5b9115156020928302919091019091015260066000868684818110610b6357fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110610ba457fe5b6020908102919091010152600101610af9565b509250929050565b6553797374656d60d01b81565b610a9282828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061161092505050565b610c1a6553797374656d60d01b6116be565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610c866745786368616e676560c01b61171b565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610ce5611773565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b640a0f2dce8d60db1b81565b610d4d611531565b610d56816117bc565b50565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60045460ff81169061010090046001600160f81b031682565b610da3611531565b610dab61180a565b610db48261184c565b610dbd8161184c565b610dc6826117bc565b610a92816117bc565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015610e0d575060035461010090046001600160f81b03166001145b905090565b610a9282828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189a92505050565b6c50796e746845786368616e676560981b81565b610e766749737375616e636560c01b61171b565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b610dbd611531565b610edd611773565b610ee984848484611940565b50505050565b6749737375616e636560c01b81565b60066020526000908152604090205460ff81169061010090046001600160f81b031682565b610f2b611773565b8685148015610f3957508483145b8015610f4457508281145b610f95576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b8781101561100957611001898983818110610faf57fe5b90506020020135888884818110610fc257fe5b905060200201356001600160a01b0316878785818110610fde57fe5b905060200201351515868686818110610ff357fe5b905060200201351515611940565b600101610f98565b505050505050505050565b6001546001600160a01b031681565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061105357fe5b6020026020010181815250506110698183611a72565b505050565b6110826749737375616e636560c01b6116be565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b6110e2611531565b610a4b61180a565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061111a57fe5b6020026020010181815250506110698183611b18565b6001546001600160a01b031633146111795760405162461bcd60e51b8152600401808060200182810382526035815260200180611c096035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6111f4611531565b610a4b611bc6565b611069838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611a72915050565b611242611531565b610d568161184c565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6000546001600160a01b031681565b600181565b611069838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611b18915050565b606080838390506040519080825280602002602001820160405280156112f2578160200160208202803883390190505b5060408051858152602080870282010190915290925083801561131f578160200160208202803883390190505b50905060005b83811015610bb7576007600086868481811061133d57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061136f57fe5b911515602092830291909101909101526007600086868481811061138f57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106113d057fe5b6020908102919091010152600101611325565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811061141357fe5b602002602001018181525050610a928161189a565b61143a6553797374656d60d01b61171b565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b6745786368616e676560c01b81565b6114c06745786368616e676560c01b6116be565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b031660011461156d576040518060600160405280602e8152602001611c97602e9139611587565b604051806060016040528060408152602001611d1f604091395b90610d565760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115d55781810151838201526020016115bd565b50505050905090810190601f1680156116025780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6116296c50796e746845786368616e676560981b6116be565b60005b8151811015610a9257600082828151811061164357fe5b6020908102919091018101516000818152600683526040908190205481518381526101009091046001600160f81b03169381019390935280519193507fc6cc5bbf2969f74a5166d0bad983455bf7a65b6372af7260400f9b3b04338090928290030190a160009081526006602052604081205560010161162c565b6000818152600260209081526040808320338452909152902054610100900460ff16610d565760405162461bcd60e51b8152600401808060200182810382526021815260200180611d5f6021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff16610d565760405162461bcd60e51b8152600401808060200182810382526021815260200180611d5f6021913960400191505060405180910390fd5b6000546001600160a01b03163314610a4b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611cc5602f913960400191505060405180910390fd5b60008181526007602052604090205460ff1615610d565760405162461bcd60e51b8152600401808060200182810382526028815260200180611d806028913960400191505060405180910390fd5b60055460ff1615610a4b5760405162461bcd60e51b815260040180806020018281038252602b815260200180611cf4602b913960400191505060405180910390fd5b60008181526006602052604090205460ff1615610d565760405162461bcd60e51b815260040180806020018281038252602e815260200180611c69602e913960400191505060405180910390fd5b6118ab640a0f2dce8d60db1b6116be565b60005b8151811015610a925760008282815181106118c557fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507fddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39928290030190a16000908152600760205260408120556001016118ae565b6553797374656d60d01b84148061196157506749737375616e636560c01b84145b8061197657506745786368616e676560c01b84145b8061199057506c50796e746845786368616e676560981b84145b806119a25750640a0f2dce8d60db1b84145b6119f3576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b611a83640a0f2dce8d60db1b61171b565b60005b8251811015611069576000838281518110611a9d57fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507ffd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86928290030190a150600101611a86565b611b316c50796e746845786368616e676560981b61171b565b60005b8251811015611069576000838281518110611b4b57fe5b60209081029190910181015160008181526006835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f0af76046e49b0af43f6e092983123f6fb3a25f63bd7096c1bb89649a75a9a494928290030190a150600101611b34565b60045460ff1615610a4b5760405162461bcd60e51b815260040180806020018281038252602b815260200180611c3e602b913960400191505060405180910390fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656450796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f686962697465645065726946696e616e63652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645065726946696e616e63652069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e642062795265737472696374656420746f2061636365737320636f6e74726f6c206c69737450796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a723158204bfdc7f6442b1cd6535d1dc69a807480d5d26f409c25db2fc2da3045f562731464736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "AccessControlUpdated",
					"type": "event",
					"signature": "0x95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeResumed",
					"type": "event",
					"signature": "0x07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeSuspended",
					"type": "event",
					"signature": "0x078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceResumed",
					"type": "event",
					"signature": "0x0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceSuspended",
					"type": "event",
					"signature": "0xee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthExchangeResumed",
					"type": "event",
					"signature": "0xc6cc5bbf2969f74a5166d0bad983455bf7a65b6372af7260400f9b3b04338090"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthExchangeSuspended",
					"type": "event",
					"signature": "0x0af76046e49b0af43f6e092983123f6fb3a25f63bd7096c1bb89649a75a9a494"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthResumed",
					"type": "event",
					"signature": "0xddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthSuspended",
					"type": "event",
					"signature": "0xfd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemResumed",
					"type": "event",
					"signature": "0xb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemSuspended",
					"type": "event",
					"signature": "0x86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1616207"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_ISSUANCE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4abdb44d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_PYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1635b0ce"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_PYNTH_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x387da909"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYSTEM",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x12bde514"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUSPENSION_REASON_UPGRADE",
					"outputs": [
						{
							"internalType": "uint248",
							"name": "",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f8a95ba"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accessControl",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20f2bf00"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8b4b084"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthExchangeSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "exchangeSuspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d2d7c28"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc09290bb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isSystemUpgrading",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e8d0b9e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2366245e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthExchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4ef4a643"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c38729d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7118d431"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireExchangeBetweenPynthsAllowed",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2cb28bd8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c312541"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1d7e7789"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89bb3dfa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3cb4d443"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireSystemActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086dabd1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf405f65a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x67a280b2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd7f2c385"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x08d10e62"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e94d93d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumePynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x14acc95f"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x157c51d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1588e817"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x396e258e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x631070fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x754a4641"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x87743c36"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xad135a16"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe470df58"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2dd8afdb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "updateAccessControl",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x48bf1971"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "sections",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "bool[]",
							"name": "canSuspends",
							"type": "bool[]"
						},
						{
							"internalType": "bool[]",
							"name": "canResumes",
							"type": "bool[]"
						}
					],
					"name": "updateAccessControls",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x517d60c6"
				}
			],
			"source": {
				"keccak256": "0x4848e1e335b81c301b474ff1a611ac4a6dd869d589f91e75eadb69774a32455d",
				"urls": [
					"bzz-raw://9686f319c6d6ea32a7d8aa382026f5d5dd50aae150993a58d9c7c2eaea59fced",
					"dweb:/ipfs/QmYbfHcSAQ1ibc2mLRFhBfza3inD6jw1P4cdCXVRppbAeD"
				]
			},
			"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": "0x4848e1e335b81c301b474ff1a611ac4a6dd869d589f91e75eadb69774a32455d",
						"urls": [
							"bzz-raw://9686f319c6d6ea32a7d8aa382026f5d5dd50aae150993a58d9c7c2eaea59fced",
							"dweb:/ipfs/QmYbfHcSAQ1ibc2mLRFhBfza3inD6jw1P4cdCXVRppbAeD"
						]
					}
				},
				"version": 1
			}
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516104953803806104958339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061039b806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b661016c565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b031661017b565b6100ac6101dd565b6100b6610299565b6100b66102a8565b6101186102b7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101836102b7565b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102265760405162461bcd60e51b81526004018080602001828103825260358152602001806103036035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103005760405162461bcd60e51b815260040180806020018281038252602f815260200180610338602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158204840d8cfa694b01e11db9e51dc9e6f09164ae9fac4482510ecc64b56c6b05e2b64736f6c63430005100032",
			"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": "0x97bdfe7a208b4cb1278c671cfac025d9922451a7c05be148cabf9ece2937c397",
				"urls": [
					"bzz-raw://98204ad1e6349534bb3f586f3ca92cbfd2231d5f0e1679570c49d2831c297877",
					"dweb:/ipfs/QmUzFzjJbLmn4iEyHuvZHUpwHh6Q4KAxgLB2GLaUWj5Kc2"
				]
			},
			"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": "0x97bdfe7a208b4cb1278c671cfac025d9922451a7c05be148cabf9ece2937c397",
						"urls": [
							"bzz-raw://98204ad1e6349534bb3f586f3ca92cbfd2231d5f0e1679570c49d2831c297877",
							"dweb:/ipfs/QmUzFzjJbLmn4iEyHuvZHUpwHh6Q4KAxgLB2GLaUWj5Kc2"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidations": {
			"bytecode": "608060405234801561001057600080fd5b50604051611ef6380380611ef68339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050611dd0806101266000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806379ba5097116100b8578063974e9e7f1161007c578063974e9e7f146102d0578063a0cf7451146102f6578063ad2bc2d5146102fe578063b410a03414610324578063c49e80a61461032c578063d45c0d7e1461035257610142565b806379ba50971461023a578063828afc4b14610242578063899ffef4146102685780638d1bd1be146102c05780638da5cb5b146102c857610142565b80632af64bd31161010a5780632af64bd3146101d857806339a9df1b146101f457806353a47bb71461021a5780636a05896614610222578063741853601461022a57806374e889c91461023257610142565b806304f3bcec146101475780630ac045d51461016b5780631627540c146101a05780631775765f146101c857806323f5589a146101d0575b600080fd5b61014f610378565b604080516001600160a01b039092168252519081900360200190f35b61018e6004803603604081101561018157600080fd5b5080359060200135610387565b60408051918252519081900360200190f35b6101c6600480360360208110156101b657600080fd5b50356001600160a01b0316610485565b005b61018e6104e1565b61018e6104f1565b6101e06104fb565b604080519115158252519081900360200190f35b6101e06004803603602081101561020a57600080fd5b50356001600160a01b0316610605565b61014f610630565b61018e61063f565b6101c6610657565b61018e61081f565b6101c6610839565b61018e6004803603602081101561025857600080fd5b50356001600160a01b03166108f5565b610270610910565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ac578181015183820152602001610294565b505050509050019250505060405180910390f35b61018e610a2b565b61014f610ab4565b6101c6600480360360208110156102e657600080fd5b50356001600160a01b0316610ac3565b61018e610b3e565b6101c66004803603602081101561031457600080fd5b50356001600160a01b0316610b48565b61018e610d82565b6101e06004803603602081101561034257600080fd5b50356001600160a01b0316610d8c565b6101c66004803603602081101561036857600080fd5b50356001600160a01b0316610e6c565b6002546001600160a01b031681565b6000806103926111df565b9050600073__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156103da57600080fd5b505af41580156103ee573d6000803e3d6000fd5b505050506040513d602081101561040457600080fd5b50519050600061042a61041d868563ffffffff61128616565b879063ffffffff6112b016565b905060006104666104598561044d61044061130d565b879063ffffffff61138816565b9063ffffffff61128616565b849063ffffffff6112b016565b9050610478828263ffffffff6113e916565b9450505050505b92915050565b61048d611413565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104eb61145e565b90505b90565b60006104eb61130d565b60006060610507610910565b905060005b81518110156105fc57600082828151811061052357fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561058b57600080fd5b505afa15801561059f573d6000803e3d6000fd5b505050506040513d60208110156105b557600080fd5b50516001600160a01b03161415806105e257506000818152600360205260409020546001600160a01b0316155b156105f357600093505050506104ee565b5060010161050c565b50600191505090565b600061060f611c65565b610618836114d7565b90506106278160000151611583565b9150505b919050565b6001546001600160a01b031681565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b6060610661610910565b905060005b815181101561081b57600082828151811061067d57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561073357818101518382015260200161071b565b50505050905090810190601f1680156107605780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561077e57600080fd5b505afa158015610792573d6000803e3d6000fd5b505050506040513d60208110156107a857600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610666565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b031633146108825760405162461bcd60e51b8152600401808060200182810382526035815260200180611c7d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006108ff611c65565b610908836114d7565b519392505050565b60608061091b611595565b60408051600580825260c08201909252919250606091906020820160a0803883390190505090506b53797374656d53746174757360a01b8160008151811061095f57fe5b6020026020010181815250506a5065726946696e616e636560a81b8160018151811061098757fe5b6020026020010181815250507f457465726e616c53746f726167654c69717569646174696f6e73000000000000816002815181106109c157fe5b6020026020010181815250506524b9b9bab2b960d11b816003815181106109e457fe5b6020026020010181815250506c45786368616e6765526174657360981b81600481518110610a0e57fe5b602002602001018181525050610a2482826115e6565b9250505090565b60006104eb610a3861145e565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7c57600080fd5b505af4158015610a90573d6000803e3d6000fd5b505050506040513d6020811015610aa657600080fd5b50519063ffffffff6116a216565b6000546001600160a01b031681565b610acb6116b7565b6001600160a01b0316336001600160a01b031614610b1a5760405162461bcd60e51b815260040180806020018281038252603e815260200180611d16603e913960400191505060405180910390fd5b610b22611c65565b610b2b826114d7565b80519091501561081b5761081b826116cb565b60006104eb611813565b635045524960e01b610b5861188c565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610b9b57600080fd5b505afa158015610baf573d6000803e3d6000fd5b505050506040513d6020811015610bc557600080fd5b505115610c19576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b610c216118a7565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610c5957600080fd5b505afa158015610c6d573d6000803e3d6000fd5b50505050610c79611c65565b610c82836114d7565b8051909150610cd8576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015290519081900360640190fd5b6000610ce26118c1565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d3757600080fd5b505afa158015610d4b573d6000803e3d6000fd5b505050506040513d6020811015610d6157600080fd5b50519050610d6d6111df565b8111610d7c57610d7c846116cb565b50505050565b60006104eb6111df565b600080610d976118c1565b6001600160a01b031663a311c7c2846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610dec57600080fd5b505afa158015610e00573d6000803e3d6000fd5b505050506040513d6020811015610e1657600080fd5b50519050610e226111df565b8111610e3257600091505061062b565b610e3a611c65565b610e43846114d7565b9050610e528160000151611583565b15610e625760019250505061062b565b5060009392505050565b635045524960e01b610e7c61188c565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ebf57600080fd5b505afa158015610ed3573d6000803e3d6000fd5b505050506040513d6020811015610ee957600080fd5b505115610f3d576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b610f456118a7565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610f7d57600080fd5b505afa158015610f91573d6000803e3d6000fd5b505050506000610f9f61145e565b11610ff1576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f742073657400000000000000604482015290519081900360640190fd5b6000610ffb611813565b1161104d576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015290519081900360640190fd5b611055611c65565b61105e836114d7565b80519091501561109f5760405162461bcd60e51b8152600401808060200182810382526027815260200180611d756027913960400191505060405180910390fd5b60006110a96118c1565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156110fe57600080fd5b505afa158015611112573d6000803e3d6000fd5b505050506040513d602081101561112857600080fd5b5051905061113461145e565b8110156111725760405162461bcd60e51b8152600401808060200182810382526035815260200180611cb26035913960400191505060405180910390fd5b600061118c61117f611813565b429063ffffffff61138816565b90506111998582336118da565b6040805182815290516001600160a01b038716917fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996919081900360200190a25050505050565b60006111e9611a07565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125557600080fd5b505afa158015611269573d6000803e3d6000fd5b505050506040513d602081101561127f57600080fd5b5051905090565b6000670de0b6b3a76400006112a1848463ffffffff611a2416565b816112a857fe5b049392505050565b600082821115611307576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611317611a07565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125557600080fd5b6000828201838110156113e2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b60006113e28261140785670de0b6b3a764000063ffffffff611a2416565b9063ffffffff611a7d16565b6000546001600160a01b0316331461145c5760405162461bcd60e51b815260040180806020018281038252602f815260200180611ce7602f913960400191505060405180910390fd5b565b6000611468611a07565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125557600080fd5b6114df611c65565b6114e7611ae7565b6001600160a01b031663bdc963d8611515724c69717569646174696f6e446561646c696e6560681b85611b12565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561154957600080fd5b505afa15801561155d573d6000803e3d6000fd5b505050506040513d602081101561157357600080fd5b5051815260006020820152919050565b6000808211801561047f575050421190565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106115d757fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611616578160200160208202803883390190505b50905060005b83518110156116585783818151811061163157fe5b602002602001015182828151811061164557fe5b602090810291909101015260010161161c565b5060005b825181101561169b5782818151811061167157fe5b602002602001015182828651018151811061168857fe5b602090810291909101015260010161165c565b5092915050565b60006113e28383670de0b6b3a7640000611b51565b60006104eb6524b9b9bab2b960d11b611b88565b6116d3611ae7565b6001600160a01b03166393fe4248611701724c69717569646174696f6e446561646c696e6560681b84611b12565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561173757600080fd5b505af115801561174b573d6000803e3d6000fd5b50505050611757611ae7565b6001600160a01b031663043106c0611783702634b8bab4b230ba34b7b721b0b63632b960791b84611b12565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156117b957600080fd5b505af11580156117cd573d6000803e3d6000fd5b50506040805142815290516001600160a01b03851693507f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8792509081900360200190a250565b600061181d611a07565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561125557600080fd5b60006104eb6c45786368616e6765526174657360981b611b88565b60006104eb6b53797374656d53746174757360a01b611b88565b60006104eb6a5065726946696e616e636560a81b611b88565b6118e2611ae7565b6001600160a01b0316633562fd20611910724c69717569646174696f6e446561646c696e6560681b86611b12565b846040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561194e57600080fd5b505af1158015611962573d6000803e3d6000fd5b5050505061196e611ae7565b6001600160a01b0316635a2bf25a61199a702634b8bab4b230ba34b7b721b0b63632b960791b86611b12565b836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b1580156119ea57600080fd5b505af11580156119fe573d6000803e3d6000fd5b50505050505050565b60006104eb6e466c657869626c6553746f7261676560881b611b88565b600082611a335750600061047f565b82820282848281611a4057fe5b04146113e25760405162461bcd60e51b8152600401808060200182810382526021815260200180611d546021913960400191505060405180910390fd5b6000808211611ad3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611ade57fe5b04949350505050565b60006104eb7f457465726e616c53746f726167654c69717569646174696f6e73000000000000611b88565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b600080611b6b8461140787600a870263ffffffff611a2416565b90506005600a820610611b7c57600a015b600a9004949350505050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161169b5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611c2a578181015183820152602001611c12565b50505050905090810190601f168015611c575780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60408051808201909152600080825260208201529056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4c69717569646174696f6e733a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6ea265627a7a7231582091ccbcef6ed32a2824522421cfccd9dad44f4e64c7433e412e0d916dfe56fb0e64736f6c63430005100032",
			"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": "0xe1868b81157ad6de8831471eba073ab845dc907f8ce165649697c808b4ba721d",
				"urls": [
					"bzz-raw://b8ab758f2039b6bc2c031880aecdcc75afa30f422523702fa9d118a5fb5547ea",
					"dweb:/ipfs/Qmbt1kP3nAmppbQsFX2bxJ6NAoiKiX4Y7VbPD68DkzwtaY"
				]
			},
			"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": "0xe1868b81157ad6de8831471eba073ab845dc907f8ce165649697c808b4ba721d",
						"urls": [
							"bzz-raw://b8ab758f2039b6bc2c031880aecdcc75afa30f422523702fa9d118a5fb5547ea",
							"dweb:/ipfs/Qmbt1kP3nAmppbQsFX2bxJ6NAoiKiX4Y7VbPD68DkzwtaY"
						]
					}
				},
				"version": 1
			}
		},
		"BinaryOptionMarketFactory": {
			"bytecode": "608060405234801561001057600080fd5b5060405161584a38038061584a8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050615726806101246000396000f3fe60806040523480156200001157600080fd5b5060043610620000a05760003560e01c806353a47bb7116200006f57806353a47bb7146200016857806374185360146200017257806379ba5097146200017c578063899ffef414620001865780638da5cb5b14620001e257620000a0565b806304f3bcec14620000a5578063130efa5014620000cb5780631627540c146200011f5780632af64bd3146200014a575b600080fd5b620000af620001ec565b604080516001600160a01b039092168252519081900360200190f35b620000af60048036036101c0811015620000e457600080fd5b506001600160a01b0381351690602081019060608101359060808101359060a081013515159060c081019061012081019061016001620001fb565b62000148600480360360208110156200013757600080fd5b50356001600160a01b03166200036e565b005b62000154620003cc565b604080519115158252519081900360200190f35b620000af620004e2565b62000148620004f1565b62000148620006c4565b6200019062000782565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015620001ce578181015183820152602001620001b4565b505050509050019250505060405180910390f35b620000af620007de565b6002546001600160a01b031681565b60008062000208620007ed565b90506001600160a01b038116331462000268576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c79207065726d697474656420627920746865206d616e616765722e0000604482015290519081900360640190fd5b808a600260009054906101000a90046001600160a01b03168b8b8b8b8b8b8b604051620002959062000950565b6001600160a01b03808c1682528a8116602083015289166040808301919091526060820190899080828437600083820152601f01601f191690910188815260208101889052861515604082015260609081019150859080828437600083820152601f01601f1916909101905083604080828437600083820152601f01601f19169091019050826060808284376000838201819052604051601f909201601f19169093018190039d509b50909950505050505050505050f0801580156200035f573d6000803e3d6000fd5b509a9950505050505050505050565b620003786200081b565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060620003da62000782565b905060005b8151811015620004d8576000828281518110620003f857fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156200046157600080fd5b505afa15801562000476573d6000803e3d6000fd5b505050506040513d60208110156200048d57600080fd5b50516001600160a01b0316141580620004bb57506000818152600360205260409020546001600160a01b0316155b15620004ce5760009350505050620004df565b50600101620003df565b5060019150505b90565b6001546001600160a01b031681565b6060620004fd62000782565b905060005b8151811015620006c05760008282815181106200051b57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015620005d3578181015183820152602001620005b9565b50505050905090810190601f168015620006015780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156200062057600080fd5b505afa15801562000635573d6000803e3d6000fd5b505050506040513d60208110156200064c57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010162000502565b5050565b6001546001600160a01b031633146200070f5760405162461bcd60e51b81526004018080602001828103825260358152602001806200568e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600180825281830190925260609160208083019080388339019050509050782134b730b93ca7b83a34b7b726b0b935b2ba26b0b730b3b2b960391b81600081518110620007cf57fe5b60200260200101818152505090565b6000546001600160a01b031681565b600062000816782134b730b93ca7b83a34b7b726b0b935b2ba26b0b730b3b2b960391b62000868565b905090565b6000546001600160a01b03163314620008665760405162461bcd60e51b815260040180806020018281038252602f815260200180620056c3602f913960400191505060405180910390fd5b565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081620009495760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156200090d578181015183820152602001620008f3565b50505050905090810190601f1680156200093b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b614d2f806200095f8339019056fe60806040523480156200001157600080fd5b5060405162004d2f38038062004d2f83398181016040526102008110156200003857600080fd5b5080516020820151604083015160a084015160c085015160e08601519495939492936060810193906101008101906101608101906101a001878a6001600160a01b038116620000ce576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b03199081166001600160a01b0393841617909155601480546040805180820182528c518082526020808f01519281018390526011919091556012919091558151606080820184528d82528183018d90526000918401829052600b8e9055600c8d9055600d919091558251908101835289518082528a8301518284018190528b85015192909401829052600855600992909255600a919091559216928c169290921760ff60a81b1916600160a81b8715150217909155825190830151620001f982826200047b565b8a6001600160a01b031660008051602062004d0f833981519152600084604051808360018111156200022757fe5b60ff1681526020018281526020019250505060405180910390a28a6001600160a01b031660008051602062004d0f833981519152600183604051808360018111156200026f57fe5b60ff1681526020018281526020019250505060405180910390a26000620002a582846200058260201b620021f71790919060201c565b6013819055845160208087015160408051606081018252848152808401839052818a01519101819052600e849055600f8290556010559293509091906200038490620002fe908490849062000582811b620021f717901c565b73__$60f5066a95a61bfd95691e5518aae05f18$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200034357600080fd5b505af415801562000358573d6000803e3d6000fd5b505050506040513d60208110156200036f57600080fd5b505190620005e6602090811b62002bb317901c565b6015556200039d8585856001600160e01b036200064416565b8d85604051620003ad9062000976565b6001600160a01b0390921682526020820152604080519182900301906000f080158015620003df573d6000803e3d6000fd5b50600480546001600160a01b0319166001600160a01b03929092169190911790556040518e908590620004129062000976565b6001600160a01b0390921682526020820152604080519182900301906000f08015801562000444573d6000803e3d6000fd5b50600580546001600160a01b0319166001600160a01b039290921691909117905550620009849d5050505050505050505050505050565b60006200049782846200058260201b620021f71790919060201c565b9050806011600001541115620004f4576040805162461bcd60e51b815260206004820152601460248201527f496e73756666696369656e74206361706974616c000000000000000000000000604482015290519081900360640190fd5b6012546200050f8483620006be602090811b6200300417901c565b8111158015620005385750620005348284620006be60201b620030041790919060201c565b8111155b6200057c576040805162461bcd60e51b815260206004820152600f60248201526e109a591cc81d1bdbc81cdad95dd959608a1b604482015290519081900360640190fd5b50505050565b600082820183811015620005dd576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000828211156200063e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000806200065d8585856001600160e01b03620006f916565b604080518082018252838152602090810183905260068490556007839055815184815290810183905281519395509193507f6546f60f34df611fa42503098acc39d5ab88bc73febe64b3cc14e5a92e3a66a792918290030190a15050505050565b6000620005dd82620006e585670de0b6b3a7640000620007b6602090811b6200305417901c565b6200081460201b620030ad1790919060201c565b60008084158015906200070b57508315155b6200075d576040805162461bcd60e51b815260206004820152601460248201527f42696473206d757374206265206e6f6e7a65726f000000000000000000000000604482015290519081900360640190fd5b600062000773846001600160e01b036200088016565b90506200078f8187620008bb60201b62002e271790919060201c565b620007a98287620008bb60201b62002e271790919060201c565b9250925050935093915050565b600082620007c757506000620005e0565b82820282848281620007d557fe5b0414620005dd5760405162461bcd60e51b815260040180806020018281038252602181526020018062004cee6021913960400191505060405180910390fd5b60008082116200086b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816200087757fe5b04949350505050565b601454600090600160a01b900460ff16620008b757620008b160155483620008db60201b620021db1790919060201c565b620005e0565b5090565b6000620005dd8383670de0b6b3a76400006001600160e01b03620008fb16565b6000620005dd8383670de0b6b3a76400006001600160e01b036200093f16565b6000806200092084620006e585600a0288620007b660201b620030541790919060201c565b90506005600a825b06106200093357600a015b600a9004949350505050565b600080600a8304620009608587620007b660201b620030541790919060201c565b816200096857fe5b0490506005600a8262000928565b61114b8062003ba383390190565b61320f80620009946000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c8063851492581161013b578063be5af9fe116100b8578063d3419bf31161007c578063d3419bf31461055c578063dbea363814610564578063e4cfbdbd1461058a578063eef49ee3146105c2578063fd087ee5146105ca57610248565b8063be5af9fe14610516578063c588f5261461051e578063c7a5bdc814610526578063c8db233e1461052e578063d068cdc51461055457610248565b80639af1d35a116100ff5780639af1d35a146104c05780639e3b34bf146104c8578063ac3791e3146104d0578063b1c9fe6e146104d8578063b634bfbc146104f057610248565b8063851492581461042a578063899ffef4146104325780638b0341361461048a5780638da5cb5b1461049257806398508ecd1461049a57610248565b80633dae89eb116101c957806353a47bb71161018d57806353a47bb7146103c05780636392a51f146103c857806365372147146103ee578063741853601461041a57806379ba50971461042257610248565b80633dae89eb1461035c5780633f6fa65514610364578063408e82af1461036c5780634c33fe9414610392578063532f1179146103b857610248565b806327745bae1161021057806327745bae146102e95780632810e1d6146102f157806329e77b5d146102f95780632af64bd3146103385780633d7a783b1461035457610248565b806302d05d3f1461024d57806304f3bcec146102715780631069143a146102795780631627540c146102a75780632115e303146102cf575b600080fd5b6102556105f8565b604080516001600160a01b039092168252519081900360200190f35b610255610607565b610281610616565b604080516001600160a01b03938416815291909216602082015281519081900390910190f35b6102cd600480360360208110156102bd57600080fd5b50356001600160a01b031661062c565b005b6102d7610688565b60408051918252519081900360200190f35b6102cd61069b565b6102cd6106fd565b61031f6004803603602081101561030f57600080fd5b50356001600160a01b0316610ad1565b6040805192835260208301919091528051918290030190f35b610340610ae6565b604080519115158252519081900360200190f35b61031f610bf0565b61031f610cdb565b610340610cee565b61031f6004803603602081101561038257600080fd5b50356001600160a01b0316610cfe565b6102cd600480360360208110156103a857600080fd5b50356001600160a01b0316610d0a565b610340610df4565b610255610e04565b61031f600480360360208110156103de57600080fd5b50356001600160a01b0316610e13565b6103f6610e1f565b6040518082600181111561040657fe5b60ff16815260200191505060405180910390f35b6102cd610e29565b6102cd610ff1565b6102d76110ad565b61043a61139e565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561047657818101518382015260200161045e565b505050509050019250505060405180910390f35b61031f611461565b61025561146c565b6104a261147b565b60408051938452602084019290925282820152519081900360600190f35b6104a2611487565b6104a2611493565b61034061149f565b6104e06114e2565b6040518082600381111561040657fe5b6102d76004803603604081101561050657600080fd5b5060ff8135169060200135611526565b61031f61186d565b61031f611876565b61031f611945565b6102cd6004803603602081101561054457600080fd5b50356001600160a01b0316611950565b61031f6119bd565b61031f611a72565b6102cd6004803603604081101561057a57600080fd5b5060ff8135169060200135611a7b565b6102d7600480360360808110156105a057600080fd5b5060ff8135811691602081013590911690604081013590606001351515611c64565b6102d7611e65565b61031f600480360360608110156105e057600080fd5b5060ff81351690602081013590604001351515611e6b565b6014546001600160a01b031681565b6002546001600160a01b031681565b6004546005546001600160a01b03918216911682565b610634611f5c565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610695601354611fa5565b90505b90565b6106a3611fdc565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156106db57600080fd5b505afa1580156106ef573d6000803e3d6000fd5b505050506106fb611ff6565b565b610705611f5c565b61070d61209e565b61074f576040805162461bcd60e51b815260206004820152600e60248201526d4e6f7420796574206d617475726560901b604482015290519081900360640190fd5b610757611fdc565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561078f57600080fd5b505afa1580156107a3573d6000803e3d6000fd5b505050506107af611ff6565b601454600160a01b900460ff161561080e576040805162461bcd60e51b815260206004820152601760248201527f4d61726b657420616c7265616479207265736f6c766564000000000000000000604482015290519081900360640190fd5b6000806108196120a6565b9150915061082681612134565b610868576040805162461bcd60e51b815260206004820152600e60248201526d5072696365206973207374616c6560901b604482015290519081900360640190fd5b600d8290556014805460ff60a01b1916600160a01b179055600061088a6121c4565b601354600e54919250906000906108a890839063ffffffff6121db16565b600f549091506000906108c290849063ffffffff6121db16565b90506108dc6108d7828463ffffffff6121f716565b612251565b50836001600160a01b031663a9059cbb6108f46122d8565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561092c57600080fd5b505afa158015610940573d6000803e3d6000fd5b505050506040513d602081101561095657600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018690525160448083019260209291908290030181600087803b1580156109a657600080fd5b505af11580156109ba573d6000803e3d6000fd5b505050506040513d60208110156109d057600080fd5b50506014546040805163a9059cbb60e01b81526001600160a01b0392831660048201526024810184905290519186169163a9059cbb916044808201926020929091908290030181600087803b158015610a2857600080fd5b505af1158015610a3c573d6000803e3d6000fd5b505050506040513d6020811015610a5257600080fd5b507f5528b7e06f48a519cf814c4e5293ee2737c3f5c28d93e30cca112ac649fdd2359050610a7e6122ed565b8787601354868660405180876001811115610a9557fe5b60ff1681526020810196909652506040808601949094526060850192909252608084015260a0830152519081900360c0019150a1505050505050565b600080610add83612332565b91509150915091565b60006060610af261139e565b905060005b8151811015610be7576000828281518110610b0e57fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610b7657600080fd5b505afa158015610b8a573d6000803e3d6000fd5b505050506040513d6020811015610ba057600080fd5b50516001600160a01b0316141580610bcd57506000818152600360205260409020546001600160a01b0316155b15610bde5760009350505050610698565b50600101610af7565b50600191505090565b6004805460408051636b7f817160e11b8152905160009384936001600160a01b03169263d6ff02e29281830192602092829003018186803b158015610c3457600080fd5b505afa158015610c48573d6000803e3d6000fd5b505050506040513d6020811015610c5e57600080fd5b505160055460408051636b7f817160e11b815290516001600160a01b039092169163d6ff02e291600481810192602092909190829003018186803b158015610ca557600080fd5b505afa158015610cb9573d6000803e3d6000fd5b505050506040513d6020811015610ccf57600080fd5b505190925090505b9091565b600080610ce6612433565b915091509091565b601454600160a01b900460ff1681565b600080610add836126fd565b610d12611f5c565b610d1a6127c8565b15610d5f576040805162461bcd60e51b815260206004820152601060248201526f42696464696e6720696e61637469766560801b604482015290519081900360640190fd5b600080610d6a6127d0565b60145491935091506000908190610d89906001600160a01b0316612332565b9150915060008285148015610d9d57508184145b905080610de3576040805162461bcd60e51b815260206004820152600f60248201526e4e6f742063616e63656c6c61626c6560881b604482015290519081900360640190fd5b610dec86612885565b505050505050565b601454600160a81b900460ff1681565b6001546001600160a01b031681565b600080610add83612a8c565b60006106956122ed565b6060610e3361139e565b905060005b8151811015610fed576000828281518110610e4f57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610f05578181015183820152602001610eed565b50505050905090810190601f168015610f325780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610f5057600080fd5b505afa158015610f64573d6000803e3d6000fd5b505050506040513d6020811015610f7a57600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610e38565b5050565b6001546001600160a01b0316331461103a5760405162461bcd60e51b815260040180806020018281038252603581526020018061311a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b601454600090600160a01b900460ff16611139576110c9612b57565b6001600160a01b0316637859f410306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561112057600080fd5b505af1158015611134573d6000803e3d6000fd5b505050505b600080611145336126fd565b9150915081600014158061115857508015155b1561116857611165612433565b50505b60008061117433612a8c565b9150915081600014158061118757508015155b6111ce576040805162461bcd60e51b81526020600482015260136024820152724e6f7468696e6720746f20657865726369736560681b604482015290519081900360640190fd5b811561123a576004805460408051630d8acc1560e11b81523393810193909352516001600160a01b0390911691631b15982a91602480830192600092919082900301818387803b15801561122157600080fd5b505af1158015611235573d6000803e3d6000fd5b505050505b80156112a55760055460408051630d8acc1560e11b815233600482015290516001600160a01b0390921691631b15982a9160248082019260009290919082900301818387803b15801561128c57600080fd5b505af11580156112a0573d6000803e3d6000fd5b505050505b60006112b96112b26122ed565b8484612b66565b60408051828152905191925033917fd82b6f69d7477fb41cd83d936de94990cee2fa1a309feeee90101fc0513b6a439181900360200190a280156113955761130081612251565b506113096121c4565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561136857600080fd5b505af115801561137c573d6000803e3d6000fd5b505050506040513d602081101561139257600080fd5b50505b94505050505090565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106113de57fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061140857fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160028151811061142e57fe5b60200260200101818152505066119959541bdbdb60ca1b8160038151811061145257fe5b60200260200101818152505090565b600080610ce66127d0565b6000546001600160a01b031681565b600b54600c54600d5483565b600e54600f5460105483565b600854600954600a5483565b6000806114aa6120a6565b601454909250600160a01b900460ff1615905080156114cc57506114cc61209e565b80156114dc57506114dc81612134565b91505090565b60006114ec6127c8565b6114f857506000610698565b61150061209e565b61150c57506001610698565b611514612b89565b61152057506002610698565b50600390565b60006115306127c8565b15611575576040805162461bcd60e51b815260206004820152601060248201526f42696464696e6720696e61637469766560801b604482015290519081900360640190fd5b601454600160a81b900460ff166115c6576040805162461bcd60e51b815260206004820152601060248201526f1499599d5b991cc8191a5cd8589b195960821b604482015290519081900360640190fd5b816115d357506000611867565b6014546001600160a01b0316331415611629576000806115f233612332565b9092509050600185600181111561160557fe5b141561160d57905b611626611620838663ffffffff612bb316565b82612c10565b50505b6116be6116b1600e6002015473__$60f5066a95a61bfd95691e5518aae05f18$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561167957600080fd5b505af415801561168d573d6000803e3d6000fd5b505050506040513d60208110156116a357600080fd5b50519063ffffffff612bb316565b839063ffffffff6121db16565b90506116c983612cef565b6001600160a01b031663410085df33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561172857600080fd5b505af115801561173c573d6000803e3d6000fd5b503392507f9bd0a8ca6625e01a9cee5e86eec7813a8234b41f1ca0c9f15a008d1e1d00ee5f915085905083611777868263ffffffff612bb316565b6040518084600181111561178757fe5b60ff168152602001838152602001828152602001935050505060405180910390a260006117b382612251565b90506117bd6121c4565b6001600160a01b031663a9059cbb33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561181c57600080fd5b505af1158015611830573d6000803e3d6000fd5b505050506040513d602081101561184657600080fd5b5060009050806118546127d0565b91509150611863828285612d27565b5050505b92915050565b60115460125482565b6014546000908190600160a01b900460ff1615806118ab5750336118a061189b6122ed565b612cef565b6001600160a01b0316145b156118be576118bb601354611fa5565b90505b6004546001600160a01b03163314156118db576006549150610cd7565b6005546001600160a01b03163314156118f8576007549150610cd7565b6040805162461bcd60e51b815260206004820152601760248201527f53656e646572206973206e6f7420616e206f7074696f6e000000000000000000604482015290519081900360640190fd5b600080610ce66120a6565b611958611f5c565b611960612b89565b6119b1576040805162461bcd60e51b815260206004820152601b60248201527f556e65787069726564206f7074696f6e732072656d61696e696e670000000000604482015290519081900360640190fd5b6119ba81612885565b50565b60048054604080516318160ddd60e01b8152905160009384936001600160a01b0316926318160ddd9281830192602092829003018186803b158015611a0157600080fd5b505afa158015611a15573d6000803e3d6000fd5b505050506040513d6020811015611a2b57600080fd5b5051600554604080516318160ddd60e01b815290516001600160a01b03909216916318160ddd91600481810192602092909190829003018186803b158015610ca557600080fd5b60065460075482565b611a836127c8565b15611ac8576040805162461bcd60e51b815260206004820152601060248201526f42696464696e6720696e61637469766560801b604482015290519081900360640190fd5b80611ad257610fed565b611adb82612cef565b6001600160a01b03166359d667a533836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611b3a57600080fd5b505af1158015611b4e573d6000803e3d6000fd5b50505050336001600160a01b03167f70bd4a33bf447720d717d08f3affb5aecfe4d2ebb8e3dd94539f5313e2447643838360405180836001811115611b8f57fe5b60ff1681526020018281526020019250505060405180910390a26000611bb482612d96565b9050611bbe6121c4565b604080516323b872dd60e01b81523360048201523060248201526044810185905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b158015611c1657600080fd5b505af1158015611c2a573d6000803e3d6000fd5b505050506040513d6020811015611c4057600080fd5b506000905080611c4e6127d0565b91509150611c5d828285612d27565b5050505050565b600080611c7c601554856121db90919063ffffffff16565b90506000611c8986612cef565b6001600160a01b0316638b0341366040518163ffffffff1660e01b815260040160206040518083038186803b158015611cc157600080fd5b505afa158015611cd5573d6000803e3d6000fd5b505050506040513d6020811015611ceb57600080fd5b505160135460408051630241ebdb60e61b81529051929350909160009173__$60f5066a95a61bfd95691e5518aae05f18$__9163907af6c091600480820192602092909190829003018186803b158015611d4457600080fd5b505af4158015611d58573d6000803e3d6000fd5b505050506040513d6020811015611d6e57600080fd5b5051601054909150600090611d8a90839063ffffffff612bb316565b9050886001811115611d9857fe5b8a6001811115611da457fe5b1415611e0e576000611dbc848763ffffffff6121db16565b90508715611dd85793611dd5868363ffffffff6121db16565b95505b611e01611deb848863ffffffff612bb316565b611df58388612e00565b9063ffffffff612e2716565b9650505050505050611e5d565b6000611e20858763ffffffff612e2716565b90508715611e2a57925b6000611e368286612e00565b905088611e435780611e53565b611e53818463ffffffff612e2716565b9750505050505050505b949350505050565b60135481565b600080600080611e796127d0565b9150915061311785611e8d576121f7611e91565b612bb35b90506000886001811115611ea157fe5b1415611ebc57611eb583888363ffffffff16565b9250611ecd565b611eca82888363ffffffff16565b91505b8515611f3357611f30611f23600e6002015473__$60f5066a95a61bfd95691e5518aae05f18$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561167957600080fd5b889063ffffffff6121db16565b96505b611f4d8383611f486013548b8663ffffffff16565b612e3c565b94509450505050935093915050565b6000546001600160a01b031633146106fb5760405162461bcd60e51b815260040180806020018281038252602f81526020018061314f602f913960400191505060405180910390fd5b601454600090600160a01b900460ff16611fd257601554611fcd90839063ffffffff6121db16565b611fd4565b815b90505b919050565b60006106956b53797374656d53746174757360a01b612ecf565b611ffe612b57565b6001600160a01b0316635c975abb6040518163ffffffff1660e01b815260040160206040518083038186803b15801561203657600080fd5b505afa15801561204a573d6000803e3d6000fd5b505050506040513d602081101561206057600080fd5b5051156106fb5760405162461bcd60e51b815260040180806020018281038252603c81526020018061319f603c913960400191505060405180910390fd5b600954421190565b6000806120b1612fac565b6001600160a01b0316634308a94f600b600001546040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156120f857600080fd5b505afa15801561210c573d6000803e3d6000fd5b505050506040513d604081101561212257600080fd5b50805160209091015190925090509091565b60008061213f612b57565b6001600160a01b0316634a41d89d6040518163ffffffff1660e01b815260040160606040518083038186803b15801561217757600080fd5b505afa15801561218b573d6000803e3d6000fd5b505050506040513d60608110156121a157600080fd5b505160095490915083906121bb908363ffffffff612bb316565b11159392505050565b600061069568141e5b9d1a1c1554d160ba1b612ecf565b60006121f08383670de0b6b3a7640000612fc7565b9392505050565b6000828201838110156121f0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b601354600090612267908363ffffffff612bb316565b60138190559050612276612b57565b6001600160a01b0316636b3a0984836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156122bb57600080fd5b505af11580156122cf573d6000803e3d6000fd5b50505050919050565b600061069566119959541bdbdb60ca1b612ecf565b6014546000908190600160a01b900460ff161561230d5750600d54612319565b6123156120a6565b5090505b600c5481101561232a5760016114dc565b600091505090565b60048054604080516308dc30b760e41b81526001600160a01b0385811694820194909452905160009384931691638dc30b70916024808301926020929190829003018186803b15801561238457600080fd5b505afa158015612398573d6000803e3d6000fd5b505050506040513d60208110156123ae57600080fd5b5051600554604080516308dc30b760e41b81526001600160a01b03878116600483015291519190921691638dc30b70916024808301926020929190829003018186803b1580156123fd57600080fd5b505afa158015612411573d6000803e3d6000fd5b505050506040513d602081101561242757600080fd5b50519092509050915091565b60008061243e611fdc565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561247657600080fd5b505afa15801561248a573d6000803e3d6000fd5b50505050612496611ff6565b61249e6127c8565b6124e4576040805162461bcd60e51b815260206004820152601260248201527142696464696e6720696e636f6d706c65746560701b604482015290519081900360640190fd5b60006124f1601354611fa5565b905060006124fd6122ed565b601454909150600160a01b900460ff166000808215806125285750600084600181111561252657fe5b145b156125bc576004805460065460408051632bc43fd960e01b81523394810194909452602484019190915260448301889052516001600160a01b0390911691632bc43fd99160648083019260209291908290030181600087803b15801561258d57600080fd5b505af11580156125a1573d6000803e3d6000fd5b505050506040513d60208110156125b757600080fd5b505191505b8215806125d4575060018460018111156125d257fe5b145b156126665760055460075460408051632bc43fd960e01b8152336004820152602481019290925260448201889052516001600160a01b0390921691632bc43fd9916064808201926020929091908290030181600087803b15801561263757600080fd5b505af115801561264b573d6000803e3d6000fd5b505050506040513d602081101561266157600080fd5b505190505b8115158061267357508015155b6126b7576040805162461bcd60e51b815260206004820152601060248201526f4e6f7468696e6720746f20636c61696d60801b604482015290519081900360640190fd5b6040805183815260208101839052815133927fbbe753caa9bb201dbd1740ee3d61c6d2adf5fa89f30233d732281ae5db6a03d4928290030190a290955093505050509091565b600480546040805163270fb89160e21b81526001600160a01b0385811694820194909452905160009384931691639c3ee244916024808301926020929190829003018186803b15801561274f57600080fd5b505afa158015612763573d6000803e3d6000fd5b505050506040513d602081101561277957600080fd5b50516005546040805163270fb89160e21b81526001600160a01b03878116600483015291519190921691639c3ee244916024808301926020929190829003018186803b1580156123fd57600080fd5b600854421190565b6004805460408051634581a09b60e11b8152905160009384936001600160a01b031692638b0341369281830192602092829003018186803b15801561281457600080fd5b505afa158015612828573d6000803e3d6000fd5b505050506040513d602081101561283e57600080fd5b505160055460408051634581a09b60e11b815290516001600160a01b0390921691638b03413691600481810192602092909190829003018186803b158015610ca557600080fd5b60135480156128995761289781612251565b505b60006128a36121c4565b604080516370a0823160e01b815230600482015290519192506000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156128ef57600080fd5b505afa158015612903573d6000803e3d6000fd5b505050506040513d602081101561291957600080fd5b5051905080156129b057816001600160a01b031663a9059cbb85836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561298357600080fd5b505af1158015612997573d6000803e3d6000fd5b505050506040513d60208110156129ad57600080fd5b50505b600480546040805163646d919f60e11b81526001600160a01b03888116948201949094529051929091169163c8db233e9160248082019260009290919082900301818387803b158015612a0257600080fd5b505af1158015612a16573d6000803e3d6000fd5b50506005546040805163646d919f60e11b81526001600160a01b038981166004830152915191909216935063c8db233e9250602480830192600092919082900301818387803b158015612a6857600080fd5b505af1158015612a7c573d6000803e3d6000fd5b50505050836001600160a01b0316ff5b60048054604080516370a0823160e01b81526001600160a01b03858116948201949094529051600093849316916370a08231916024808301926020929190829003018186803b158015612ade57600080fd5b505afa158015612af2573d6000803e3d6000fd5b505050506040513d6020811015612b0857600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156123fd57600080fd5b6000546001600160a01b031690565b600080846001811115612b7557fe5b1415612b825750816121f0565b5092915050565b601454600090600160a01b900460ff1680156106955750600a544211806106955750506013541590565b600082821115612c0a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000612c22838363ffffffff6121f716565b9050806011600001541115612c75576040805162461bcd60e51b8152602060048201526014602482015273125b9cdd59999a58da595b9d0818d85c1a5d185b60621b604482015290519081900360640190fd5b601254612c88848363ffffffff61300416565b8111158015612ca65750612ca2838363ffffffff61300416565b8111155b612ce9576040805162461bcd60e51b815260206004820152600f60248201526e109a591cc81d1bdbc81cdad95dd959608a1b604482015290519081900360640190fd5b50505050565b600080826001811115612cfe57fe5b1415612d1657506004546001600160a01b0316611fd7565b50506005546001600160a01b031690565b600080612d35858585612e3c565b604080518082018252838152602090810183905260068490556007839055815184815290810183905281519395509193507f6546f60f34df611fa42503098acc39d5ab88bc73febe64b3cc14e5a92e3a66a792918290030190a15050505050565b601354600090612dac908363ffffffff6121f716565b60138190559050612dbb612b57565b6001600160a01b031663aeab5849836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156122bb57600080fd5b6000818310612e1e57612e19838363ffffffff612bb316565b6121f0565b50600092915050565b60006121f08383670de0b6b3a764000061302e565b6000808415801590612e4d57508315155b612e95576040805162461bcd60e51b815260206004820152601460248201527342696473206d757374206265206e6f6e7a65726f60601b604482015290519081900360640190fd5b6000612ea084611fa5565b9050612eb2868263ffffffff612e2716565b612ec2868363ffffffff612e2716565b9250925050935093915050565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612b825760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612f71578181015183820152602001612f59565b50505050905090810190601f168015612f9e5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006106956c45786368616e6765526174657360981b612ecf565b600080600a8304612fde868663ffffffff61305416565b81612fe557fe5b0490506005600a825b0610612ff857600a015b600a9004949350505050565b60006121f08261302285670de0b6b3a764000063ffffffff61305416565b9063ffffffff6130ad16565b6000806130488461302287600a870263ffffffff61305416565b90506005600a82612fee565b60008261306357506000611867565b8282028284828161307057fe5b04146121f05760405162461bcd60e51b815260040180806020018281038252602181526020018061317e6021913960400191505060405180910390fd5b6000808211613103576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161310e57fe5b04949350505050565bfefe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564a265627a7a72315820715d06051f2b9862d63ba1b651ea8dfa8b8d99b643a5584d2edc846527ed2dfa64736f6c63430005110032608060405234801561001057600080fd5b5060405161114b38038061114b8339818101604052604081101561003357600080fd5b508051602091820151600080546001600160a01b031916331781556001600160a01b0390921682526001909252604090208190556002556110d2806100796000396000f3fe608060405234801561001057600080fd5b50600436106101215760003560e01c806370a08231116100ad5780639c3ee244116100715780639c3ee24414610383578063a9059cbb146103a9578063c8db233e146103d5578063d6ff02e2146103fb578063dd62ed3e1461040357610121565b806370a082311461030357806380f55605146103295780638b0341361461034d5780638dc30b701461035557806395d89b411461037b57610121565b806323b872dd116100f457806323b872dd146102255780632bc43fd91461025b578063313ce5671461028d578063410085df146102ab57806359d667a5146102d757610121565b806306fdde0314610126578063095ea7b3146101a357806318160ddd146101e35780631b15982a146101fd575b600080fd5b61012e610431565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610168578181015183820152602001610150565b50505050905090810190601f1680156101955780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101cf600480360360408110156101b957600080fd5b506001600160a01b03813516906020013561045f565b604080519115158252519081900360200190f35b6101eb6104dc565b60408051918252519081900360200190f35b6102236004803603602081101561021357600080fd5b50356001600160a01b03166104e2565b005b6101cf6004803603606081101561023b57600080fd5b506001600160a01b0381358116916020810135909116906040013561060f565b6101eb6004803603606081101561027157600080fd5b506001600160a01b0381351690602081013590604001356106cb565b610295610862565b6040805160ff9092168252519081900360200190f35b610223600480360360408110156102c157600080fd5b506001600160a01b038135169060200135610867565b610223600480360360408110156102ed57600080fd5b506001600160a01b038135169060200135610921565b6101eb6004803603602081101561031957600080fd5b50356001600160a01b03166109cf565b6103316109e1565b604080516001600160a01b039092168252519081900360200190f35b6101eb6109f0565b6101eb6004803603602081101561036b57600080fd5b50356001600160a01b03166109f6565b61012e610a08565b6101eb6004803603602081101561039957600080fd5b50356001600160a01b0316610a28565b6101cf600480360360408110156103bf57600080fd5b506001600160a01b038135169060200135610ad5565b610223600480360360208110156103eb57600080fd5b50356001600160a01b0316610ae2565b6101eb610b43565b6101eb6004803603604081101561041957600080fd5b506001600160a01b0381358116916020013516610bc4565b604051806040016040528060128152602001712822a924902134b730b93c9027b83a34b7b760711b81525081565b60006001600160a01b03831661047457600080fd5b3360008181526005602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60045481565b6000546001600160a01b03163314610537576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b6001600160a01b0381166000908152600360205260409020548061055b575061060c565b6001600160a01b038216600090815260036020526040812055600454610587908263ffffffff610be116565b6004556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a36040805182815290516001600160a01b038416917f696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7919081900360200190a2505b50565b6001600160a01b038316600090815260056020908152604080832033845290915281205480831115610681576040805162461bcd60e51b8152602060048201526016602482015275496e73756666696369656e7420616c6c6f77616e636560501b604482015290519081900360640190fd5b610691818463ffffffff610be116565b6001600160a01b03861660009081526005602090815260408083203384529091529020556106c0858585610c3e565b9150505b9392505050565b600080546001600160a01b03163314610721576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b6001600160a01b03841660009081526001602052604081205490610746828686610e15565b905080610758576000925050506106c4565b60025461076b908363ffffffff610be116565b6002556001600160a01b03861660009081526001602052604081205560045461079a908263ffffffff610eb116565b6004556001600160a01b0386166000908152600360205260409020546107c6908263ffffffff610eb116565b6001600160a01b03871660008181526003602090815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a36040805182815290516001600160a01b038816917fa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a919081900360200190a295945050505050565b601281565b6000546001600160a01b031633146108bc576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546108ee906108e9908363ffffffff610be116565b610f0b565b6001600160a01b03831660009081526001602052604090205560025461091a908263ffffffff610be116565b6002555050565b6000546001600160a01b03163314610976576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b6001600160a01b0382166000908152600160205260409020546109a3906108e9908363ffffffff610eb116565b6001600160a01b03831660009081526001602052604090205560025461091a908263ffffffff610eb116565b60036020526000908152604090205481565b6000546001600160a01b031681565b60025481565b60016020526000908152604090205481565b604051806040016040528060048152602001631cd3d41560e21b81525081565b60008054604080516362c47a9360e11b81528151849384936001600160a01b039091169263c588f5269260048083019392829003018186803b158015610a6d57600080fd5b505afa158015610a81573d6000803e3d6000fd5b505050506040513d6040811015610a9757600080fd5b5080516020918201516001600160a01b03871660009081526001909352604090922054909350909150610acb908383610e15565b925050505b919050565b60006106c4338484610c3e565b6000546001600160a01b03163314610b37576040805162461bcd60e51b815260206004820152601360248201527213db9b1e481b585c9ad95d08185b1b1bddd959606a1b604482015290519081900360640190fd5b806001600160a01b0316ff5b60008054604080516362c47a9360e11b8152815184936001600160a01b03169263c588f5269260048082019391829003018186803b158015610b8457600080fd5b505afa158015610b98573d6000803e3d6000fd5b505050506040513d6040811015610bae57600080fd5b50602001519050610bbe81610f68565b91505090565b600560209081526000928352604080842090915290825290205481565b600082821115610c38576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008060009054906101000a90046001600160a01b03166001600160a01b03166327745bae6040518163ffffffff1660e01b815260040160006040518083038186803b158015610c8d57600080fd5b505afa158015610ca1573d6000803e3d6000fd5b505050506001600160a01b03831615801590610cc657506001600160a01b0383163014155b610d09576040805162461bcd60e51b815260206004820152600f60248201526e496e76616c6964206164647265737360881b604482015290519081900360640190fd5b6001600160a01b03841660009081526003602052604090205480831115610d6e576040805162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742062616c616e636560601b604482015290519081900360640190fd5b610d7e818463ffffffff610be116565b6001600160a01b038087166000908152600360205260408082209390935590861681522054610db3908463ffffffff610eb116565b6001600160a01b0380861660008181526003602090815260409182902094909455805187815290519193928916927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3506001949350505050565b600080610e28858563ffffffff610f8f16565b90506000610e3584610f68565b905060025486148015610e4757508515155b80610e50575080155b15610e5e5791506106c49050565b80821115610ea8576040805162461bcd60e51b8152602060048201526012602482015271737570706c79203c20636c61696d61626c6560701b604482015290519081900360640190fd5b50949350505050565b6000828201838110156106c4576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000662386f26fc1000082101580610f21575081155b610f64576040805162461bcd60e51b815260206004820152600f60248201526e42616c616e6365203c2024302e303160881b604482015290519081900360640190fd5b5090565b600454600090808311610f7f576000915050610ad0565b6106c4838263ffffffff610be116565b60006106c482610fad85670de0b6b3a764000063ffffffff610fb916565b9063ffffffff61101216565b600082610fc8575060006104d6565b82820282848281610fd557fe5b04146106c45760405162461bcd60e51b815260040180806020018281038252602181526020018061107d6021913960400191505060405180910390fd5b6000808211611068576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161107357fe5b0494935050505056fe536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a723158205eba7f7e0f684957fba2a37adee47b61170161d77d8234034ade2fdcfb0677f364736f6c63430005110032536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7770bd4a33bf447720d717d08f3affb5aecfe4d2ebb8e3dd94539f5313e2447643596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820928e8f771f1d6c22ce60068bc34c789c07441adbbf25c38f3e4ac10d8961b43964736f6c63430005110032",
			"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": "0x0057a19ca97162380f6d21acfcb2e1d24137b8318288a395da13bf1599215ed5",
				"urls": [
					"bzz-raw://686b27ef04fb271a6dbe7829b94a4ff0321b669626f77201d301dd3e71a9d7bf",
					"dweb:/ipfs/QmPpeRSTMgxP7fANRrQP4y1AWbxgCemqyoGKuLL1TAm2z6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BinaryOptionMarketFactory.sol": "BinaryOptionMarketFactory"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BinaryOptionMarketFactory.sol": {
						"keccak256": "0x0057a19ca97162380f6d21acfcb2e1d24137b8318288a395da13bf1599215ed5",
						"urls": [
							"bzz-raw://686b27ef04fb271a6dbe7829b94a4ff0321b669626f77201d301dd3e71a9d7bf",
							"dweb:/ipfs/QmPpeRSTMgxP7fANRrQP4y1AWbxgCemqyoGKuLL1TAm2z6"
						]
					}
				},
				"version": 1
			}
		},
		"BinaryOptionMarketManager": {
			"bytecode": "6080604052600d805460ff191660011790553480156200001e57600080fd5b50604051620038d9380380620038d983398181016040526101408110156200004557600080fd5b508051602082015160408301516060840151608085015160a086015160c087015160e08801516101008901516101209099015197989697959694959394929391929091888a6001600160a01b038116620000e6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000191576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600380546001600160a01b0390921661010002610100600160a81b0319909216919091179055600080546001600160a01b03191633179055620001dd876001600160e01b036200029a16565b620001f1886001600160e01b03620002e816565b62000205866001600160e01b036200033616565b62000219856001600160e01b036200038416565b6200022d846001600160e01b03620003d216565b62000241836001600160e01b03620004d316565b62000255826001600160e01b036200063616565b62000269816001600160e01b036200079916565b5050600080546001600160a01b0319166001600160a01b03999099169890981790975550620008e795505050505050565b620002ad6001600160e01b036200089a16565b60098190556040805182815290517ff378a0fd4ad3ffd9d7d50986f16b04acd2dc42691c4f412f34e8eefe883e66529181900360200190a150565b620002fb6001600160e01b036200089a16565b60088190556040805182815290517f5a2f2eae84f9e787d8159d363a776fa2b61d084686190cdc5a2c1ea833480b099181900360200190a150565b620003496001600160e01b036200089a16565b600a8190556040805182815290517f6de18e808fc4e6cb9c8910cf4bdc188ddbbdab65faecff65dab871720e8484899181900360200190a150565b620003976001600160e01b036200089a16565b600b8190556040805182815290517fdf7a26ae2e2eb953b81fd76b72fcdc74ebff7c21faa8f8f55323183d9785f52d9181900360200190a150565b620003e56001600160e01b036200089a16565b73__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200042a57600080fd5b505af41580156200043f573d6000803e3d6000fd5b505050506040513d60208110156200045657600080fd5b5051811115620004985760405162461bcd60e51b815260040180806020018281038252602d81526020018062003834602d913960400191505060405180910390fd5b600c8190556040805182815290517fd39cfbe31b20dbb6d995a675cf5c369555bf8bb908b6efc03873907fe9e133cf9181900360200190a150565b620004e66001600160e01b036200089a16565b60006005600101548201905073__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200053757600080fd5b505af41580156200054c573d6000803e3d6000fd5b505050506040513d60208110156200056357600080fd5b50518110620005a45760405162461bcd60e51b8152600401808060200182810382526021815260200180620038616021913960400191505060405180910390fd5b80600010620005fa576040805162461bcd60e51b815260206004820152601a60248201527f546f74616c20666565206d757374206265206e6f6e7a65726f2e000000000000604482015290519081900360640190fd5b60058290556040805183815290517f7b30e8f8e3de254785fbcb3068449dc18060f1fdb37b02731ecada99a78492c39181900360200190a15050565b620006496001600160e01b036200089a16565b60006005600001548201905073__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200069a57600080fd5b505af4158015620006af573d6000803e3d6000fd5b505050506040513d6020811015620006c657600080fd5b50518110620007075760405162461bcd60e51b8152600401808060200182810382526021815260200180620038616021913960400191505060405180910390fd5b806000106200075d576040805162461bcd60e51b815260206004820152601a60248201527f546f74616c20666565206d757374206265206e6f6e7a65726f2e000000000000604482015290519081900360640190fd5b60068290556040805183815290517f8c14462add32e0ae0fbfcf9e60711ecae573da337dc9127fff98fb7cfb3973b49181900360200190a15050565b620007ac6001600160e01b036200089a16565b73__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620007f157600080fd5b505af415801562000806573d6000803e3d6000fd5b505050506040513d60208110156200081d57600080fd5b50518111156200085f5760405162461bcd60e51b8152600401808060200182810382526028815260200180620038b16028913960400191505060405180910390fd5b60078190556040805182815290517f01634ac4e9f09be1ef87b8d09e14926870261dcb9a0929d2d6460af6e4c5ad1e9181900360200190a150565b6000546001600160a01b03163314620008e55760405162461bcd60e51b815260040180806020018281038252602f81526020018062003882602f913960400191505060405180910390fd5b565b612f3d80620008f76000396000f3fe608060405234801561001057600080fd5b506004361061023d5760003560e01c80637859f4101161013b578063ac60c486116100b8578063c014fb841161007c578063c014fb84146106fc578063c095daf21461076a578063e73efc9b14610787578063fe40c470146107aa578063ff50abdc146107d05761023d565b8063ac60c48614610622578063adfd31af1461062a578063aeab5849146106a1578063bd6a10b8146106be578063be5af9fe146106db5761023d565b806391b4ded9116100ff57806391b4ded91461055257806394fcf3c31461055a5780639501dc871461058f5780639af1d35a146105ac5780639b11dc40146105b45761023d565b80637859f410146104a157806379ba5097146104c7578063899ffef4146104cf57806389c6318d146105275780638da5cb5b1461054a5761023d565b806336fd711e116101c957806364af2d871161018d57806364af2d871461043a57806364cf34bd146104425780636b3a09841461045f57806373b7de151461047c57806374185360146104995761023d565b806336fd711e146103c857806339ab4c41146103e55780634a41d89d1461040457806353a47bb71461042a5780635c975abb146104325761023d565b8063155028401161021057806315502840146103245780631627540c1461034157806316c38b3c146103675780631f3f10b0146103865780632af64bd3146103ac5761023d565b806302610c501461024257806303ff60181461025c57806304f3bcec146102e35780630dd16fd514610307575b600080fd5b61024a6107d8565b60408051918252519081900360200190f35b6102e16004803603606081101561027257600080fd5b6001600160a01b03823516916020810135151591810190606081016040820135600160201b8111156102a357600080fd5b8201836020820111156102b557600080fd5b803590602001918460208302840111600160201b831117156102d657600080fd5b5090925090506107df565b005b6102eb610ab1565b604080516001600160a01b039092168252519081900360200190f35b6102e16004803603602081101561031d57600080fd5b5035610ac5565b6102e16004803603602081101561033a57600080fd5b5035610c17565b6102e16004803603602081101561035757600080fd5b50356001600160a01b0316610c5a565b6102e16004803603602081101561037d57600080fd5b50351515610cb6565b6102e16004803603602081101561039c57600080fd5b50356001600160a01b0316610d30565b6103b4610d5a565b604080519115158252519081900360200190f35b6102e1600480360360208110156103de57600080fd5b5035610e6a565b6102e1600480360360208110156103fb57600080fd5b50351515610f5b565b61040c610fba565b60408051938452602084019290925282820152519081900360600190f35b6102eb610fc6565b6103b4610fd5565b6103b4610fde565b6102e16004803603602081101561045857600080fd5b5035610fe7565b6102e16004803603602081101561047557600080fd5b503561102a565b6102e16004803603602081101561049257600080fd5b5035611122565b6102e1611213565b6102e1600480360360208110156104b757600080fd5b50356001600160a01b03166113f0565b6102e16114c1565b6104d761157d565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105135781810151838201526020016104fb565b505050509050019250505060405180910390f35b6104d76004803603604081101561053d57600080fd5b5080359060200135611652565b6102eb61166f565b61024a61167e565b6102eb600480360360e081101561057057600080fd5b508035906020810135906040810135151590606081019060a001611684565b6102e1600480360360208110156105a557600080fd5b5035611c2a565b61040c611d7c565b6102e1600480360360208110156105ca57600080fd5b810190602081018135600160201b8111156105e457600080fd5b8201836020820111156105f657600080fd5b803590602001918460208302840111600160201b8311171561061757600080fd5b509092509050611d88565b61024a611fd0565b6102e16004803603604081101561064057600080fd5b813515159190810190604081016020820135600160201b81111561066357600080fd5b82018360208201111561067557600080fd5b803590602001918460208302840111600160201b8311171561069657600080fd5b509092509050611fd6565b6102e1600480360360208110156106b757600080fd5b5035612206565b6102e1600480360360208110156106d457600080fd5b5035612300565b6106e3612343565b6040805192835260208301919091528051918290030190f35b6102e16004803603602081101561071257600080fd5b810190602081018135600160201b81111561072c57600080fd5b82018360208201111561073e57600080fd5b803590602001918460208302840111600160201b8311171561075f57600080fd5b50909250905061234c565b6102e16004803603602081101561078057600080fd5b5035612482565b6104d76004803603604081101561079d57600080fd5b50803590602001356124c5565b6102e1600480360360208110156107c057600080fd5b50356001600160a01b03166124d9565b61024a6126ed565b600f545b90565b6107e76126f3565b80806107f35750610aab565b600084610801576011610804565b600f5b90506000805b8381101561098257600086868381811061082057fe5b905060200201356001600160a01b0316905061083b8161273e565b61087e576040805162461bcd60e51b815260206004820152600f60248201526e26b0b935b2ba103ab735b737bbb71760891b604482015290519081900360640190fd5b61088e848263ffffffff61277016565b610903816001600160a01b031663eef49ee36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ca57600080fd5b505afa1580156108de573d6000803e3d6000fd5b505050506040513d60208110156108f457600080fd5b5051849063ffffffff6128b116565b9250806001600160a01b0316631627540c8a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561095d57600080fd5b505af1158015610971573d6000803e3d6000fd5b50506001909301925061080a915050565b50600e54610996908263ffffffff61290b16565b600e55604080516001600160a01b038916815260208082018381529282018790527f3e429aa34462b428d3f7277acb67e1c83d80a57faab2a47924369b5060f35679928a92899289929060608301908590850280828437600083820152604051601f909101601f1916909201829003965090945050505050a16040805163adfd31af60e01b81528715156004820190815260248201928352604482018790526001600160a01b038a169263adfd31af928a928a928a92606401846020850280828437600081840152601f19601f820116905080830192505050945050505050600060405180830381600087803b158015610a8f57600080fd5b505af1158015610aa3573d6000803e3d6000fd5b505050505050505b50505050565b60035461010090046001600160a01b031681565b610acd6126f3565b60006005600001548201905073__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610b1d57600080fd5b505af4158015610b31573d6000803e3d6000fd5b505050506040513d6020811015610b4757600080fd5b50518110610b865760405162461bcd60e51b8152600401808060200182810382526021815260200180612ded6021913960400191505060405180910390fd5b80600010610bdb576040805162461bcd60e51b815260206004820152601a60248201527f546f74616c20666565206d757374206265206e6f6e7a65726f2e000000000000604482015290519081900360640190fd5b60068290556040805183815290517f8c14462add32e0ae0fbfcf9e60711ecae573da337dc9127fff98fb7cfb3973b49181900360200190a15050565b610c1f6126f3565b60098190556040805182815290517ff378a0fd4ad3ffd9d7d50986f16b04acd2dc42691c4f412f34e8eefe883e66529181900360200190a150565b610c626126f3565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610cbe6126f3565b60035460ff1615158115151415610cd457610d2d565b6003805460ff1916821515179081905560ff1615610cf157426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b610d386126f3565b601380546001600160a01b0319166001600160a01b0392909216919091179055565b60006060610d6661157d565b905060005b8151811015610e61576000828281518110610d8257fe5b602090810291909101810151600081815260048084526040918290205460035483516321f8a72160e01b815292830185905292519395506001600160a01b039081169461010090930416926321f8a72192602480840193919291829003018186803b158015610df057600080fd5b505afa158015610e04573d6000803e3d6000fd5b505050506040513d6020811015610e1a57600080fd5b50516001600160a01b0316141580610e4757506000818152600460205260409020546001600160a01b0316155b15610e5857600093505050506107dc565b50600101610d6b565b50600191505090565b610e726126f3565b73__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610eb657600080fd5b505af4158015610eca573d6000803e3d6000fd5b505050506040513d6020811015610ee057600080fd5b5051811115610f205760405162461bcd60e51b8152600401808060200182810382526028815260200180612ee16028913960400191505060405180910390fd5b60078190556040805182815290517f01634ac4e9f09be1ef87b8d09e14926870261dcb9a0929d2d6460af6e4c5ad1e9181900360200190a150565b610f636126f3565b600d5460ff16151581151514610d2d57600d805482151560ff19909116811790915560408051918252517fcc590b6309435383b617aaa0cae6aba938f2ee471cfb539201dd7655a23caff99181900360200190a150565b600854600954600a5483565b6001546001600160a01b031681565b60035460ff1681565b600d5460ff1681565b610fef6126f3565b600a8190556040805182815290517f6de18e808fc4e6cb9c8910cf4bdc188ddbbdab65faecff65dab871720e8484899181900360200190a150565b6110333361273e565b61106e5760405162461bcd60e51b8152600401808060200182810382526021815260200180612e306021913960400191505060405180910390fd5b60035460ff16156110b05760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b6110b8612968565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156110f057600080fd5b505afa158015611104573d6000803e3d6000fd5b5050600e5461111c925090508263ffffffff61290b16565b600e5550565b61112a6126f3565b73__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561116e57600080fd5b505af4158015611182573d6000803e3d6000fd5b505050506040513d602081101561119857600080fd5b50518111156111d85760405162461bcd60e51b815260040180806020018281038252602d815260200180612dc0602d913960400191505060405180910390fd5b600c8190556040805182815290517fd39cfbe31b20dbb6d995a675cf5c369555bf8bb908b6efc03873907fe9e133cf9181900360200190a150565b606061121d61157d565b905060005b81518110156113ec57600082828151811061123957fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156113045781810151838201526020016112ec565b50505050905090810190601f1680156113315780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561134f57600080fd5b505afa158015611363573d6000803e3d6000fd5b505050506040513d602081101561137957600080fd5b505160008381526004602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611222565b5050565b611401600f8263ffffffff61298716565b611449576040805162461bcd60e51b8152602060048201526014602482015273139bdd08185b881858dd1a5d99481b585c9ad95d60621b604482015290519081900360640190fd5b806001600160a01b0316632810e1d66040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561148457600080fd5b505af1158015611498573d6000803e3d6000fd5b505050506114b081600f61277090919063ffffffff16565b610d2d60118263ffffffff6129f516565b6001546001600160a01b0316331461150a5760405162461bcd60e51b8152600401808060200182810382526035815260200180612d8b6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b816000815181106115bd57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b816001815181106115e357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160028151811061160d57fe5b6020026020010181815250507842696e6172794f7074696f6e4d61726b6574466163746f727960381b8160038151811061164357fe5b60200260200101818152505090565b60606116666011848463ffffffff612a4716565b90505b92915050565b6000546001600160a01b031681565b60025481565b60035460009060ff16156116c95760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b6116d1612968565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561170957600080fd5b505afa15801561171d573d6000803e3d6000fd5b5050600d5460ff16915061177a9050576040805162461bcd60e51b815260206004820152601b60248201527f4d61726b6574206372656174696f6e2069732064697361626c65640000000000604482015290519081900360640190fd5b61178386612b1d565b6117c2576040805162461bcd60e51b815260206004820152600b60248201526a496e76616c6964206b657960a81b604482015290519081900360640190fd5b600a548335906020850135904201811115611824576040805162461bcd60e51b815260206004820152601e60248201527f4d6174757269747920746f6f2066617220696e20746865206675747572650000604482015290519081900360640190fd5b60095460009061183b90839063ffffffff6128b116565b9050600061184e863560208801356128b1565b90508342106118a4576040805162461bcd60e51b815260206004820152601960248201527f456e64206f662062696464696e67206861732070617373656400000000000000604482015290519081900360640190fd5b8284106118f8576040805162461bcd60e51b815260206004820181905260248201527f4d6174757269747920707265646174657320656e64206f662062696464696e67604482015290519081900360640190fd5b6000611902612c51565b6001600160a01b031663130efa50336040518060400160405280600b600001548152602001600b600101548152508e8e8e60405180606001604052808d81526020018c81526020018b8152508e6040518060600160405280600560000154815260200160056001015481526020016005600201548152506040518963ffffffff1660e01b815260040180896001600160a01b03166001600160a01b0316815260200188600260200280838360005b838110156119c85781810151838201526020016119b0565b505050509050018781526020018681526020018515151515815260200184600360200280838360005b83811015611a095781810151838201526020016119f1565b5050505090500183600260200280828437600081840152601f19601f82011690508083019250505082600360200280838360005b83811015611a55578181015183820152602001611a3d565b5050505090500198505050505050505050602060405180830381600087803b158015611a8057600080fd5b505af1158015611a94573d6000803e3d6000fd5b505050506040513d6020811015611aaa57600080fd5b5051604080516303a0c29b60e51b815290519192506001600160a01b0383169163741853609160048082019260009290919082900301818387803b158015611af157600080fd5b505af1158015611b05573d6000803e3d6000fd5b50505050611b1d81600f6129f590919063ffffffff16565b600e54611b30908363ffffffff6128b116565b600e55611b3b612c78565b604080516323b872dd60e01b81523360048201526001600160a01b03848116602483015260448201869052915192909116916323b872dd916064808201926020929091908290030181600087803b158015611b9557600080fd5b505af1158015611ba9573d6000803e3d6000fd5b505050506040513d6020811015611bbf57600080fd5b5050604080516001600160a01b0383168152602081018c9052808201879052606081018690526080810185905290518c9133917fbcd154709bbe69680012cadcd07d57bd4a0ec64a033c2a3e31d2d0fadb38d3a89181900360a00190a39a9950505050505050505050565b611c326126f3565b60006005600101548201905073__$981eaff4516d951b878b1a7f17446065b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611c8257600080fd5b505af4158015611c96573d6000803e3d6000fd5b505050506040513d6020811015611cac57600080fd5b50518110611ceb5760405162461bcd60e51b8152600401808060200182810382526021815260200180612ded6021913960400191505060405180910390fd5b80600010611d40576040805162461bcd60e51b815260206004820152601a60248201527f546f74616c20666565206d757374206265206e6f6e7a65726f2e000000000000604482015290519081900360640190fd5b60058290556040805183815290517f7b30e8f8e3de254785fbcb3068449dc18060f1fdb37b02731ecada99a78492c39181900360200190a15050565b60055460065460075483565b60005b81811015611fcb576000838383818110611da157fe5b6040805160048152602481018252602081810180516001600160e01b03166303a0c29b60e51b178152925182516001600160a01b0392909502969096013516955093600093508592859282918083835b60208310611e105780518252601f199092019160209182019101611df1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611e72576040519150601f19603f3d011682016040523d82523d6000602084013e611e77565b606091505b5050905080611fc057600354604080516001600160a01b03610100909304831660248083019190915282518083039091018152604490910182526020810180516001600160e01b0316633be99e6f60e01b1781529151815191936000939088169285929182918083835b60208310611f005780518252601f199092019160209182019101611ee1565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611f62576040519150601f19603f3d011682016040523d82523d6000602084013e611f67565b606091505b5050905080611fbd576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f742072656275696c6420636163686520666f72206d61726b657400604482015290519081900360640190fd5b50505b505050600101611d8b565b505050565b60115490565b6013546001600160a01b0316331461201f5760405162461bcd60e51b8152600401808060200182810382526025815260200180612e806025913960400191505060405180910390fd5b808061202b5750611fcb565b60008461203957601161203c565b600f5b90506000805b8381101561216a57600086868381811061205857fe5b905060200201356001600160a01b031690506120738161273e565b156120bd576040805162461bcd60e51b815260206004820152601560248201527426b0b935b2ba1030b63932b0b23c9035b737bbb71760591b604482015290519081900360640190fd5b806001600160a01b03166379ba50976040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156120f857600080fd5b505af115801561210c573d6000803e3d6000fd5b5050505061212381856129f590919063ffffffff16565b61215f816001600160a01b031663eef49ee36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108ca57600080fd5b925050600101612042565b50600e5461217e908263ffffffff6128b116565b600e55601354604080516001600160a01b0390921680835260208084018381529284018890527fea7a4e14e72ba7db7e2fd406278900badf50b2ce7d9def39d613cc08054c537b9391928992899290919060608301908590850280828437600083820152604051601f909101601f1916909201829003965090945050505050a1505050505050565b612217600f3363ffffffff61298716565b6122525760405162461bcd60e51b8152600401808060200182810382526022815260200180612e0e6022913960400191505060405180910390fd5b60035460ff16156122945760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b61229c612968565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156122d457600080fd5b505afa1580156122e8573d6000803e3d6000fd5b5050600e5461111c925090508263ffffffff6128b116565b6123086126f3565b60088190556040805182815290517f5a2f2eae84f9e787d8159d363a776fa2b61d084686190cdc5a2c1ea833480b099181900360200190a150565b600b54600c5482565b60035460ff161561238e5760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b60005b81811015611fcb5760008383838181106123a757fe5b905060200201356001600160a01b03169050806001600160a01b031663c8db233e336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561241157600080fd5b505af1158015612425573d6000803e3d6000fd5b5050505061243d81601161277090919063ffffffff16565b604080516001600160a01b038316815290517f16e62064e42f5aec62df22ae895ef539f153e0d4ea290e2cc4e0e8f708f2fbbc9181900360200190a150600101612391565b61248a6126f3565b600b8190556040805182815290517fdf7a26ae2e2eb953b81fd76b72fcdc74ebff7c21faa8f8f55323183d9785f52d9181900360200190a150565b6060611666600f848463ffffffff612a4716565b60035460ff161561251b5760405162461bcd60e51b815260040180806020018281038252603c815260200180612ea5603c913960400191505060405180910390fd5b61252c600f8263ffffffff61298716565b612574576040805162461bcd60e51b8152602060048201526014602482015273139bdd08185b881858dd1a5d99481b585c9ad95d60621b604482015290519081900360640190fd5b6000816001600160a01b03166302d05d3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156125af57600080fd5b505afa1580156125c3573d6000803e3d6000fd5b505050506040513d60208110156125d957600080fd5b50519050336001600160a01b0382161461263a576040805162461bcd60e51b815260206004820152601960248201527f53656e646572206e6f74206d61726b65742063726561746f7200000000000000604482015290519081900360640190fd5b6040805163130cffa560e21b815233600482015290516001600160a01b03841691634c33fe9491602480830192600092919082900301818387803b15801561268157600080fd5b505af1158015612695573d6000803e3d6000fd5b505050506126ad82600f61277090919063ffffffff16565b604080516001600160a01b038416815290517f996fafab197beb99fff6fdc975bb6cf90352f2c733c76ef37c2e27f17d7d424b9181900360200190a15050565b600e5481565b6000546001600160a01b0316331461273c5760405162461bcd60e51b815260040180806020018281038252602f815260200180612e51602f913960400191505060405180910390fd5b565b6000612751600f8363ffffffff61298716565b80612768575061276860118363ffffffff61298716565b90505b919050565b61277a8282612987565b6127c1576040805162461bcd60e51b815260206004820152601360248201527222b632b6b2b73a103737ba1034b71039b2ba1760691b604482015290519081900360640190fd5b6001600160a01b03811660009081526001830160205260409020548254600019018082146128605760008460000182815481106127fa57fe5b60009182526020909120015485546001600160a01b039091169150819086908590811061282357fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b835484908061286b57fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b600082820183811015611666576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115612962576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006129826b53797374656d53746174757360a01b612c8b565b905090565b815460009061299857506000611669565b6001600160a01b0382166000908152600184016020526040902054801515806129ed5750826001600160a01b0316846000016000815481106129d657fe5b6000918252602090912001546001600160a01b0316145b949350505050565b6129ff8282612987565b6113ec5781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b825460609083830190811115612a5b575083545b838111612a78575050604080516000815260208101909152612b16565b604080518583038082526020808202830101909252606090828015612aa7578160200160208202803883390190505b50905060005b82811015612b10578760000187820181548110612ac657fe5b9060005260206000200160009054906101000a90046001600160a01b0316828281518110612af057fe5b6001600160a01b0390921660209283029190910190910152600101612aad565b50925050505b9392505050565b600080612b28612d6f565b9050806001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612b6e57600080fd5b505afa158015612b82573d6000803e3d6000fd5b505050506040513d6020811015612b9857600080fd5b505115612c485782631c1554d160e21b1415612bb857600091505061276b565b6000816001600160a01b031663728dec29856040518263ffffffff1660e01b81526004018082815260200191505060a06040518083038186803b158015612bfe57600080fd5b505afa158015612c12573d6000803e3d6000fd5b505050506040513d60a0811015612c2857600080fd5b505190508015612c3d5760009250505061276b565b60019250505061276b565b50600092915050565b60006129827842696e6172794f7074696f6e4d61726b6574466163746f727960381b612c8b565b600061298268141e5b9d1a1c1554d160ba1b5b600081815260046020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612d685760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d2d578181015183820152602001612d15565b50505050905090810190601f168015612d5a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b60006129826c45786368616e6765526174657360981b612c8b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043726561746f7220736b6577206c696d6974206d757374206265206e6f2067726561746572207468616e20312e546f74616c20666565206d757374206265206c657373207468616e20313030252e5065726d6974746564206f6e6c7920666f7220616374697665206d61726b6574732e5065726d6974746564206f6e6c7920666f72206b6e6f776e206d61726b6574732e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c79207065726d697474656420666f72206d6967726174696e67206d616e616765722e5468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564526566756e6420666565206d757374206265206e6f2067726561746572207468616e20313030252ea265627a7a72315820a87d11067f0c155cac42cff4fe511d814d98b47d53b4a47402d8cd0e55bbd33264736f6c6343000511003243726561746f7220736b6577206c696d6974206d757374206265206e6f2067726561746572207468616e20312e546f74616c20666565206d757374206265206c657373207468616e20313030252e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e526566756e6420666565206d757374206265206e6f2067726561746572207468616e20313030252e",
			"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": "0x50d4b3c7842f404379ec1e261a94fe94551fc514b9c593393120b63f218bb4f4",
				"urls": [
					"bzz-raw://9d8efc690f7fccee200fdf0b023b6ce4f93348c6f0b3be893c68149ce1587353",
					"dweb:/ipfs/QmTV3KtaRCCeQwoKhKZCkY4HmffYj4SHPiwTDba3jxQce6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BinaryOptionMarketManager.sol": "BinaryOptionMarketManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BinaryOptionMarketManager.sol": {
						"keccak256": "0x50d4b3c7842f404379ec1e261a94fe94551fc514b9c593393120b63f218bb4f4",
						"urls": [
							"bzz-raw://9d8efc690f7fccee200fdf0b023b6ce4f93348c6f0b3be893c68149ce1587353",
							"dweb:/ipfs/QmTV3KtaRCCeQwoKhKZCkY4HmffYj4SHPiwTDba3jxQce6"
						]
					}
				},
				"version": 1
			}
		},
		"BinaryOptionMarketData": {
			"bytecode": "608060405234801561001057600080fd5b506112f7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631216fc7b14610046578063a30c302d1461006f578063dca5f5c31461008f575b600080fd5b610059610054366004610e75565b6100af565b60405161006691906111f1565b60405180910390f35b61008261007d366004610e75565b61047c565b60405161006691906111e2565b6100a261009d366004610e93565b610a61565b60405161006691906111d4565b6100b7610c44565b600080836001600160a01b0316631069143a6040518163ffffffff1660e01b8152600401604080518083038186803b1580156100f257600080fd5b505afa158015610106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061012a9190810190610ecd565b915091506000806000866001600160a01b0316639e3b34bf6040518163ffffffff1660e01b815260040160606040518083038186803b15801561016c57600080fd5b505afa158015610180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101a49190810190610e28565b9250925092506000806000896001600160a01b03166398508ecd6040518163ffffffff1660e01b815260040160606040518083038186803b1580156101e857600080fd5b505afa1580156101fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102209190810190610e28565b92509250925060008060008c6001600160a01b0316639af1d35a6040518163ffffffff1660e01b815260040160606040518083038186803b15801561026457600080fd5b505afa158015610278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061029c9190810190610e28565b9250925092506102aa610c44565b6040518060c001604052808f6001600160a01b03166302d05d3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102ee57600080fd5b505afa158015610302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103269190810190610de4565b6001600160a01b0316815260200160405180604001604052808f6001600160a01b031681526020018e6001600160a01b0316815250815260200160405180606001604052808d81526020018c81526020018b815250815260200160405180606001604052808a81526020018981526020018881525081526020016040518060600160405280878152602001868152602001858152508152602001604051806040016040528060008152602001600081525081525090506000808f6001600160a01b031663be5af9fe6040518163ffffffff1660e01b8152600401604080518083038186803b15801561041757600080fd5b505afa15801561042b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061044f9190810190610f57565b60408051808201909152918252602082015260a084015250909c505050505050505050505050505b919050565b610484610ca0565b600080836001600160a01b031663c7a5bdc86040518163ffffffff1660e01b8152600401604080518083038186803b1580156104bf57600080fd5b505afa1580156104d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104f79190810190610f57565b91509150600080856001600160a01b0316633d7a783b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561053657600080fd5b505afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061056e9190810190610f57565b91509150600080876001600160a01b031663d068cdc56040518163ffffffff1660e01b8152600401604080518083038186803b1580156105ad57600080fd5b505afa1580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105e59190810190610f57565b91509150600080896001600160a01b0316638b0341366040518163ffffffff1660e01b8152600401604080518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065c9190810190610f57565b915091506000808b6001600160a01b031663d3419bf36040518163ffffffff1660e01b8152600401604080518083038186803b15801561069b57600080fd5b505afa1580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106d39190810190610f57565b9150915060405180610120016040528060405180604001604052808d81526020018c8152508152602001604051806040016040528085815260200184815250815260200160405180604001604052808f6001600160a01b031663eef49ee36040518163ffffffff1660e01b815260040160206040518083038186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107939190810190610f39565b81526020018f6001600160a01b0316632115e3036040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108099190810190610f39565b815250815260200160405180604001604052808f6001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061088d9190810190610e0a565b151581526020018f6001600160a01b031663ac3791e36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109059190810190610e0a565b151581525081526020018d6001600160a01b031663b1c9fe6e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561094857600080fd5b505afa15801561095c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109809190810190610efd565b600381111561098b57fe5b81526020018d6001600160a01b031663653721476040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c957600080fd5b505afa1580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a019190810190610f1b565b6001811115610a0c57fe5b81526040805180820182529687526020878101969096528582019690965285518087018752998a5289850198909852848801989098525050815180830190925292815291820152606090910152949350505050565b610a69610d03565b600080846001600160a01b03166329e77b5d856040518263ffffffff1660e01b8152600401610a9891906111c6565b604080518083038186803b158015610aaf57600080fd5b505afa158015610ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae79190810190610f57565b91509150600080866001600160a01b031663408e82af876040518263ffffffff1660e01b8152600401610b1a91906111c6565b604080518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b699190810190610f57565b91509150600080886001600160a01b0316636392a51f896040518263ffffffff1660e01b8152600401610b9c91906111c6565b604080518083038186803b158015610bb357600080fd5b505afa158015610bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190610f57565b6040805160a08101825260608101998a5260808101989098529787528751808901895295865260208681019590955284870195909552865180880188529081529283019390935250928201929092529150505b92915050565b6040518060c0016040528060006001600160a01b03168152602001610c67610d16565b8152602001610c74610d2d565b8152602001610c81610d4e565b8152602001610c8e610d2d565b8152602001610c9b610d72565b905290565b604051806101200160405280610cb4610d72565b8152602001610cc1610d72565b8152602001610cce610d72565b8152602001610cdb610d16565b81526020016000815260200160008152602001610cf6610d72565b8152602001610c8e610d72565b6040518060600160405280610cf6610d72565b604080518082019091526000808252602082015290565b60405180606001604052806000815260200160008152602001600081525090565b60405180606001604052806000801916815260200160008152602001600081525090565b604051806040016040528060008152602001600081525090565b8035610c3e8161126b565b8051610c3e8161126b565b8051610c3e8161127f565b8051610c3e81611288565b8035610c3e81611291565b8051610c3e81611291565b8051610c3e8161129a565b8051610c3e816112a7565b600060208284031215610df657600080fd5b6000610e028484610d97565b949350505050565b600060208284031215610e1c57600080fd5b6000610e028484610da2565b600080600060608486031215610e3d57600080fd5b6000610e498686610dad565b9350506020610e5a86828701610dad565b9250506040610e6b86828701610dad565b9150509250925092565b600060208284031215610e8757600080fd5b6000610e028484610db8565b60008060408385031215610ea657600080fd5b6000610eb28585610db8565b9250506020610ec385828601610d8c565b9150509250929050565b60008060408385031215610ee057600080fd5b6000610eec8585610dc3565b9250506020610ec385828601610dc3565b600060208284031215610f0f57600080fd5b6000610e028484610dce565b600060208284031215610f2d57600080fd5b6000610e028484610dd9565b600060208284031215610f4b57600080fd5b6000610e028484610dad565b60008060408385031215610f6a57600080fd5b6000610f768585610dad565b9250506020610ec385828601610dad565b610f9081611200565b82525050565b610f908161120b565b610f9081611210565b610f9081611213565b610f908161123e565b610f9081611249565b805160c0830190610fd48482611000565b506020820151610fe76040850182611000565b506040820151610ffa6080850182611000565b50505050565b805160408301906110118482610f9f565b506020820151610ffa6020850182610f9f565b805160608301906110358482610f9f565b5060208201516110486020850182610f9f565b506040820151610ffa6040850182610f9f565b805161020083019061106d8482611000565b5060208201516110806040850182611000565b5060408201516110936080850182611000565b5060608201516110a660c08501826111a2565b5060808201516110ba610100850182610fb1565b5060a08201516110ce610120850182610fba565b5060c08201516110e2610140850182611000565b5060e08201516110f6610180850182611000565b50610100820151610ffa6101c0850182611000565b80516101c083019061111d8482610f87565b506020820151611130602085018261117e565b5060408201516111436060850182611024565b50606082015161115660c0850182611024565b50608082015161116a610120850182611024565b5060a0820151610ffa610180850182611000565b8051604083019061118f8482610fa8565b506020820151610ffa6020850182610fa8565b805160408301906111b38482610f96565b506020820151610ffa6020850182610f96565b60208101610c3e8284610f87565b60c08101610c3e8284610fc3565b6102008101610c3e828461105b565b6101c08101610c3e828461110b565b6000610c3e82611232565b151590565b90565b6000610c3e82611200565b8061047781611254565b8061047781611261565b6001600160a01b031690565b6000610c3e8261121e565b6000610c3e82611228565b6004811061125e57fe5b50565b6002811061125e57fe5b61127481611200565b811461125e57600080fd5b6112748161120b565b61127481611210565b61127481611213565b6004811061125e57600080fd5b6002811061125e57600080fdfea365627a7a7231582055baa2f18440f084621355483ea017da5a22302f71020f5d68e4654082f0797f6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "market",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getAccountMarketData",
					"outputs": [
						{
							"components": [
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "bids",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "claimable",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "balances",
									"type": "tuple"
								}
							],
							"internalType": "struct BinaryOptionMarketData.AccountData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdca5f5c3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "market",
							"type": "address"
						}
					],
					"name": "getMarketData",
					"outputs": [
						{
							"components": [
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "price",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "updatedAt",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OraclePriceAndTimestamp",
									"name": "oraclePriceAndTimestamp",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarket.Prices",
									"name": "prices",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "deposited",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "exercisableDeposits",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.Deposits",
									"name": "deposits",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "bool",
											"name": "resolved",
											"type": "bool"
										},
										{
											"internalType": "bool",
											"name": "canResolve",
											"type": "bool"
										}
									],
									"internalType": "struct BinaryOptionMarketData.Resolution",
									"name": "resolution",
									"type": "tuple"
								},
								{
									"internalType": "enum IBinaryOptionMarket.Phase",
									"name": "phase",
									"type": "uint8"
								},
								{
									"internalType": "enum IBinaryOptionMarket.Side",
									"name": "result",
									"type": "uint8"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "totalBids",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "totalClaimableSupplies",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "long",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "short",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketData.OptionValues",
									"name": "totalSupplies",
									"type": "tuple"
								}
							],
							"internalType": "struct BinaryOptionMarketData.MarketData",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa30c302d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "contract BinaryOptionMarket",
							"name": "market",
							"type": "address"
						}
					],
					"name": "getMarketParameters",
					"outputs": [
						{
							"components": [
								{
									"internalType": "address",
									"name": "creator",
									"type": "address"
								},
								{
									"components": [
										{
											"internalType": "contract BinaryOption",
											"name": "long",
											"type": "address"
										},
										{
											"internalType": "contract BinaryOption",
											"name": "short",
											"type": "address"
										}
									],
									"internalType": "struct BinaryOptionMarket.Options",
									"name": "options",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "biddingEnd",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "maturity",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "expiry",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarket.Times",
									"name": "times",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "bytes32",
											"name": "key",
											"type": "bytes32"
										},
										{
											"internalType": "uint256",
											"name": "strikePrice",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "finalPrice",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarket.OracleDetails",
									"name": "oracleDetails",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "poolFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "creatorFee",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "refundFee",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketManager.Fees",
									"name": "fees",
									"type": "tuple"
								},
								{
									"components": [
										{
											"internalType": "uint256",
											"name": "capitalRequirement",
											"type": "uint256"
										},
										{
											"internalType": "uint256",
											"name": "skewLimit",
											"type": "uint256"
										}
									],
									"internalType": "struct BinaryOptionMarketManager.CreatorLimits",
									"name": "creatorLimits",
									"type": "tuple"
								}
							],
							"internalType": "struct BinaryOptionMarketData.MarketParameters",
							"name": "",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1216fc7b"
				}
			],
			"source": {
				"keccak256": "0x1987d106c9db7f198e2c69351510c556912f5646d3c9b499da78b9e7e7509059",
				"urls": [
					"bzz-raw://2ea95c9b8fa1359d2cf6c209c076b2189d2fdbbef215e7f3ac81acc0ba14467f",
					"dweb:/ipfs/QmYWZxMrXe2W44HwW4XAgRsbAfgQNRPrNizGq7cHCHcNGT"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BinaryOptionMarketData.sol": "BinaryOptionMarketData"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BinaryOptionMarketData.sol": {
						"keccak256": "0x1987d106c9db7f198e2c69351510c556912f5646d3c9b499da78b9e7e7509059",
						"urls": [
							"bzz-raw://2ea95c9b8fa1359d2cf6c209c076b2189d2fdbbef215e7f3ac81acc0ba14467f",
							"dweb:/ipfs/QmYWZxMrXe2W44HwW4XAgRsbAfgQNRPrNizGq7cHCHcNGT"
						]
					}
				},
				"version": 1
			}
		},
		"PynthUtil": {
			"bytecode": "608060405234801561001057600080fd5b5060405161136b38038061136b8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055611306806100656000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632ebf118b14610067578063597ece84146100bf578063b2637a91146101c3578063ca2577e1146101cb578063d18ab37614610209578063d55415231461022d575b600080fd5b61006f6102ce565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100ab578181015183820152602001610093565b505050509050019250505060405180910390f35b6100e5600480360360208110156100d557600080fd5b50356001600160a01b0316610578565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561012d578181015183820152602001610115565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561016c578181015183820152602001610154565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ab578181015183820152602001610193565b50505050905001965050505050505060405180910390f35b6100e561090f565b6101f7600480360360408110156101e157600080fd5b506001600160a01b038135169060200135610c88565b60408051918252519081900360200190f35b610211610f07565b604080516001600160a01b039092168252519081900360200190f35b610235610f16565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610279578181015183820152602001610261565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156102b85781810151838201526020016102a0565b5050505090500194505050505060405180910390f35b606060006102da611182565b905060006102e6611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d602081101561034d57600080fd5b505160408051828152602080840282010190915290915060609082801561037e578160200160208202803883390190505b50905060005b8281101561056f576000856001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103d257600080fd5b505afa1580156103e6573d6000803e3d6000fd5b505050506040513d60208110156103fc57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038088169263af3aea86929185169163dbd06c85916004808301926020929190829003018186803b15801561044c57600080fd5b505afa158015610460573d6000803e3d6000fd5b505050506040513d602081101561047657600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b1580156104b557600080fd5b505afa1580156104c9573d6000803e3d6000fd5b505050506040513d60208110156104df57600080fd5b50511561056657806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561051f57600080fd5b505afa158015610533573d6000803e3d6000fd5b505050506040513d602081101561054957600080fd5b5051835184908490811061055957fe5b6020026020010181815250505b50600101610384565b50935050505090565b60608060606000610587611182565b90506000610593611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d057600080fd5b505afa1580156105e4573d6000803e3d6000fd5b505050506040513d60208110156105fa57600080fd5b505160408051828152602080840282010190915290915060609082801561062b578160200160208202803883390190505b50905060608260405190808252806020026020018201604052801561065a578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610689578160200160208202803883390190505b50905060005b848110156108fe576000876001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156106dd57600080fd5b505afa1580156106f1573d6000803e3d6000fd5b505050506040513d602081101561070757600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b15801561074d57600080fd5b505afa158015610761573d6000803e3d6000fd5b505050506040513d602081101561077757600080fd5b5051855186908490811061078757fe5b602002602001018181525050806001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156107e957600080fd5b505afa1580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b5051845185908490811061082357fe5b602002602001018181525050866001600160a01b031663654a60ac86848151811061084a57fe5b602002602001015186858151811061085e57fe5b6020026020010151631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156108b057600080fd5b505afa1580156108c4573d6000803e3d6000fd5b505050506040513d60208110156108da57600080fd5b505183518490849081106108ea57fe5b60209081029190910101525060010161068f565b509199909850909650945050505050565b6060806060600061091e611182565b9050600061092a611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561096757600080fd5b505afa15801561097b573d6000803e3d6000fd5b505050506040513d602081101561099157600080fd5b50516040805182815260208084028201019091529091506060908280156109c2578160200160208202803883390190505b5090506060826040519080825280602002602001820160405280156109f1578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610a20578160200160208202803883390190505b50905060005b84811015610c78576000876001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a7457600080fd5b505afa158015610a88573d6000803e3d6000fd5b505050506040513d6020811015610a9e57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b158015610ae457600080fd5b505afa158015610af8573d6000803e3d6000fd5b505050506040513d6020811015610b0e57600080fd5b50518551869084908110610b1e57fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d6020811015610b8d57600080fd5b50518451859084908110610b9d57fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610bc457fe5b6020026020010151868581518110610bd857fe5b6020026020010151631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610c2a57600080fd5b505afa158015610c3e573d6000803e3d6000fd5b505050506040513d6020811015610c5457600080fd5b50518351849084908110610c6457fe5b602090810291909101015250600101610a26565b5091975095509350505050909192565b600080610c93611182565b90506000610c9f611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d6020811015610d0657600080fd5b5051905060005b81811015610efd576000846001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506040513d6020811015610d8557600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038087169263654a60ac929185169163dbd06c85916004808301926020929190829003018186803b158015610dd557600080fd5b505afa158015610de9573d6000803e3d6000fd5b505050506040513d6020811015610dff57600080fd5b5051604080516370a0823160e01b81526001600160a01b038d811660048301529151918616916370a0823191602480820192602092909190829003018186803b158015610e4b57600080fd5b505afa158015610e5f573d6000803e3d6000fd5b505050506040513d6020811015610e7557600080fd5b5051604080516001600160e01b031960e086901b16815260048101939093526024830191909152604482018b9052516064808301926020929190829003018186803b158015610ec357600080fd5b505afa158015610ed7573d6000803e3d6000fd5b505050506040513d6020811015610eed57600080fd5b5051959095019450600101610d0d565b5050505092915050565b6000546001600160a01b031681565b6060806060610f23611182565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015610f5b57600080fd5b505afa158015610f6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f9857600080fd5b8101908080516040519392919084640100000000821115610fb857600080fd5b908301906020820185811115610fcd57600080fd5b8251866020820283011164010000000082111715610fea57600080fd5b82525081516020918201928201910280838360005b83811015611017578181015183820152602001610fff565b5050505090500160405250505090508061102f611241565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561108d578181015183820152602001611075565b505050509050019250505060006040518083038186803b1580156110b057600080fd5b505afa1580156110c4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156110ed57600080fd5b810190808051604051939291908464010000000082111561110d57600080fd5b90830190602082018581111561112257600080fd5b825186602082028301116401000000008211171561113f57600080fd5b82525081516020918201928201910280838360005b8381101561116c578181015183820152602001611154565b5050505090500160405250505092509250509091565b600080546040805163dacb2d0160e01b81526a5065726946696e616e636560a81b600482015260248101829052601b60448201527f4d697373696e67205065726946696e616e636520616464726573730000000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561121057600080fd5b505afa158015611224573d6000803e3d6000fd5b505050506040513d602081101561123a57600080fd5b5051905090565b600080546040805163dacb2d0160e01b81526c45786368616e6765526174657360981b600482015260248101829052601d60448201527f4d697373696e672045786368616e676552617465732061646472657373000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561121057600080fdfea265627a7a72315820309db97dbcfd413dd893aea6f00b81200045f9836fcdad977b48f00d9408a23064736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "addressResolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd18ab376"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "frozenPynths",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ebf118b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "pynthsBalances",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x597ece84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsRates",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd5541523"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynthsTotalSupplies",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2637a91"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "totalPynthsInKey",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "total",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xca2577e1"
				}
			],
			"source": {
				"keccak256": "0xfa0cdfad6e29e1040d455d1fab50ed31bc82efd95b80f79cd9e151da49159dca",
				"urls": [
					"bzz-raw://990f42fb396586f848b56f6b2abc43cb16486f7b572bd932b5f759621535a6b7",
					"dweb:/ipfs/QmY6kRc2n67Pyq6zYt81koez96zgb2yDqaa4UKKFQ4DuD9"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PynthUtil.sol": "PynthUtil"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PynthUtil.sol": {
						"keccak256": "0xfa0cdfad6e29e1040d455d1fab50ed31bc82efd95b80f79cd9e151da49159dca",
						"urls": [
							"bzz-raw://990f42fb396586f848b56f6b2abc43cb16486f7b572bd932b5f759621535a6b7",
							"dweb:/ipfs/QmY6kRc2n67Pyq6zYt81koez96zgb2yDqaa4UKKFQ4DuD9"
						]
					}
				},
				"version": 1
			}
		},
		"DappMaintenance": {
			"bytecode": "60806040526001805461ffff60a01b1916905534801561001e57600080fd5b506040516106d13803806106d18339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a15061051a806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b503515156101d1565b6100e7610270565b604080516001600160a01b039092168252519081900360200190f35b6100be61027f565b6100e761033b565b61011b61034a565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b5035151561035a565b61011b6103c0565b6100be6004803603602081101561016c57600080fd5b503515156103d0565b61017d610436565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6101d9610436565b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146102c85760405162461bcd60e51b81526004018080602001828103825260358152602001806104826035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b610362610436565b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6103d8610436565b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6000546001600160a01b0316331461047f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806104b7602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582010762626cf33e1c12c664dee7b5f9821e0b0ac979b729eb2d789d373c7a731e264736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "SXMaintenance",
					"type": "event",
					"signature": "0x5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "StakingMaintenance",
					"type": "event",
					"signature": "0x628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedSX",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x93c22125"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedStaking",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc65a0ea2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d008652"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeSX",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee02f27c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeStaking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb33a5a00"
				}
			],
			"source": {
				"keccak256": "0x82ae4c0f9a64bd23855261f7d5f0cc74c67d6e5790c4ee6f83e85d2675ff4949",
				"urls": [
					"bzz-raw://851a860d6fc41a6f3c88dc3ad73aec56a1711ad432a2d6a2b1ebb5541f546e46",
					"dweb:/ipfs/QmRTCt6xMaS318ybSeGbyUTWCfnJQ9vocg98x7q8ays2VK"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DappMaintenance.sol": "DappMaintenance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DappMaintenance.sol": {
						"keccak256": "0x82ae4c0f9a64bd23855261f7d5f0cc74c67d6e5790c4ee6f83e85d2675ff4949",
						"urls": [
							"bzz-raw://851a860d6fc41a6f3c88dc3ad73aec56a1711ad432a2d6a2b1ebb5541f546e46",
							"dweb:/ipfs/QmRTCt6xMaS318ybSeGbyUTWCfnJQ9vocg98x7q8ays2VK"
						]
					}
				},
				"version": 1
			}
		},
		"FlexibleStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a723158207d915987308251dd764462099e53089c256896a03aea051849b55b470932914f64736f6c63430005100032",
			"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": "0x39948ec282a7ef394b5ac064871de296f5eb1c4a6f62758ce966b6aac086da00",
				"urls": [
					"bzz-raw://7e6decab440a939284f1200bf400ab1900a4cd417ff9ca400ef85a2d1dbd7e42",
					"dweb:/ipfs/QmerRenb23RNE9ChX9ni4DUkBhKGgPGjcLHyjZ6iHrJekj"
				]
			},
			"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": "0x39948ec282a7ef394b5ac064871de296f5eb1c4a6f62758ce966b6aac086da00",
						"urls": [
							"bzz-raw://7e6decab440a939284f1200bf400ab1900a4cd417ff9ca400ef85a2d1dbd7e42",
							"dweb:/ipfs/QmerRenb23RNE9ChX9ni4DUkBhKGgPGjcLHyjZ6iHrJekj"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettings": {
			"bytecode": "608060405234801561001057600080fd5b5060405161305a38038061305a8339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050612f34806101266000396000f3fe608060405234801561001057600080fd5b50600436106103425760003560e01c806379ba5097116101b8578063af5355d811610104578063dc8f4a1b116100a2578063ef2b63041161007c578063ef2b63041461079a578063f1076b25146107b7578063f344da67146107bf578063fb1b4c7e146107c757610342565b8063dc8f4a1b1461074f578063e0e6393d14610775578063e94220461461077d57610342565b8063b410a034116100de578063b410a0341461072f578063c193f0d814610737578063c58c9ae41461073f578063d62ae3991461074757610342565b8063af5355d81461071f578063af8bc66014610727578063b2ea70541461054057610342565b8063899ffef411610171578063967706e91161014b578063967706e9146106ea578063a0cf745114610707578063a4ce5b711461070f578063add0989d1461071757610342565b8063899ffef41461066d5780638da5cb5b146106c5578063946ce8cd146106cd57610342565b806379ba50971461055057806379cb657a146105585780637bf82305146105755780637ce2cc7f1461059b578063826098e8146105a3578063892571171461066557610342565b80632af64bd311610292578063580a975c11610230578063635a38721161020a578063635a387214610523578063657c6dc714610540578063658ba90514610540578063741853601461054857610342565b8063580a975c146104e15780635e0117d6146104e95780636190dd7a1461050657610342565b80634641ab661161026c5780634641ab66146104aa5780634a686623146104c95780634c36b837146104d157806353a47bb7146104d957610342565b80632af64bd3146104695780632cce0e5414610485578063372a395a146104a257610342565b80631627540c116102ff57806322425fa4116102d957806322425fa41461043457806323f5589a1461043c578063242df9e1146104445780632806a7431461044c57610342565b80631627540c146103e95780631775765f1461040f5780631e6e21901461041757610342565b8063038e47fe1461034757806304c49f2c1461037957806304f3bcec14610398578063054be0b7146103bc578063085f95cd146103d95780630ee4951b146103e1575b600080fd5b6103676004803603602081101561035d57600080fd5b503560ff166107cf565b60408051918252519081900360200190f35b6103966004803603602081101561038f57600080fd5b50356107e2565b005b6103a0610967565b604080516001600160a01b039092168252519081900360200190f35b610396600480360360208110156103d257600080fd5b5035610976565b610367610a8f565b610367610a9b565b610396600480360360208110156103ff57600080fd5b50356001600160a01b0316610aab565b610367610b07565b6103966004803603602081101561042d57600080fd5b5035610b11565b610367610bf3565b610367610bfd565b610367610c07565b6103966004803603602081101561046257600080fd5b5035610c11565b610471610d2f565b604080519115158252519081900360200190f35b6103966004803603602081101561049b57600080fd5b5035610e39565b610367610fee565b610396600480360360208110156104c057600080fd5b50351515610ff8565b6103676110d7565b6103a06110e1565b6103a06110eb565b6103676110fa565b610396600480360360208110156104ff57600080fd5b5035611101565b6103966004803603602081101561051c57600080fd5b5035611286565b6103966004803603602081101561053957600080fd5b5035611360565b610367611436565b610396611442565b61039661160a565b6103966004803603602081101561056e57600080fd5b50356116c6565b6103966004803603602081101561058b57600080fd5b50356001600160a01b031661179a565b6103676118dc565b610396600480360360408110156105b957600080fd5b8101906020810181356401000000008111156105d457600080fd5b8201836020820111156105e657600080fd5b8035906020019184602083028401116401000000008311171561060857600080fd5b91939092909160208101903564010000000081111561062657600080fd5b82018360208201111561063857600080fd5b8035906020019184602083028401116401000000008311171561065a57600080fd5b5090925090506118e3565b610367611b0e565b610675611b18565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156106b1578181015183820152602001610699565b505050509050019250505060405180910390f35b6103a0611b69565b610396600480360360208110156106e357600080fd5b5035611b78565b6103676004803603602081101561070057600080fd5b5035611d8e565b610367611d99565b610367611da3565b610367611daf565b610367611db6565b610367611dc0565b610367611dc5565b610471611dcf565b610367611dd9565b610367611de0565b6103966004803603604081101561076557600080fd5b5060ff8135169060200135611de6565b610367611f31565b6103966004803603602081101561079357600080fd5b5035611f3b565b610396600480360360208110156107b057600080fd5b5035612068565b61036761217d565b610367612184565b61036761218b565b60006107da82612197565b90505b919050565b6107ea612234565b610e10811015610841576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610899576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b6108a161227f565b6001600160a01b0316631d5b277f600080516020612e5d833981519152703332b2a832b934b7b2223ab930ba34b7b760791b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561091857600080fd5b505af115801561092c573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b61097e612234565b670de0b6b3a76400008111156109c55760405162461bcd60e51b8152600401808060200182810382526033815260200180612e7d6033913960400191505060405180910390fd5b6109cd61227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191526c69737375616e6365526174696f60981b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610a4057600080fd5b505af1158015610a54573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6703782dace9d9000081565b6000610aa561229c565b90505b90565b610ab3612234565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610aa5612342565b610b19612234565b610b2161227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610ba457600080fd5b505af1158015610bb8573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610aa56123b8565b6000610aa561242f565b6000610aa56124a7565b610c19612234565b6703782dace9d90000811115610c605760405162461bcd60e51b8152600401808060200182810382526021815260200180612d7f6021913960400191505060405180910390fd5b610c6861227f565b6001600160a01b0316631d5b277f600080516020612e5d833981519152716c69717569646174696f6e50656e616c747960701b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610ce057600080fd5b505af1158015610cf4573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b60006060610d3b611b18565b905060005b8151811015610e30576000828281518110610d5757fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610dbf57600080fd5b505afa158015610dd3573d6000803e3d6000fd5b505050506040513d6020811015610de957600080fd5b50516001600160a01b0316141580610e1657506000818152600360205260409020546001600160a01b0316155b15610e275760009350505050610aa8565b50600101610d40565b50600191505090565b610e41612234565b6032811115610e8c576040805162461bcd60e51b81526020600482015260126024820152710a8d0e4cae6d0ded8c840e8dede40d0d2ced60731b604482015290519081900360640190fd5b6000610f1f6064610f1373__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610eda57600080fd5b505af4158015610eee573d6000803e3d6000fd5b505050506040513d6020811015610f0457600080fd5b5051859063ffffffff61251d16565b9063ffffffff61257f16565b9050610f2961227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610f9e57600080fd5b505af1158015610fb2573d6000803e3d6000fd5b50506040805184815290517fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab129350908190036020019150a15050565b6000610aa56125e9565b611000612234565b61100861227f565b60408051630fca29bf60e21b8152600080516020612e5d8339815191526004820152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6024820152831515604482015290516001600160a01b039290921691633f28a6fc9160648082019260009290919082900301818387803b15801561108657600080fd5b505af115801561109a573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b6000610aa561266c565b6000610aa56126db565b6001546001600160a01b031681565b62093a8081565b611109612234565b62278d00811115611161576040805162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015290519081900360640190fd5b620151808110156111b9576040805162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e203120646179000000000000604482015290519081900360640190fd5b6111c161227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191526f6c69717569646174696f6e44656c617960801b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561123757600080fd5b505af115801561124b573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b61128e612234565b61129661227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191527464656274536e617073686f745374616c6554696d6560581b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561131157600080fd5b505af1158015611325573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b611368612234565b61137061227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191527077616974696e67506572696f645365637360781b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156113e757600080fd5b505af11580156113fb573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b670de0b6b3a764000081565b606061144c611b18565b905060005b815181101561160657600082828151811061146857fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561151e578181015183820152602001611506565b50505050905090810190601f16801561154b5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561156957600080fd5b505afa15801561157d573d6000803e3d6000fd5b505050506040513d602081101561159357600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611451565b5050565b6001546001600160a01b031633146116535760405162461bcd60e51b8152600401808060200182810382526035815260200180612da06035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6116ce612234565b6116d661227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561174b57600080fd5b505af115801561175f573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b6117a2612234565b6001600160a01b0381166117fd576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b61180561227f565b604080516309b9412f60e31b8152600080516020612e5d83398151915260048201527561676772656761746f725761726e696e67466c61677360501b60248201526001600160a01b03848116604483015291519290911691634dca09789160648082019260009290919082900301818387803b15801561188457600080fd5b505af1158015611898573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b622dc6c081565b6118eb612234565b82811461193f576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b83811015611b075767016345785d8a000083838381811061195f57fe5b9050602002013511156119b9576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6119c161227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191526e65786368616e67654665655261746560881b8888868181106119fd57fe5b90506020020135604051602001808381526020018281526020019250505060405160208183030381529060405280519060200120868686818110611a3d57fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611a8857600080fd5b505af1158015611a9c573d6000803e3d6000fd5b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e858583818110611acd57fe5b90506020020135848484818110611ae057fe5b604080519485526020918202939093013590840152508051918290030190a1600101611942565b5050505050565b6000610aa5612757565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110611b5a57fe5b60200260200101818152505090565b6000546001600160a01b031681565b611b80612234565b611c1f611c0a611b8e61242f565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611bd257600080fd5b505af4158015611be6573d6000803e3d6000fd5b505050506040513d6020811015611bfc57600080fd5b50519063ffffffff6127ce16565b670de0b6b3a76400009063ffffffff61282816565b811115611c5d5760405162461bcd60e51b8152600401808060200182810382526038815260200180612dd56038913960400191505060405180910390fd5b6000611c7f671bc16d674ec80000611c73612846565b9063ffffffff6128b916565b905080821015611cc05760405162461bcd60e51b8152600401808060200182810382526028815260200180612eb06028913960400191505060405180910390fd5b611cc861227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191526f6c69717569646174696f6e526174696f60801b856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611d3e57600080fd5b505af1158015611d52573d6000803e3d6000fd5b50506040805185815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a15050565b60006107da826128e3565b6000610aa5612986565b671bc16d674ec8000081565b6201518081565b6000610aa56129fc565b603281565b6000610aa5612846565b6000610aa5612a77565b627a120081565b610e1081565b611dee612234565b622dc6c08110158015611e045750627a12008111155b611e55576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b611e5d61227f565b6001600160a01b0316631d5b277f600080516020612e5d833981519152611e8385612af2565b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611ec857600080fd5b505af1158015611edc573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a828260405180836003811115611f1357fe5b60ff1681526020018281526020019250505060405180910390a15050565b6000610aa5612c25565b611f43612234565b62093a80811115611f9b576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b611fa361227f565b6001600160a01b0316631d5b277f600080516020612e5d8339815191526f6d696e696d756d5374616b6554696d6560801b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561201957600080fd5b505af115801561202d573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b612070612234565b670de0b6b3a76400008111156120b75760405162461bcd60e51b8152600401808060200182810382526028815260200180612ed86028913960400191505060405180910390fd5b6120bf61227f565b6001600160a01b0316631d5b277f600080516020612e5d833981519152687573646351756f746160b81b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561212e57600080fd5b505af1158015612142573d6000803e3d6000fd5b50506040805184815290517f0d8ea8edb11c63ed82b5b8e9baf4386d5415669a9b3e6a0acb8328a0c23da64d9350908190036020019150a150565b62278d0081565b624f1a0081565b67016345785d8a000081565b60006121a161227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191526121c785612af2565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561220257600080fd5b505afa158015612216573d6000803e3d6000fd5b505050506040513d602081101561222c57600080fd5b505192915050565b6000546001600160a01b0316331461227d5760405162461bcd60e51b815260040180806020018281038252602f815260200180612e0d602f913960400191505060405180910390fd5b565b6000610aa56e466c657869626c6553746f7261676560881b612c9a565b60006122a661227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191526e1c985d1954dd185b1954195c9a5bd9608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b505afa158015612325573d6000803e3d6000fd5b505050506040513d602081101561233b57600080fd5b5051905090565b600061234c61227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191526f6c69717569646174696f6e526174696f60801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b60006123c261227f565b6001600160a01b03166323257c2b600080516020612e5d833981519152703332b2a832b934b7b2223ab930ba34b7b760791b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b600061243961227f565b6001600160a01b03166323257c2b600080516020612e5d833981519152716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b60006124b161227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191526f6d696e696d756d5374616b6554696d6560801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b60008261252c57506000612579565b8282028284828161253957fe5b04146125765760405162461bcd60e51b8152600401808060200182810382526021815260200180612e3c6021913960400191505060405180910390fd5b90505b92915050565b60008082116125d5576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816125e057fe5b04949350505050565b60006125f361227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191527f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b600061267661227f565b6001600160a01b03166323257c2b600080516020612e5d833981519152687573646351756f746160b81b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b60006126e561227f565b6001600160a01b0316639ee5955a600080516020612e5d8339815191527561676772656761746f725761726e696e67466c61677360501b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b600061276161227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191527077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b600082820183811015612576576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600061257682610f1385670de0b6b3a764000063ffffffff61251d16565b600061285061227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191526c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b6000670de0b6b3a76400006128d4848463ffffffff61251d16565b816128db57fe5b049392505050565b60006128ed61227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191526e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561220257600080fd5b600061299061227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191526f6c69717569646174696f6e44656c617960801b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b6000612a0661227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191527464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b6000612a8161227f565b6001600160a01b031663d994502d600080516020612e5d833981519152741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b600080826003811115612b0157fe5b1415612b2e57507f63726f7373446f6d61696e4465706f7369744761734c696d69740000000000006107dd565b6001826003811115612b3c57fe5b1415612b6957507f63726f7373446f6d61696e457363726f774761734c696d6974000000000000006107dd565b6002826003811115612b7757fe5b1415612ba457507f63726f7373446f6d61696e5265776172644761734c696d6974000000000000006107dd565b6003826003811115612bb257fe5b1415612bdf57507f63726f7373446f6d61696e5769746864726177616c4761734c696d69740000006107dd565b6040805162461bcd60e51b8152602060048201526016602482015275556e6b6e6f776e20676173206c696d6974207479706560501b604482015290519081900360640190fd5b6000612c2f61227f565b6001600160a01b03166323257c2b600080516020612e5d8339815191526e1d185c99d95d151a1c995cda1bdb19608a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561231157600080fd5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612d775760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612d3c578181015183820152602001612d24565b50505050905090810190601f168015612d695780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753797374656d53657474696e67730000000000000000000000000000000000004e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f6e65772071756f74612065786365656473206d6178696d756d203130302070657263656e74616765a265627a7a7231582081a044d50314e09600a8e80efebdc089d6357b99ed70c084478e108d9b18d1c864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "flags",
							"type": "address"
						}
					],
					"name": "AggregatorWarningFlagsUpdated",
					"type": "event",
					"signature": "0x0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde965"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLimit",
							"type": "uint256"
						}
					],
					"name": "CrossDomainMessageGasLimitChanged",
					"type": "event",
					"signature": "0xbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "debtSnapshotStaleTime",
							"type": "uint256"
						}
					],
					"name": "DebtSnapshotStaleTimeUpdated",
					"type": "event",
					"signature": "0x9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeUpdated",
					"type": "event",
					"signature": "0xbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "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": "quota",
							"type": "uint256"
						}
					],
					"name": "USDCQuotaChanged",
					"type": "event",
					"signature": "0x0d8ea8edb11c63ed82b5b8e9baf4386d5415669a9b3e6a0acb8328a0c23da64d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "WaitingPeriodSecsUpdated",
					"type": "event",
					"signature": "0xc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58c9ae4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXCHANGE_FEE_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb1b4c7e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_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": "MAX_USDC_QUOTA",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x658ba905"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7ce2cc7f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd62ae399"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xadd0989d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "RATIO_FROM_TARGET_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4ce5b71"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "gasLimitType",
							"type": "uint8"
						}
					],
					"name": "crossDomainMessageGasLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x038e47fe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtSnapshotStaleTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf5355d8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x967706e9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7bf82305"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "enum MixinSystemSettings.CrossDomainMessageGasLimits",
							"name": "_gasLimitType",
							"type": "uint8"
						},
						{
							"internalType": "uint256",
							"name": "_crossDomainMessageGasLimit",
							"type": "uint256"
						}
					],
					"name": "setCrossDomainMessageGasLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdc8f4a1b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "setDebtSnapshotStaleTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6190dd7a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x826098e8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_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": "_newQuota",
							"type": "uint256"
						}
					],
					"name": "setUSDCQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xef2b6304"
				},
				{
					"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": "usdcQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4a686623"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0x69b32c49d70755addd0b8ecd18f33f3a246dcc7d1419067d84f5bc8d541e6af5",
				"urls": [
					"bzz-raw://f4e51c22f49313db8d8b891f95864246c2e7f0f3020ef3475a685ba8ec276964",
					"dweb:/ipfs/QmeAzBqCW4w345CMvj1cEBkAVm87UUH1U3yfo4z8SdvZET"
				]
			},
			"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": "0x69b32c49d70755addd0b8ecd18f33f3a246dcc7d1419067d84f5bc8d541e6af5",
						"urls": [
							"bzz-raw://f4e51c22f49313db8d8b891f95864246c2e7f0f3020ef3475a685ba8ec276964",
							"dweb:/ipfs/QmeAzBqCW4w345CMvj1cEBkAVm87UUH1U3yfo4z8SdvZET"
						]
					}
				},
				"version": 1
			}
		},
		"TradingRewards": {
			"bytecode": "608060405234801561001057600080fd5b506040516122173803806122178339818101604052606081101561003357600080fd5b5080516020820151604090920151600160005590919080836001600160a01b0381166100a6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506001546001600160a01b0316610152576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60048054610100600160a81b0319166101006001600160a01b039384160217905582166101c6576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b50600980546001600160a01b0319166001600160a01b039290921691909117905550612020806101f76000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063741853601161010f578063b225dbaa116100a2578063f32ffd6911610071578063f32ffd69146104e2578063f61f5df614610552578063f6b584791461057e578063fc9c99ac146105fe576101f0565b8063b225dbaa14610491578063ccb6e043146102c5578063ce7fccba146104ae578063dea021a5146104da576101f0565b806391b4ded9116100de57806391b4ded914610438578063937ffb8f146104405780639865fdb71461045d578063ae934a7a14610465576101f0565b806374185360146103c857806379ba5097146103d0578063899ffef4146103d85780638da5cb5b14610430576101f0565b80632af64bd31161018757806355aa41bf1161015657806355aa41bf1461037e5780635c975abb1461039b5780636fe4136b146103a3578063706848d2146103ab576101f0565b80632af64bd31461032257806338dfa8cf1461032a5780633dbf12fa1461035057806353a47bb714610376576101f0565b806316841952116101c3578063168419521461028957806316c38b3c146102a6578063175c5189146102c557806321cad774146102f6576101f0565b806304f3bcec146101f5578063056097ac14610219578063086146d2146102495780631627540c14610263575b600080fd5b6101fd610606565b604080516001600160a01b039092168252519081900360200190f35b6102476004803603604081101561022f57600080fd5b506001600160a01b038135811691602001351661061a565b005b6102516107c5565b60408051918252519081900360200190f35b6102476004803603602081101561027957600080fd5b50356001600160a01b03166107cc565b6102476004803603602081101561029f57600080fd5b5035610828565b610247600480360360208110156102bc57600080fd5b50351515610a51565b6102e2600480360360208110156102db57600080fd5b5035610acb565b604080519115158252519081900360200190f35b6102476004803603604081101561030c57600080fd5b50803590602001356001600160a01b0316610ae0565b6102e2610c0a565b6102476004803603602081101561034057600080fd5b50356001600160a01b0316610d1c565b6102476004803603602081101561036657600080fd5b50356001600160a01b0316610ed4565b6101fd610f8b565b6102516004803603602081101561039457600080fd5b5035610f9a565b6102e2610faf565b6101fd610fb8565b610251600480360360208110156103c157600080fd5b5035610fc7565b610247610fdc565b6102476111b9565b6103e0611275565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561041c578181015183820152602001610404565b505050509050019250505060405180910390f35b6101fd6112e6565b6102516112f5565b6102516004803603602081101561045657600080fd5b50356112fb565b610251611310565b6102476004803603604081101561047b57600080fd5b506001600160a01b0381351690602001356113ad565b610247600480360360208110156104a757600080fd5b503561151a565b610251600480360360408110156104c457600080fd5b506001600160a01b0381351690602001356115c7565b6101fd6115dc565b610247600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184602083028401116401000000008311171561054757600080fd5b5090925090506115eb565b6102516004803603604081101561056857600080fd5b506001600160a01b0381351690602001356116c9565b6102516004803603604081101561059457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460208302840111640100000000831117156105f357600080fd5b5090925090506116f4565b610251611744565b60045461010090046001600160a01b031681565b61062261174a565b61062b81611795565b610633611805565b6001600160a01b0316826001600160a01b03161415610699576040805162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d602081101561070e57600080fd5b505190508061075b576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6107756001600160a01b038316848363ffffffff61181e16565b604080516001600160a01b0380871682528516602082015280820183905290517f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe69181900360600190a150505050565b6006545b90565b6107d461174a565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6009546001600160a01b03163314610887576040805162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015290519081900360640190fd5b6000610891611805565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108e657600080fd5b505afa1580156108fa573d6000803e3d6000fd5b505050506040513d602081101561091057600080fd5b505160075490915060009061092c90839063ffffffff61187016565b905080831115610983576040805162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015290519081900360640190fd5b60065460009081526008602052604090206002810184905560038101849055805460ff191660011781556007546109c0908563ffffffff6118cd16565b600755600654604080519182526020820186905280517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9281900390910190a1600654610a1490600163ffffffff6118cd16565b600681905560408051918252517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329181900360200190a150505050565b610a5961174a565b60045460ff1615158115151415610a6f57610ac8565b6004805460ff1916821515179081905560ff1615610a8c57426003555b6004546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60009081526008602052604090205460ff1690565b610ae8611927565b6001600160a01b0316336001600160a01b031614610b4d576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60065460009081526008602090815260408083206001600160a01b03851684526004810190925290912054610b88908463ffffffff6118cd16565b6001600160a01b03831660009081526004830160205260409020556001810154610bb8908463ffffffff6118cd16565b600182015560065460408051858152602081019290925280516001600160a01b038516927f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf86692908290030190a2505050565b60006060610c16611275565b905060005b8151811015610d13576000828281518110610c3257fe5b602090810291909101810151600081815260058352604090819020546004805483516321f8a72160e01b815291820185905292519395506001600160a01b0391821694610100909304909116926321f8a72192602480840193919291829003018186803b158015610ca257600080fd5b505afa158015610cb6573d6000803e3d6000fd5b505050506040513d6020811015610ccc57600080fd5b50516001600160a01b0316141580610cf957506000818152600560205260409020546001600160a01b0316155b15610d0a57600093505050506107c9565b50600101610c1b565b50600191505090565b610d2461174a565b610d2d81611795565b6000610d37611805565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d6020811015610db657600080fd5b5051905080610e03576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6000610e1a6007548361187090919063ffffffff16565b905060008111610e68576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b610e8b8382610e75611805565b6001600160a01b0316919063ffffffff61181e16565b604080516001600160a01b03851681526020810183905281517f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3929181900390910190a1505050565b610edc61174a565b6001600160a01b038116610f37576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600980546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc9181900360200190a150565b6002546001600160a01b031681565b60009081526008602052604090206001015490565b60045460ff1681565b6000610fc2611805565b905090565b60009081526008602052604090206003015490565b6060610fe6611275565b905060005b81518110156111b557600082828151811061100257fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110cd5781810151838201526020016110b5565b50505050905090810190601f1680156110fa5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b505160008381526005602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610feb565b5050565b6002546001600160a01b031633146112025760405162461bcd60e51b8152600401808060200182810382526035815260200180611f016035913960400191505060405180910390fd5b600154600254604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b816000815181106112af57fe5b6020026020010181815250506a5065726946696e616e636560a81b816001815181106112d757fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526008602052604090206002015490565b6000610fc2600754611320611805565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137557600080fd5b505afa158015611389573d6000803e3d6000fd5b505050506040513d602081101561139f57600080fd5b50519063ffffffff61187016565b6113b561174a565b6113be82611795565b6006548110611414576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015290519081900360640190fd5b60008181526008602052604090206003810154611478576040805162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015290519081900360640190fd5b600381015461148a8482610e75611805565b60075461149d908263ffffffff61187016565b6007556000838152600860209081526040808320805460ff1916815560018101849055600281018490556003019290925581516001600160a01b038716815290810183905280820185905290517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9181900360600190a150505050565b600080546001019081905560045460ff16156115675760405162461bcd60e51b815260040180806020018281038252603c815260200180611f86603c913960400191505060405180910390fd5b611571338361193e565b60005481146111b5576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60006115d38383611a9d565b90505b92915050565b6009546001600160a01b031690565b600080546001019081905560045460ff16156116385760405162461bcd60e51b815260040180806020018281038252603c815260200180611f86603c913960400191505060405180910390fd5b60005b8281101561166d57600084848381811061165157fe5b905060200201359050611664338261193e565b5060010161163b565b5060005481146116c4576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b60009081526008602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b8281101561173c57600084848381811061170e57fe5b9050602002013590506117316117248783611a9d565b849063ffffffff6118cd16565b9250506001016116f8565b509392505050565b60075490565b6001546001600160a01b031633146117935760405162461bcd60e51b815260040180806020018281038252602f815260200180611f36602f913960400191505060405180910390fd5b565b6001600160a01b03811615806117b357506001600160a01b03811630145b15610ac8576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f7665722061646472657373000000000000000000604482015290519081900360640190fd5b6000610fc26a5065726946696e616e636560a81b611b41565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526116c4908490611c25565b6000828211156118c7576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156115d3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610fc26822bc31b430b733b2b960b91b611b41565b6000818152600860205260409020805460ff166119a2576040805162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a6564000000000000000000604482015290519081900360640190fd5b60006119ae8484611a9d565b9050600081116119fc576040805162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015290519081900360640190fd5b6001600160a01b03841660009081526004830160205260408120556003820154611a2c908263ffffffff61187016565b6003830155600754611a44908263ffffffff61187016565b600755611a548482610e75611805565b604080518281526020810185905281516001600160a01b038716927fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325928290030190a250505050565b600081815260086020526040812060038101541580611abe57506001810154155b80611acb5750805460ff16155b15611ada5760009150506115d6565b6001600160a01b038416600090815260048201602052604090205480611b05576000925050506115d6565b6000611b1e836001015483611de390919063ffffffff16565b9050611b37836002015482611e0d90919063ffffffff16565b9695505050505050565b600081815260056020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611c1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611be3578181015183820152602001611bcb565b50505050905090810190601f168015611c105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b611c37826001600160a01b0316611e37565b611c88576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611cc65780518252601f199092019160209182019101611ca7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d28576040519150601f19603f3d011682016040523d82523d6000602084013e611d2d565b606091505b509150915081611d84576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611ddd57808060200190516020811015611da057600080fd5b5051611ddd5760405162461bcd60e51b815260040180806020018281038252602a815260200180611fc2602a913960400191505060405180910390fd5b50505050565b60006115d382611e0185670de0b6b3a764000063ffffffff611e3d16565b9063ffffffff611e9616565b6000670de0b6b3a7640000611e28848463ffffffff611e3d16565b81611e2f57fe5b049392505050565b3b151590565b600082611e4c575060006115d6565b82820282848281611e5957fe5b04146115d35760405162461bcd60e51b8152600401808060200182810382526021815260200180611f656021913960400191505060405180910390fd5b6000808211611eec576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611ef757fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820c3ee4bb4e89f24254a49b58706937f0d79e3f9041061b4066d35d6ee9b67358364736f6c63430005100032",
			"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": "0x072ca9be98e17710224db98de44cf485df79d17d7fcdea95c7523db3d7b16769",
				"urls": [
					"bzz-raw://d9f058380020e0aa1ed5fcf763c40ccb400cdc1321936e044aecc3e5dd086c4b",
					"dweb:/ipfs/QmegWHNNek2VzxgPiA2vXYqG2wh1nmsiwz1qGppjyEQa1f"
				]
			},
			"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": "0x072ca9be98e17710224db98de44cf485df79d17d7fcdea95c7523db3d7b16769",
						"urls": [
							"bzz-raw://d9f058380020e0aa1ed5fcf763c40ccb400cdc1321936e044aecc3e5dd086c4b",
							"dweb:/ipfs/QmegWHNNek2VzxgPiA2vXYqG2wh1nmsiwz1qGppjyEQa1f"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateralpUSD": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$17dde3ba6158fad0cde918737687de0a85$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b505160960260075560408051630241ebdb60e61b8152905160649173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600855620001266301e133806008546200053e60201b62003f8b1790919060201c565b6009556103e873__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600a5573__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b50516298968002600b5560408051630241ebdb60e61b8152905173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c0916004808301926020929190829003018186803b1580156200027557600080fd5b505af41580156200028a573d6000803e3d6000fd5b505050506040513d6020811015620002a157600080fd5b5051600c556032600d55600e805460ff1916905560408051630241ebdb60e61b8152905160649173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c091600480820192602092909190829003018186803b1580156200030557600080fd5b505af41580156200031a573d6000803e3d6000fd5b505050506040513d60208110156200033157600080fd5b5051609602816200033e57fe5b04601055600a73__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200038957600080fd5b505af41580156200039e573d6000803e3d6000fd5b505050506040513d6020811015620003b557600080fd5b505181620003bf57fe5b04601155348015620003d057600080fd5b50604051620050e2380380620050e283398181016040526040811015620003f657600080fd5b50805160209091015180826001600160a01b0381166200045d576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000508576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a0001600f55620005aa565b600080821162000595576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620005a157fe5b04949350505050565b614b2880620005ba6000396000f3fe60806040526004361061036b5760003560e01c8063767a7b05116101c6578063a5d5db0c116100f7578063e220a81111610095578063e5829d201161006f578063e5829d2014610c64578063eea8f5da14610c8e578063f45f08fb14610ca3578063f53dfb8414610cdc5761036b565b8063e220a81114610c01578063e3c1e58c14610c3a578063e40108ed14610c4f5761036b565b8063b410a034116100d1578063b410a03414610b81578063bb8c6d6c14610b96578063d05951a014610bc2578063dcaf9c4414610bec5761036b565b8063a5d5db0c14610a91578063a76cdfa514610abd578063ab6a34fa14610ae75761036b565b80638da5cb5b11610164578063946ce8cd1161013e578063946ce8cd1461099e5780639f7d5688146109c8578063a1c51586146109dd578063a2e1734214610a615761036b565b80638da5cb5b1461094a5780638fdc8f3b1461095f57806391b4ded9146109895761036b565b80637cc1f867116101a05780637cc1f8671461084157806380a5d3d8146108bd578063899ffef4146108fc57806389c937de146109115761036b565b8063767a7b05146107e757806379ba5097146108175780637c3a00fd1461082c5761036b565b806339735e37116102a057806357b219201161023e5780635f84f302116102185780635f84f3021461074157806360655ba71461076b578063675969be146107bd57806374185360146107d25761036b565b806357b21920146106ed5780635c975abb146107025780635d1a2229146107175761036b565b80634f069f661161027a5780634f069f66146106585780634f11815c1461068257806353a47bb7146106bb57806354e3e70d146106d05761036b565b806339735e37146105da5780634189bb491461060a578063462b97251461061f5761036b565b806323aa7f0f1161030d5780632af64bd3116102e75780632af64bd3146104da5780632f2bf15b14610503578063361e208614610586578063384585711461059b5761036b565b806323aa7f0f1461049b57806323f5589a146104b057806324bbab8b146104c55761036b565b80631627540c116103495780631627540c146103fb57806316c38b3c146104305780631775765f1461045c57806317da255e146104715761036b565b806304f3bcec14610370578063089f7fb4146103a15780631474b279146103e6575b600080fd5b34801561037c57600080fd5b50610385610d06565b604080516001600160a01b039092168252519081900360200190f35b3480156103ad57600080fd5b506103d4600480360360208110156103c457600080fd5b50356001600160a01b0316610d15565b60408051918252519081900360200190f35b3480156103f257600080fd5b506103d4610d27565b34801561040757600080fd5b5061042e6004803603602081101561041e57600080fd5b50356001600160a01b0316610d2d565b005b34801561043c57600080fd5b5061042e6004803603602081101561045357600080fd5b50351515610d89565b34801561046857600080fd5b506103d4610e03565b34801561047d57600080fd5b5061042e6004803603602081101561049457600080fd5b5035610e09565b3480156104a757600080fd5b506103d4610e4c565b3480156104bc57600080fd5b506103d4610e52565b3480156104d157600080fd5b506103d4610e58565b3480156104e657600080fd5b506104ef610e62565b604080519115158252519081900360200190f35b34801561050f57600080fd5b506105366004803603602081101561052657600080fd5b50356001600160a01b0316610f6d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561057257818101518382015260200161055a565b505050509050019250505060405180910390f35b34801561059257600080fd5b506103d461115d565b3480156105a757600080fd5b5061042e600480360360608110156105be57600080fd5b506001600160a01b038135169060208101359060400135611163565b3480156105e657600080fd5b506103d4600480360360408110156105fd57600080fd5b508035906020013561173e565b34801561061657600080fd5b506103d4611831565b34801561062b57600080fd5b506103d46004803603604081101561064257600080fd5b506001600160a01b038135169060200135611837565b34801561066457600080fd5b5061042e6004803603602081101561067b57600080fd5b5035611857565b34801561068e57600080fd5b506103d4600480360360408110156106a557600080fd5b506001600160a01b03813516906020013561189a565b3480156106c757600080fd5b506103856118c1565b6103d4600480360360208110156106e657600080fd5b50356118d0565b3480156106f957600080fd5b506103d4611f13565b34801561070e57600080fd5b506104ef611f19565b34801561072357600080fd5b5061042e6004803603602081101561073a57600080fd5b5035611f22565b34801561074d57600080fd5b5061042e6004803603602081101561076457600080fd5b5035611fa5565b34801561077757600080fd5b506107a46004803603604081101561078e57600080fd5b506001600160a01b0381351690602001356120f1565b6040805192835260208301919091528051918290030190f35b3480156107c957600080fd5b506103d4612161565b3480156107de57600080fd5b5061042e612167565b3480156107f357600080fd5b5061042e6004803603604081101561080a57600080fd5b508035906020013561232f565b34801561082357600080fd5b5061042e612687565b34801561083857600080fd5b506103d4612743565b34801561084d57600080fd5b50610856612749565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b3480156108c957600080fd5b5061042e600480360360608110156108e057600080fd5b506001600160a01b0381351690602081013590604001356127b4565b34801561090857600080fd5b50610536612b15565b34801561091d57600080fd5b506103d46004803603604081101561093457600080fd5b506001600160a01b038135169060200135612bd8565b34801561095657600080fd5b50610385612c3a565b34801561096b57600080fd5b506103d46004803603602081101561098257600080fd5b5035612c49565b34801561099557600080fd5b506103d4612cef565b3480156109aa57600080fd5b5061042e600480360360208110156109c157600080fd5b5035612cf5565b3480156109d457600080fd5b506103d4612df2565b3480156109e957600080fd5b50610a1660048036036040811015610a0057600080fd5b506001600160a01b038135169060200135612df8565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b348015610a6d57600080fd5b506103d460048036036040811015610a8457600080fd5b5080359060200135612e9f565b61042e60048036036040811015610aa757600080fd5b506001600160a01b038135169060200135612ecd565b348015610ac957600080fd5b5061042e60048036036020811015610ae057600080fd5b5035613093565b348015610af357600080fd5b50610b2060048036036040811015610b0a57600080fd5b506001600160a01b0381351690602001356130d6565b604080516001600160a01b03909b168b5260208b0199909952898901979097526060890195909552608088019390935260a087019190915260c086015260e085015261010084015264ffffffffff1661012083015251908190036101400190f35b348015610b8d57600080fd5b506103d4613154565b348015610ba257600080fd5b5061042e60048036036020811015610bb957600080fd5b50351515613179565b348015610bce57600080fd5b5061042e60048036036020811015610be557600080fd5b5035613223565b348015610bf857600080fd5b506103d461333b565b348015610c0d57600080fd5b5061042e60048036036040811015610c2457600080fd5b506001600160a01b038135169060200135613341565b348015610c4657600080fd5b506104ef6134f2565b348015610c5b57600080fd5b506103d46134fb565b348015610c7057600080fd5b5061042e60048036036020811015610c8757600080fd5b5035613501565b348015610c9a57600080fd5b506103d46135d5565b348015610caf57600080fd5b506103d460048036036040811015610cc657600080fd5b506001600160a01b0381351690602001356135db565b348015610ce857600080fd5b506103d460048036036020811015610cff57600080fd5b5035613605565b6005546001600160a01b031681565b60166020526000908152604090205481565b600d5481565b610d356136b2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610d916136b2565b60035460ff1615158115151415610da757610e00565b6003805460ff1916821515179081905560ff1615610dc457426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60105481565b610e116136b2565b600c8190556040805182815290517f9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb69181900360200190a150565b60135481565b60115481565b6208aa8960eb1b81565b60006060610e6e612b15565b905060005b8151811015610f63576000828281518110610e8a57fe5b6020908102919091018101516000818152600683526040908190205460055482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610ef257600080fd5b505afa158015610f06573d6000803e3d6000fd5b505050506040513d6020811015610f1c57600080fd5b50516001600160a01b0316141580610f4957506000818152600660205260409020546001600160a01b0316155b15610f5a5760009350505050610f6a565b50600101610e73565b5060019150505b90565b6001600160a01b03811660009081526015602090815260408083208054825181850281018501909352808352606094859484015b828210156110445760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff166101208301529083529092019101610fa1565b50505050905060608151604051908082528060200260200182016040528015611077578160200160208202803883390190505b5090506000805b83518110156110e55783818151811061109357fe5b602002602001015160c00151600014156110dd578381815181106110b357fe5b602002602001015160a001518383815181106110cb57fe5b60209081029190910101526001909101905b60010161107e565b50606081604051908082528060200260200182016040528015611112578160200160208202803883390190505b50905060005b828110156111535783818151811061112c57fe5b602002602001015182828151811061114057fe5b6020908102919091010152600101611118565b5095945050505050565b600a5481565b60048054600101908190556111766136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156111bf57600080fd5b505afa1580156111d3573d6000803e3d6000fd5b505050506040513d60208110156111e957600080fd5b50511561122b576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b611233613718565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561126b57600080fd5b505afa15801561127f573d6000803e3d6000fd5b505050508161128c613732565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112e157600080fd5b505afa1580156112f5573d6000803e3d6000fd5b505050506040513d602081101561130b57600080fd5b5051101561135a576040805162461bcd60e51b81526020600482015260176024820152764e6f7420656e6f75676820705553442062616c616e636560481b604482015290519081900360640190fd5b611362614766565b61136c8585613749565b90506113778161388c565b600080600061138584613928565b92509250925060105483106113cb5760405162461bcd60e51b81526004018080602001828103825260288152602001806147ca6028913960400191505060405180910390fd5b60006114026113fc836113f08861010001518960400151613a1890919063ffffffff16565b9063ffffffff613a1816565b8461173e565b905060008782106114135787611415565b815b905061141f613732565b6001600160a01b0316639dc29fac33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561147e57600080fd5b505af1158015611492573d6000803e3d6000fd5b5050505060008060006114c1846114b7888c6101000151613a1890919063ffffffff16565b8b60400151613a72565b509250925092506114d28383613aeb565b60006114dc6136fd565b6001600160a01b031663654a60ac631c1554d160e21b876208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561153c57600080fd5b505afa158015611550573d6000803e3d6000fd5b505050506040513d602081101561156657600080fd5b505160115460408051630241ebdb60e61b8152905192935060009261160b926115fe92909173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c0916004808301926020929190829003018186803b1580156115c657600080fd5b505af41580156115da573d6000803e3d6000fd5b505050506040513d60208110156115f057600080fd5b50519063ffffffff613a1816565b839063ffffffff613c0a16565b905061162f8b611628868e60400151613c3490919063ffffffff16565b8542613c91565b61164f8b61164a838e60200151613c3490919063ffffffff16565b613d71565b50604051339082156108fc029083906000818181858888f1935050505015801561167d573d6000803e3d6000fd5b508e6001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58f33898560405180858152602001846001600160a01b03166001600160a01b0316815260200183815260200182815260200194505050505060405180910390a250505050505050505050506004548114611738576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b50505050565b60008073__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561178557600080fd5b505af4158015611799573d6000803e3d6000fd5b505050506040513d60208110156117af57600080fd5b505160105490915060006117d96117cc868463ffffffff613e9616565b879063ffffffff613c3416565b90506000611812611805846117f960115488613a1890919063ffffffff16565b9063ffffffff613e9616565b859063ffffffff613c3416565b9050611824828263ffffffff613e9616565b9450505050505b92915050565b60145481565b6000611841614766565b61184b8484613749565b60600151949350505050565b61185f6136b2565b600b8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b60006118a4614766565b6118ae8484613749565b90506118b981613ec0565b949350505050565b6001546001600160a01b031681565b60035460009060ff16156119155760405162461bcd60e51b815260040180806020018281038252603c815260200180614a14603c913960400191505060405180910390fd5b60048054600101908190556119286136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561197157600080fd5b505afa158015611985573d6000803e3d6000fd5b505050506040513d602081101561199b57600080fd5b5051156119dd576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b6119e5613718565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a1d57600080fd5b505afa158015611a31573d6000803e3d6000fd5b50505050600c54341015611a765760405162461bcd60e51b8152600401808060200182810382526048815260200180614aac6048913960600191505060405180910390fd5b600e5460ff1615611ace576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600d543360009081526015602052604090205410611b1d5760405162461bcd60e51b81526004018080602001828103825260238152602001806149a16023913960400191505060405180910390fd5b6000611b2834612c49565b905080841115611b695760405162461bcd60e51b81526004018080602001828103825260278152602001806148db6027913960400191505060405180910390fd5b6000611b7485613f27565b90506000611b88868363ffffffff613c3416565b9050600b54611ba287601254613a1890919063ffffffff16565b1115611bdf5760405162461bcd60e51b815260040180806020018281038252602381526020018061497e6023913960400191505060405180910390fd5b611be7613f3e565b9450611bf1614766565b5060408051610140810182523381523460208201529081018790526060810183905242608082015260a08101869052600060c0820181905260085460e083015261010082018190526101208201528215611d3e57611c4d613732565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611cc057600080fd5b505af1158015611cd4573d6000803e3d6000fd5b50505050611ce0613f76565b6001600160a01b03166322bf55ef846040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015611d2557600080fd5b505af1158015611d39573d6000803e3d6000fd5b505050505b336000908152601560209081526040808320805460018082018355918552938390208551600a9095020180546001600160a01b0319166001600160a01b0390951694909417845591840151918301919091558201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e0820151600782015561010082015160088201556101208201516009909101805464ffffffffff191664ffffffffff909216919091179055601254611e069088613a18565b601255611e11613732565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611e7057600080fd5b505af1158015611e84573d6000803e3d6000fd5b505060408051898152602081018b905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505050506004548114611f0d576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b50919050565b60125481565b60035460ff1681565b611f2a6136b2565b6103e88110611f6a5760405162461bcd60e51b815260040180806020018281038252603381526020018061494b6033913960400191505060405180910390fd5b600d8190556040805182815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a150565b611fad6136b2565b6301e133808111611fef5760405162461bcd60e51b8152600401808060200182810382526037815260200180614a756037913960400191505060405180910390fd5b73__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561203357600080fd5b505af4158015612047573d6000803e3d6000fd5b505050506040513d602081101561205d57600080fd5b505181111561209d5760405162461bcd60e51b8152600401808060200182810382526025815260200180614a506025913960400191505060405180910390fd5b60088190556120b6816301e1338063ffffffff613f8b16565b60095560085460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b6000806120fc614766565b6121068585613749565b905060006121268261010001518360400151613a1890919063ffffffff16565b905061214f61213d8261213885613ec0565b612e9f565b6101008401519063ffffffff613a1816565b93508160600151925050509250929050565b600c5481565b6060612171612b15565b905060005b815181101561232b57600082828151811061218d57fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561224357818101518382015260200161222b565b50505050905090810190601f1680156122705780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561228e57600080fd5b505afa1580156122a2573d6000803e3d6000fd5b505050506040513d60208110156122b857600080fd5b505160008381526006602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101612176565b5050565b60035460ff16156123715760405162461bcd60e51b815260040180806020018281038252603c815260200180614a14603c913960400191505060405180910390fd5b60048054600101908190556123846136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156123cd57600080fd5b505afa1580156123e1573d6000803e3d6000fd5b505050506040513d60208110156123f757600080fd5b505115612439576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b600082116124785760405162461bcd60e51b81526004018080602001828103825260298152602001806149026029913960400191505060405180910390fd5b612480613718565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156124b857600080fd5b505afa1580156124cc573d6000803e3d6000fd5b5050600e5460ff1615915061252a9050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b612532614766565b61253c3385613749565b90506125478161388c565b602081015160009061255f908563ffffffff613c3416565b9050612569614766565b6125738383613d71565b9050600061258082613928565b5050905060105481116125c45760405162461bcd60e51b81526004018080602001828103825260318152602001806147f26031913960400191505060405180910390fd5b604051339087156108fc029088906000818181858888f193505050501580156125f1573d6000803e3d6000fd5b50602080830151604080518a8152928301899052828101919091525133917ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303919081900360600190a2505050506004548114612682576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b505050565b6001546001600160a01b031633146126d05760405162461bcd60e51b81526004018080602001828103825260358152602001806148436035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60075460008080808080808080808080612761613154565b9b506008549a506009549950600a549850600b549750600c549650601254955060135494506014549350479250600f549150600e60009054906101000a900460ff169050909192939495969798999a9b9c565b6127bc6136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561280557600080fd5b505afa158015612819573d6000803e3d6000fd5b505050506040513d602081101561282f57600080fd5b505115612871576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b612879613718565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156128b157600080fd5b505afa1580156128c5573d6000803e3d6000fd5b50505050806128d2613732565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561292757600080fd5b505afa15801561293b573d6000803e3d6000fd5b505050506040513d602081101561295157600080fd5b505110156129a0576040805162461bcd60e51b81526020600482015260176024820152764e6f7420656e6f75676820705553442062616c616e636560481b604482015290519081900360640190fd5b6129a8614766565b6129b28484613749565b90506129bd8161388c565b60006129db8261010001518360400151613a1890919063ffffffff16565b905060006129ec8261213885613ec0565b90506000612a0882856101000151613a1890919063ffffffff16565b9050600080600080612a1f89868a60400151613a72565b9350935093509350612a2f613732565b6001600160a01b0316639dc29fac338b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612a8e57600080fd5b505af1158015612aa2573d6000803e3d6000fd5b50505050612ab08484613aeb565b612abc88828442613c91565b604080518b8152602081018b905280820183905290516001600160a01b038d16917f2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572919081900360600190a25050505050505050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110612b5557fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b81600181518110612b7b57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110612ba557fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110612bc957fe5b60200260200101818152505090565b6000612be2614766565b612bec8484613749565b90506000612c18612c0f8361010001518460400151613a1890919063ffffffff16565b61213884613ec0565b610100830151909150612c31908263ffffffff613a1816565b95945050505050565b6000546001600160a01b031681565b600061182b612c566136fd565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015612c9f57600080fd5b505afa158015612cb3573d6000803e3d6000fd5b505050506040513d6020811015612cc957600080fd5b5051612ce3612cd6613154565b859063ffffffff613c0a16565b9063ffffffff613c0a16565b60025481565b612cfd6136b2565b73__$17dde3ba6158fad0cde918737687de0a85$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612d4157600080fd5b505af4158015612d55573d6000803e3d6000fd5b505050506040513d6020811015612d6b57600080fd5b50518111612db7576040805162461bcd60e51b8152602060048201526014602482015273526174696f206c657373207468616e203130302560601b604482015290519081900360640190fd5b60108190556040805182815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9181900360200190a150565b600f5481565b600080600080600080600080612e0c614766565b612e168b8b613749565b9050806000015198508060200151975080604001519650806080015195508060a0015194508060c001519350612e76612e64612c0f8361010001518460400151613a1890919063ffffffff16565b6101008301519063ffffffff613a1816565b9250612e8f816060015184613a1890919063ffffffff16565b9150509295985092959890939650565b6000612ec6612eb983600954613ff590919063ffffffff16565b849063ffffffff61404e16565b9392505050565b60035460ff1615612f0f5760405162461bcd60e51b815260040180806020018281038252603c815260200180614a14603c913960400191505060405180910390fd5b60003411612f4e5760405162461bcd60e51b81526004018080602001828103825260258152602001806148b66025913960400191505060405180910390fd5b612f56613718565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612f8e57600080fd5b505afa158015612fa2573d6000803e3d6000fd5b5050600e5460ff161591506130009050576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b613008614766565b6130128383613749565b905061301d8161388c565b6020810151600090613035903463ffffffff613a1816565b90506130418282613d71565b506040805184815234602082015280820183905290516001600160a01b038616917f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c919081900360600190a250505050565b61309b6136b2565b600a8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b601560205281600052604060002081815481106130ef57fe5b60009182526020909120600a909102018054600182015460028301546003840154600485015460058601546006870154600788015460088901546009909901546001600160a01b039098169a50959850939692959194909392909164ffffffffff168a565b600061317460075468056bc75e2d6310000061406390919063ffffffff16565b905090565b6131816136b2565b600f5442116131d7576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600e805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b60048054600101908190556132366136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561327f57600080fd5b505afa158015613293573d6000803e3d6000fd5b505050506040513d60208110156132a957600080fd5b5051156132eb576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b6132f733836000614078565b600454811461232b576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b60075481565b60048054600101908190556133546136fd565b6001600160a01b0316632528f0fe6208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561339d57600080fd5b505afa1580156133b1573d6000803e3d6000fd5b505050506040513d60208110156133c757600080fd5b505115613409576040805162461bcd60e51b815260206004820152601e602482015260008051602061492b833981519152604482015290519081900360640190fd5b600e5460ff16613460576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b61346c83836001614078565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a26004548114612682576040805162461bcd60e51b815260206004820152601f6024820152600080516020614823833981519152604482015290519081900360640190fd5b600e5460ff1681565b60095481565b6135096136b2565b683635c9adc5dea00000811115613552576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d6310000081101561359a576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60078190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b600b5481565b60006135e5614766565b6135ef8484613749565b90506135fa81613928565b509095945050505050565b600061182b68056bc75e2d631000006136a6612cd66136226136fd565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561366b57600080fd5b505afa15801561367f573d6000803e3d6000fd5b505050506040513d602081101561369557600080fd5b50516007549063ffffffff61406316565b9063ffffffff61406316565b6000546001600160a01b031633146136fb5760405162461bcd60e51b815260040180806020018281038252602f8152602001806149c4602f913960400191505060405180910390fd5b565b60006131746c45786368616e6765526174657360981b61458b565b60006131746b53797374656d53746174757360a01b61458b565b600061317468141e5b9d1a1c1554d160ba1b61458b565b613751614766565b6001600160a01b0383166000908152601560209081526040808320805482518185028101850190935280835260609492939192909184015b8282101561382c5760008481526020908190206040805161014081018252600a860290920180546001600160a01b03168352600180820154848601526002820154928401929092526003810154606084015260048101546080840152600581015460a0840152600681015460c0840152600781015460e084015260088101546101008401526009015464ffffffffff166101208301529083529092019101613789565b509293506000925050505b8151811015613884578382828151811061384d57fe5b602002602001015160a00151141561387c5781818151811061386b57fe5b60200260200101519250505061182b565b600101613837565b505092915050565b60008160a00151116138db576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60c081015115610e00576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b60008060008061394a8561010001518660400151613a1890919063ffffffff16565b90506139598161213887613ec0565b91506139ec6139666136fd565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156139af57600080fd5b505afa1580156139c3573d6000803e3d6000fd5b505050506040513d60208110156139d957600080fd5b505160208701519063ffffffff613c0a16565b9250613a0e613a01828463ffffffff613a1816565b849063ffffffff613e9616565b9350509193909250565b600082820183811015612ec6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000808381868015801590613a875750600087115b15613ac257868111613a995780613a9b565b865b9450613aad838663ffffffff613c3416565b9250613abf818663ffffffff613c3416565b90505b8591508015613ae157613adb828263ffffffff613c3416565b91508093505b5093509350935093565b8115613bea57613af9613732565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015613b6c57600080fd5b505af1158015613b80573d6000803e3d6000fd5b50505050613b8c613f76565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015613bd157600080fd5b505af1158015613be5573d6000803e3d6000fd5b505050505b801561232b57601254613c03908263ffffffff613c3416565b6012555050565b6000670de0b6b3a7640000613c25848463ffffffff613ff516565b81613c2c57fe5b049392505050565b600082821115613c8b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b83516001600160a01b03166000908152601560205260408120905b8154811015613d69578560a00151828281548110613cc657fe5b90600052602060002090600a0201600501541415613d615784828281548110613ceb57fe5b90600052602060002090600a02016002018190555083828281548110613d0d57fe5b90600052602060002090600a02016008018190555082828281548110613d2f57fe5b90600052602060002090600a020160090160006101000a81548164ffffffffff021916908364ffffffffff1602179055505b600101613cac565b505050505050565b613d79614766565b82516001600160a01b03166000908152601560205260408120905b8154811015613884578460a00151828281548110613dae57fe5b90600052602060002090600a0201600501541415613e8e5783828281548110613dd357fe5b90600052602060002090600a020160010181905550818181548110613df457fe5b60009182526020918290206040805161014081018252600a90930290910180546001600160a01b031683526001810154938301939093526002830154908201526003820154606082015260048201546080820152600582015460a0820152600682015460c0820152600782015460e0820152600882015461010082015260099091015464ffffffffff16610120820152925061182b915050565b600101613d94565b6000612ec682613eb485670de0b6b3a764000063ffffffff613ff516565b9063ffffffff613f8b16565b600080600083610120015164ffffffffff1611613ee1578260800151613eef565b82610120015164ffffffffff165b905060008360c0015111613f1257613f0d428263ffffffff613c3416565b612ec6565b60c0830151612ec6908263ffffffff613c3416565b600061182b600a548361404e90919063ffffffff16565b601454600090613f5590600163ffffffff613a1816565b601455601354613f6c90600163ffffffff613a1816565b6013819055905090565b600061317466119959541bdbdb60ca1b61458b565b6000808211613fe1576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613fec57fe5b04949350505050565b6000826140045750600061182b565b8282028284828161401157fe5b0414612ec65760405162461bcd60e51b81526004018080602001828103825260218152602001806149f36021913960400191505060405180910390fd5b6000612ec68383670de0b6b3a764000061466f565b6000612ec68383670de0b6b3a76400006146ac565b614080613718565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156140b857600080fd5b505afa1580156140cc573d6000803e3d6000fd5b505050506140d8614766565b6140e28484613749565b90506140ed8161388c565b600061410e612c0f8361010001518460400151613a1890919063ffffffff16565b90506000614129828460400151613a1890919063ffffffff16565b9050600061414583856101000151613a1890919063ffffffff16565b905081614150613732565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156141a557600080fd5b505afa1580156141b9573d6000803e3d6000fd5b505050506040513d60208110156141cf57600080fd5b5051101561420e5760405162461bcd60e51b815260040180806020018281038252603e815260200180614878603e913960400191505060405180910390fd5b614217846146d2565b6142456142368561010001518660400151613c3490919063ffffffff16565b6012549063ffffffff613c3416565b601255614250613732565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156142af57600080fd5b505af11580156142c3573d6000803e3d6000fd5b505050506142cf613732565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561434257600080fd5b505af1158015614356573d6000803e3d6000fd5b50505050614362613f76565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156143a757600080fd5b505af11580156143bb573d6000803e3d6000fd5b50505050602084015185156145045760006143d46136fd565b6001600160a01b031663654a60ac631c1554d160e21b866208aa8960eb1b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801561443457600080fd5b505afa158015614448573d6000803e3d6000fd5b505050506040513d602081101561445e57600080fd5b505160115460408051630241ebdb60e61b815290519293506000926144be926115fe92909173__$17dde3ba6158fad0cde918737687de0a85$__9163907af6c0916004808301926020929190829003018186803b1580156115c657600080fd5b90506144d0838263ffffffff613c3416565b604051909350339082156108fc029083906000818181858888f19350505050158015614500573d6000803e3d6000fd5b5050505b84516040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561453d573d6000803e3d6000fd5b50604080518881526020810184905281516001600160a01b038b16927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a25050505050505050565b600081815260066020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816146685760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561462d578181015183820152602001614615565b50505050905090810190601f16801561465a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600080600a8304614686868663ffffffff613ff516565b8161468d57fe5b0490506005600a825b06106146a057600a015b600a9004949350505050565b6000806146c684613eb487600a870263ffffffff613ff516565b90506005600a82614696565b80516001600160a01b03166000908152601560205260408120905b815481101561474a578260a0015182828154811061470757fe5b90600052602060002090600a0201600501541415614742574282828154811061472c57fe5b90600052602060002090600a0201600601819055505b6001016146ed565b5060145461475f90600163ffffffff613c3416565b6014555050565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff168152509056fe436f6c6c61746572616c20726174696f2061626f7665206c69717569646174696f6e20726174696f436f6c6c61746572616c20726174696f2062656c6f77206c69717569646174696f6e2061667465722077697468647261775265656e7472616e637947756172643a207265656e7472616e742063616c6c00596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970596f7520646f206e6f742068617665207468652072657175697265642050796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e4465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20304c6f616e20616d6f756e742065786365656473206d617820626f72726f77696e6720706f776572416d6f756e7420746f207769746864726177206d7573742062652067726561746572207468616e2030426c6f636b656420617320455448207261746520697320696e76616c696400004f776e65722063616e6e6f742073657420686967686572207468616e204143434f554e545f4c4f414e5f4c494d49545f4341504c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e45616368206163636f756e74206973206c696d6974656420746f203530206c6f616e734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f594541524e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e436f6c6c61746572616c53697a65a265627a7a723158205cec04d33f11b32bd18638acc4d600c982dc9cabb929fa0e5323559741f27f0964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanLimit",
							"type": "uint256"
						}
					],
					"name": "AccountLoanLimitUpdated",
					"type": "event",
					"signature": "0x59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "CollateralizationRatioUpdated",
					"type": "event",
					"signature": "0xfb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce07869530"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interestRate",
							"type": "uint256"
						}
					],
					"name": "InterestRateUpdated",
					"type": "event",
					"signature": "0xa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d74"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueLimit",
							"type": "uint256"
						}
					],
					"name": "IssueLimitUpdated",
					"type": "event",
					"signature": "0xbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "feesPaid",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0x3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "LoanLiquidated",
					"type": "event",
					"signature": "0xde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "LoanLiquidationOpenUpdated",
					"type": "event",
					"signature": "0xaa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidatedCollateral",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "repaidAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newLoanAmount",
							"type": "uint256"
						}
					],
					"name": "LoanRepaid",
					"type": "event",
					"signature": "0x2cebe3c4a7e8e81ca2035a6cb3ee450bb6401d9b6636652e183583f047049572"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "MinLoanCollateralSizeUpdated",
					"type": "event",
					"signature": "0x9f45df4d81199bea8f20e88707b6f7d36b8e8f20a7def01c113746f67557ffb6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "COLLATERAL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x24bbab8b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "accountLoanLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1474b279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accountOpenLoanCounter",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x089f7fb4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountsPynthLoans",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanInterestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint40",
							"name": "lastInterestAccrued",
							"type": "uint40"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xab6a34fa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_seconds",
							"type": "uint256"
						}
					],
					"name": "accruedInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa2e17342"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "calculateAmountToLiquidate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x39735e37"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "closeLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd05951a0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						}
					],
					"name": "collateralAmountForLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf53dfb84"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralizationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdcaf9c44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "currentInterestOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89c937de"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"name": "depositCollateral",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xa5d5db0c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getContractInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "_collateralizationRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_interestPerSecond",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minLoanCollateralSize",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalIssuedPynths",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalLoansCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_totalOpenLoanCount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_ethBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_liquidationDeadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7cc1f867"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoan",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeCreated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timeClosed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "accruedInterest",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa1c51586"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getLoanCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanCollateralRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf45f08fb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "getMintingFee",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x462b9725"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestPerSecond",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe40108ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interestRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c3a00fd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeea8f5da"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_debtToCover",
							"type": "uint256"
						}
					],
					"name": "liquidateLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x38458571"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "liquidateUnclosedLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe220a811"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDeadline",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f7d5688"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateralAmount",
							"type": "uint256"
						}
					],
					"name": "loanAmountFromCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8fdc8f3b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "loanLiquidationOpen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c1e58c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minLoanCollateralSize",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x675969be"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanAmount",
							"type": "uint256"
						}
					],
					"name": "openLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						}
					],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x54e3e70d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "openLoanIDsByAccount",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f2bf15b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_loanCreatorsAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_repayAmount",
							"type": "uint256"
						}
					],
					"name": "repayLoan",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x80a5d3d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_loanLimit",
							"type": "uint256"
						}
					],
					"name": "setAccountLoanLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5d1a2229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "ratio",
							"type": "uint256"
						}
					],
					"name": "setCollateralizationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe5829d20"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interestRate",
							"type": "uint256"
						}
					],
					"name": "setInterestRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5f84f302"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueLimit",
							"type": "uint256"
						}
					],
					"name": "setIssueLimit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4f069f66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_loanLiquidationOpen",
							"type": "bool"
						}
					],
					"name": "setLoanLiquidationOpen",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb8c6d6c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minLoanCollateralSize",
							"type": "uint256"
						}
					],
					"name": "setMinLoanCollateralSize",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x17da255e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "timeSinceInterestAccrualOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f11815c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_loanID",
							"type": "uint256"
						}
					],
					"name": "totalFeesOnLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "interestAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "mintingFee",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x60655ba7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalIssuedPynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57b21920"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLoansCreated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23aa7f0f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOpenLoanCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4189bb49"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "loanID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "withdrawAmount",
							"type": "uint256"
						}
					],
					"name": "withdrawCollateral",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x767a7b05"
				}
			],
			"source": {
				"keccak256": "0x600b2251333537863123d8c839d4d509601a0c51e80f3e8ffb5b3f6e1301eec3",
				"urls": [
					"bzz-raw://8030313f1ccadaf512bd416226bbd8b77647ac15f27cc8b5c401be4c477fb543",
					"dweb:/ipfs/QmVsBMDEkfpztm29x8Vv7LgLhEp37J7ckM4KZwiY96pMhw"
				]
			},
			"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": "0x600b2251333537863123d8c839d4d509601a0c51e80f3e8ffb5b3f6e1301eec3",
						"urls": [
							"bzz-raw://8030313f1ccadaf512bd416226bbd8b77647ac15f27cc8b5c401be4c477fb543",
							"dweb:/ipfs/QmVsBMDEkfpztm29x8Vv7LgLhEp37J7ckM4KZwiY96pMhw"
						]
					}
				},
				"version": 1
			}
		},
		"DebtCache": {
			"bytecode": "60806040526007805460ff1916600117905534801561001d57600080fd5b506040516125e03803806125e08339818101604052604081101561004057600080fd5b50805160209091015181818080836001600160a01b0381166100a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506124a9806101376000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638da5cb5b116100c3578063dae3de981161007c578063dae3de98146103dd578063e3476cd41461044b578063f7cc999f14610453578063fa9f18d314610470578063fc524773146104de578063fca28f74146104e657610158565b80638da5cb5b146102e25780639f98fb49146102ea578063a5f27edb146103a8578063af5355d8146103b0578063d0fffafd146103b8578063d6576c84146103c057610158565b806353a47bb71161011557806353a47bb71461022e5780637418536014610236578063759076e51461023e57806379ba50971461025f5780638376a78214610267578063899ffef41461028a57610158565b806304bd11e51461015d57806304f3bcec1461017e57806305393262146101a25780631627540c146101bc5780632af64bd3146101e25780633a900a2e146101fe575b600080fd5b61017c6004803603602081101561017357600080fd5b503515156105b3565b005b6101866105c7565b604080516001600160a01b039092168252519081900360200190f35b6101aa6105d6565b60408051918252519081900360200190f35b61017c600480360360208110156101d257600080fd5b50356001600160a01b03166105dd565b6101ea610639565b604080519115158252519081900360200190f35b610206610743565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b610186610774565b61017c610783565b61024661094b565b6040805192835290151560208301528051918290030190f35b61017c61095e565b61017c6004803603604081101561027d57600080fd5b5080359060200135610a1a565b610292610aad565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ce5781810151838201526020016102b6565b505050509050019250505060405180910390f35b610186610c17565b61017c6004803603604081101561030057600080fd5b810190602081018135600160201b81111561031a57600080fd5b82018360208201111561032c57600080fd5b803590602001918460208302840111600160201b8311171561034d57600080fd5b919390929091602081019035600160201b81111561036a57600080fd5b82018360208201111561037c57600080fd5b803590602001918460208302840111600160201b8311171561039d57600080fd5b509092509050610c26565b6101ea610c9b565b6101aa610ca4565b6101aa610cb3565b61017c600480360360208110156103d657600080fd5b5035610cb9565b610292600480360360208110156103f357600080fd5b810190602081018135600160201b81111561040d57600080fd5b82018360208201111561041f57600080fd5b803590602001918460208302840111600160201b8311171561044057600080fd5b509092509050610d95565b61017c610ddc565b6101aa6004803603602081101561046957600080fd5b503561106f565b61017c6004803603602081101561048657600080fd5b810190602081018135600160201b8111156104a057600080fd5b8201836020820111156104b257600080fd5b803590602001918460208302840111600160201b831117156104d357600080fd5b509092509050611081565b6101ea611216565b610554600480360360208110156104fc57600080fd5b810190602081018135600160201b81111561051657600080fd5b82018360208201111561052857600080fd5b803590602001918460208302840111600160201b8311171561054957600080fd5b509092509050611223565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561059e578181015183820152602001610586565b50505050905001935050505060405180910390f35b6105bb61126e565b6105c4816112d4565b50565b6002546001600160a01b031681565b6004545b90565b6105e5611321565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060610645610aad565b905060005b815181101561073a57600082828151811061066157fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156106c957600080fd5b505afa1580156106dd573d6000803e3d6000fd5b505050506040513d60208110156106f357600080fd5b50516001600160a01b031614158061072057506000818152600360205260409020546001600160a01b0316155b1561073157600093505050506105da565b5060010161064a565b50600191505090565b6006546004546007546000928392839283929190829060ff166107658261136a565b94509450945094505090919293565b6001546001600160a01b031681565b606061078d610aad565b905060005b81518110156109475760008282815181106107a957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561085f578181015183820152602001610847565b50505050905090810190601f16801561088c5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d60208110156108d457600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610792565b5050565b600080610956611383565b915091509091565b6001546001600160a01b031633146109a75760405162461bcd60e51b81526004018080602001828103825260358152602001806123cf6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610a2261126e565b604080516001808252818301909252606091602080830190803883390190505090508281600081518110610a5257fe5b60209081029190910101526040805160018082528183019092526060918160200160208202803883390190505090508281600081518110610a8f57fe5b602002602001018181525050610aa782826000611581565b50505050565b606080610ab8611736565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506524b9b9bab2b960d11b81600081518110610af757fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610b1d57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610b4757fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610b7057fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600481518110610b9c57fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1c1554d1606a1b81600581518110610bcc57fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600681518110610bfa57fe5b602002602001018181525050610c108282611787565b9250505090565b6000546001600160a01b031681565b610c2e611843565b610aa78484808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152505060408051602080880282810182019093528782529093508792508691829185019084908082843760009201829052509250611581915050565b60075460ff1690565b6000610cae6118bd565b905090565b60065490565b610cc1611321565b6000610ccb61196c565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d0e57600080fd5b505afa158015610d22573d6000803e3d6000fd5b505050506040513d6020811015610d3857600080fd5b50516001600160a01b031614610d84576040805162461bcd60e51b815260206004820152600c60248201526b50796e74682065786973747360a01b604482015290519081900360640190fd5b600090815260056020526040812055565b6060610dd383838080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061198092505050565b90505b92915050565b610de4611a10565b6060610dee61196c565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015610e2657600080fd5b505afa158015610e3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610e6357600080fd5b8101908080516040519392919084600160201b821115610e8257600080fd5b908301906020820185811115610e9757600080fd5b82518660208202830111600160201b82111715610eb357600080fd5b82525081516020918201928201910280838360005b83811015610ee0578181015183820152602001610ec8565b50505050905001604052505050905060606000610efc83611a76565b915091506000610f0a611bef565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b158015610f4157600080fd5b505afa158015610f55573d6000803e3d6000fd5b505050506040513d6040811015610f6b57600080fd5b505183519091506000805b82811015610fe0576000868281518110610f8c57fe5b60200260200101519050610fa98184611c0e90919063ffffffff16565b925080600560008a8581518110610fbc57fe5b60209081029190910181015182528101919091526040016000205550600101610f76565b50610ff1818463ffffffff611c6816565b600455426006556040805182815290517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a1611067846112d4565b505050505050565b60009081526005602052604090205490565b611089611a10565b60606000611095611cc5565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561110757600080fd5b505afa15801561111b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561114457600080fd5b8101908080516040519392919084600160201b82111561116357600080fd5b90830190602082018581111561117857600080fd5b82518660208202830111600160201b8211171561119457600080fd5b82525081516020918201928201910280838360005b838110156111c15781810151838201526020016111a9565b505050509190910160408181526020938401518a850280840186019092528a8352969850959650610aa79590945089935088928392508501908490808284376000920191909152508692508591506115819050565b6000610cae60065461136a565b60606000611263848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611a7692505050565b915091509250929050565b61127661196c565b6001600160a01b0316336001600160a01b0316146112d2576040805162461bcd60e51b815260206004820152601460248201527329b2b73232b91034b9903737ba1024b9b9bab2b960611b604482015290519081900360640190fd5b565b60075460ff161515811515146105c4576007805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6000546001600160a01b031633146112d25760405162461bcd60e51b815260040180806020018281038252602f815260200180612425602f913960400191505060405180910390fd5b60008142036113776118bd565b1080610dd65750501590565b6000806060600061149961139561196c565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b1580156113cd57600080fd5b505afa1580156113e1573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561140a57600080fd5b8101908080516040519392919084600160201b82111561142957600080fd5b90830190602082018581111561143e57600080fd5b82518660208202830111600160201b8211171561145a57600080fd5b82525081516020918201928201910280838360005b8381101561148757818101518382015260200161146f565b50505050905001604052505050611a76565b815191935091506000805b828110156114dc576114d28582815181106114bb57fe5b602002602001015183611c0e90919063ffffffff16565b91506001016114a4565b506000806114e8611bef565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b15801561151f57600080fd5b505afa158015611533573d6000803e3d6000fd5b505050506040513d604081101561154957600080fd5b5080516020909101519092509050611567838363ffffffff611c6816565b925084806115725750805b92975091955050505050509091565b8251825181146115d8576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b60008060606115e78787611ce0565b905060005b8481101561167657600088828151811061160257fe5b60200260200101519050600083838151811061161a57fe5b6020026020010151905061164a600560008481526020019081526020016000205487611c0e90919063ffffffff16565b955061165c858263ffffffff611c0e16565b6000928352600560205260409092205592506001016115ec565b5081831461171e57600454808411156116c05760405162461bcd60e51b81526004018080602001828103825260238152602001806123ac6023913960400191505060405180910390fd5b6116e0836116d4838763ffffffff611c6816565b9063ffffffff611c0e16565b60048190556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a1505b841561172d5761172d856112d4565b50505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061177857fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156117b7578160200160208202803883390190505b50905060005b83518110156117f9578381815181106117d257fe5b60200260200101518282815181106117e657fe5b60209081029190910101526001016117bd565b5060005b825181101561183c5782818151811061181257fe5b602002602001015182828651018151811061182957fe5b60209081029190910101526001016117fd565b5092915050565b61184b61196c565b6001600160a01b0316336001600160a01b03161480611882575061186d6121a3565b6001600160a01b0316336001600160a01b0316145b6112d25760405162461bcd60e51b81526004018080602001828103825260218152602001806124046021913960400191505060405180910390fd5b60006118c76121ba565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561193b57600080fd5b505afa15801561194f573d6000803e3d6000fd5b505050506040513d602081101561196557600080fd5b5051905090565b6000610cae6524b9b9bab2b960d11b6121d3565b60606000825190506060816040519080825280602002602001820160405280156119b4578160200160208202803883390190505b50905060005b82811015611a0857600560008683815181106119d257fe5b60200260200101518152602001908152602001600020548282815181106119f557fe5b60209081029190910101526001016119ba565b509392505050565b6000546001600160a01b031633146112d257611a2a6122b0565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015611a6257600080fd5b505afa158015610aa7573d6000803e3d6000fd5b6060600060606000611a86611cc5565b6001600160a01b031663c8e5bbd5866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611ae4578181015183820152602001611acc565b505050509050019250505060006040518083038186803b158015611b0757600080fd5b505afa158015611b1b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611b4457600080fd5b8101908080516040519392919084600160201b821115611b6357600080fd5b908301906020820185811115611b7857600080fd5b82518660208202830111600160201b82111715611b9457600080fd5b82525081516020918201928201910280838360005b83811015611bc1578181015183820152602001611ba9565b50505050919091016040525060200151929450919250611be5915086905083611ce0565b9350915050915091565b6000610cae7021b7b63630ba32b930b626b0b730b3b2b960791b6121d3565b600082820183811015610dd3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611cbf576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610cae6c45786368616e6765526174657360981b6121d3565b6060600083519050606081604051908082528060200260200182016040528015611d14578160200160208202803883390190505b5090506060611d2161196c565b6001600160a01b0316631db63a33876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611d7f578181015183820152602001611d67565b505050509050019250505060006040518083038186803b158015611da257600080fd5b505afa158015611db6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611ddf57600080fd5b8101908080516040519392919084600160201b821115611dfe57600080fd5b908301906020820185811115611e1357600080fd5b82518660208202830111600160201b82111715611e2f57600080fd5b82525081516020918201928201910280838360005b83811015611e5c578181015183820152602001611e44565b50505050905001604052505050905060008090505b83811015612198576000878281518110611e8757fe5b602002602001015190506000838381518110611e9f57fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415611f08576040805162461bcd60e51b8152602060048201526014602482015273141e5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f4357600080fd5b505afa158015611f57573d6000803e3d6000fd5b505050506040513d6020811015611f6d57600080fd5b50519050611f79611bef565b6001600160a01b03166342e32f13846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611fbc57600080fd5b505afa158015611fd0573d6000803e3d6000fd5b505050506040513d6020811015611fe657600080fd5b50511561208e576000611ff7611bef565b6001600160a01b031663d2f00475856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561203a57600080fd5b505afa15801561204e573d6000803e3d6000fd5b505050506040513d602081101561206457600080fd5b5051905081811115612079576000915061208c565b612089828263ffffffff611c6816565b91505b505b631c1554d160e21b831480806120aa5750630e08aa8960e31b84145b1561214b576000816120c3576120be6122ca565b6120cb565b6120cb6122e7565b90506000816001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b15801561210857600080fd5b505afa15801561211c573d6000803e3d6000fd5b505050506040513d602081101561213257600080fd5b50519050612146848263ffffffff611c6816565b935050505b6121718a868151811061215a57fe5b60200260200101518361230890919063ffffffff16565b87868151811061217d57fe5b6020908102919091010152505060019092019150611e719050565b509095945050505050565b6000610cae6822bc31b430b733b2b960b91b6121d3565b6000610cae6e466c657869626c6553746f7261676560881b5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908161183c5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561227557818101518382015260200161225d565b50505050905090810190601f1680156122a25780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610cae6b53797374656d53746174757360a01b6121d3565b6000610cae6e115d1a195c90dbdb1b185d195c985b608a1b6121d3565b6000610cae72115d1a195c90dbdb1b185d195c985b1c1554d1606a1b6121d3565b6000610dd38383670de0b6b3a7640000848067016345785d8a000061232d8686612352565b8161233457fe5b0490506005600a82061061234657600a015b600a9004949350505050565b60008261236157506000610dd6565b8282028284828161236e57fe5b0414610dd35760405162461bcd60e51b81526004018080602001828103825260218152602001806124546021913960400191505060405180910390fdfe4361636865642070796e74682073756d206578636565647320746f74616c2064656274596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697053656e646572206973206e6f7420497373756572206f722045786368616e6765724f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77a265627a7a72315820f1de4ecdc641c56ad56649eab37ccb1a150ac62a209dbff1e65c266ab0fbad8064736f6c63430005100032",
			"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": "0x2d28acf59af1a14c9a962f88a99a5e6f772e94082a941c21d53b807b7aa47f7c",
				"urls": [
					"bzz-raw://e5e1140766ec218fe7b95b872b4454e652f6c1920d569a7db05ed7aafcc81684",
					"dweb:/ipfs/QmXxo1gRrhrUz7L1iHkZpkrkhnCWYaVC6JAJNaBQHQpmcF"
				]
			},
			"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": "0x2d28acf59af1a14c9a962f88a99a5e6f772e94082a941c21d53b807b7aa47f7c",
						"urls": [
							"bzz-raw://e5e1140766ec218fe7b95b872b4454e652f6c1920d569a7db05ed7aafcc81684",
							"dweb:/ipfs/QmXxo1gRrhrUz7L1iHkZpkrkhnCWYaVC6JAJNaBQHQpmcF"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangerWithVirtualPynth": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005b4038038062005b40833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050505050615a1080620001306000396000f3fe60806040523480156200001157600080fd5b5060043610620001f05760003560e01c80636a1c475811620001115780638da5cb5b11620000a5578063d6f32e06116200007b578063d6f32e061462000591578063dfffca7614620005c0578063f39952241462000613578063f450aa34146200067d57620001f0565b80638da5cb5b146200055d578063a4a9c2661462000567578063c193f0d8146200058757620001f0565b80637dd1a57a11620000e75780637dd1a57a146200048457806386baa45c14620004a45780638925711714620004f7578063899ffef4146200050157620001f0565b80636a1c4758146200042b57806374185360146200047057806379ba5097146200047a57620001f0565b80631b16802c11620001895780633fa70f45116200015f5780633fa70f4514620003b65780634c268fc814620003c057806353a47bb714620003fb57806357630a40146200040557620001f0565b80631b16802c146200035f5780632af64bd3146200038e578063372a395a14620003ac57620001f0565b80630aed5b4611620001cb5780630aed5b4614620002a15780631627540c14620002c357806319d5c66514620002ec5780631a5c6095146200033957620001f0565b806304f3bcec14620001f5578063059c29ec146200021b5780630a1e187d146200025c575b600080fd5b620001ff620006a9565b604080516001600160a01b039092168252519081900360200190f35b6200024a600480360360408110156200023357600080fd5b506001600160a01b038135169060200135620006b8565b60408051918252519081900360200190f35b6200024a600480360360a08110156200027457600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080909101351662000763565b620002c160048036036020811015620002b957600080fd5b50356200086e565b005b620002c160048036036020811015620002db57600080fd5b50356001600160a01b031662000ae3565b6200031b600480360360408110156200030457600080fd5b506001600160a01b03813516906020013562000b41565b60408051938452602084019290925282820152519081900360600190f35b6200024a600480360360408110156200035157600080fd5b508035906020013562000b61565b6200031b600480360360408110156200037757600080fd5b506001600160a01b03813516906020013562000b6f565b6200039862000bf6565b604080519115158252519081900360200190f35b6200024a62000d0c565b6200024a62000d1d565b6200024a60048036036080811015620003d857600080fd5b506001600160a01b03813516906020810135906040810135906060013562000d22565b620001ff62000e4e565b620002c1600480360360408110156200041d57600080fd5b508035906020013562000e5d565b6200024a600480360360a08110156200044357600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013562000f29565b620002c162001107565b620002c1620012da565b6200024a600480360360208110156200049c57600080fd5b503562001398565b6200024a600480360360e0811015620004bc57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c00135620013aa565b6200024a620014c4565b6200050b620014d0565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015620005495781810151838201526020016200052f565b505050509050019250505060405180910390f35b620001ff6200168d565b62000398600480360360208110156200057f57600080fd5b50356200169c565b62000398620016f9565b6200039860048036036040811015620005a957600080fd5b506001600160a01b03813516906020013562001705565b6200024a600480360360e0811015620005d857600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c001356200173d565b6200065c600480360360c08110156200062b57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a0013562001928565b604080519283526001600160a01b0390911660208301528051918290030190f35b6200031b600480360360608110156200069557600080fd5b508035906020810135906040013562001a4d565b6002546001600160a01b031681565b60006200075a620006c862001a6f565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156200072657600080fd5b505afa1580156200073b573d6000803e3d6000fd5b505050506040513d60208110156200075257600080fd5b505162001a8c565b90505b92915050565b6000806200077062001af6565b9050336001600160a01b03821614806200080157506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b158015620007d057600080fd5b505afa158015620007e5573d6000803e3d6000fd5b505050506040513d6020811015620007fc57600080fd5b505114155b6200083e5760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b6000620008518888888888600062001b11565b50909350905062000863818562001f56565b505095945050505050565b620008786200200e565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015620008b157600080fd5b505afa158015620008c6573d6000803e3d6000fd5b5050505060006001600160a01b0316620008df6200202a565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200092357600080fd5b505afa15801562000938573d6000803e3d6000fd5b505050506040513d60208110156200094f57600080fd5b50516001600160a01b031614156200099e576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e0f2dce8d609b1b604482015290519081900360640190fd5b62000a2581620009ad62002040565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620009f157600080fd5b505afa15801562000a06573d6000803e3d6000fd5b505050506040513d602081101562000a1d57600080fd5b50516200205d565b62000a6e576040805162461bcd60e51b8152602060048201526014602482015273141e5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b62000a786200200e565b6001600160a01b031663631070fc8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801562000ac757600080fd5b505af115801562000adc573d6000803e3d6000fd5b5050505050565b62000aed620022cb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600062000b52858562002318565b50919790965090945092505050565b60006200075a83836200260d565b600080600062000b7e6200200e565b6001600160a01b0316631d7e7789856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801562000bc257600080fd5b505afa15801562000bd7573d6000803e3d6000fd5b5050505062000be985856001620026d6565b9250925092509250925092565b6000606062000c04620014d0565b905060005b815181101562000d0257600082828151811062000c2257fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801562000c8b57600080fd5b505afa15801562000ca0573d6000803e3d6000fd5b505050506040513d602081101562000cb757600080fd5b50516001600160a01b031614158062000ce557506000818152600360205260409020546001600160a01b0316155b1562000cf8576000935050505062000d09565b5060010162000c09565b5060019150505b90565b600062000d1862002a6c565b905090565b604181565b81600062000d2f6200202a565b6001600160a01b03166357ad4663866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562000d7357600080fd5b505afa15801562000d88573d6000803e3d6000fd5b505050506040513d602081101562000d9f57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801562000dec57600080fd5b505afa15801562000e01573d6000803e3d6000fd5b505050506040513d602081101562000e1857600080fd5b505190508082111562000e29578091505b821562000e455762000e42828463ffffffff62002b2816565b91505b50949350505050565b6001546001600160a01b031681565b600062000e6962002040565b9050336001600160a01b0382161462000ec9576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b6000821162000f16576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526004602052604090912055565b60008062000f3662001af6565b9050336001600160a01b038216148062000fc757506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b15801562000f9657600080fd5b505afa15801562000fab573d6000803e3d6000fd5b505050506040513d602081101562000fc257600080fd5b505114155b620010045760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b6200100e62002b83565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b1580156200106257600080fd5b505afa15801562001077573d6000803e3d6000fd5b505050506040513d60208110156200108e57600080fd5b5051620010e2576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b6000620010f5888787878c600062001b11565b50909350905062000863818962001f56565b606062001113620014d0565b905060005b8151811015620012d65760008282815181106200113157fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015620011e9578181015183820152602001620011cf565b50505050905090810190601f168015620012175780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156200123657600080fd5b505afa1580156200124b573d6000803e3d6000fd5b505050506040513d60208110156200126257600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010162001118565b5050565b6001546001600160a01b03163314620013255760405162461bcd60e51b8152600401808060200182810382526035815260200180620058cb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b600080620013b762001af6565b9050336001600160a01b03821614806200144857506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b1580156200141757600080fd5b505afa1580156200142c573d6000803e3d6000fd5b505050506040513d60208110156200144357600080fd5b505114155b620014855760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b6000620014988a8a8a8a8a600062001b11565b509093509050620014aa818662001f56565b620014b784888562002ba4565b5050979650505050505050565b600062000d1862002c22565b606080620014dd62002c9f565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506b53797374656d53746174757360a01b816000815181106200152457fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106200154f57fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106200157a57fe5b6020026020010181815250506a5065726946696e616e636560a81b81600381518110620015a357fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110620015c857fe5b6020026020010181815250506d54726164696e675265776172647360901b81600581518110620015f457fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816006815181106200162357fe5b6020026020010181815250506524b9b9bab2b960d11b816007815181106200164757fe5b6020026020010181815250506844656274436163686560b81b816008815181106200166e57fe5b60200260200101818152505062001686828262002cf1565b9250505090565b6000546001600160a01b031681565b6000620016f182620016ad62002040565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620009f157600080fd5b90505b919050565b600062000d1862002db6565b6000620017138383620006b8565b1562001722575060016200075d565b600062001730848462002318565b5050501515949350505050565b6000806200174a62001af6565b9050336001600160a01b0382161480620017db57506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b158015620017aa57600080fd5b505afa158015620017bf573d6000803e3d6000fd5b505050506040513d6020811015620017d657600080fd5b505114155b620018185760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b6200182262002b83565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b1580156200187657600080fd5b505afa1580156200188b573d6000803e3d6000fd5b505050506040513d6020811015620018a257600080fd5b5051620018f6576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b6000620019098a8989898e600062001b11565b5090935090506200191b818662001f56565b620014b784878562002ba4565b60008060006200193762001af6565b9050336001600160a01b0382161480620019c857506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b1580156200199757600080fd5b505afa158015620019ac573d6000803e3d6000fd5b505050506040513d6020811015620019c357600080fd5b505114155b62001a055760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b600062001a188a8a8a8a8a600162001b11565b919550909350905062001a2c818762001f56565b841562001a405762001a4085888662002ba4565b5050965096945050505050565b600080600062001a5f86868662002e37565b5092999198509650945050505050565b600062000d186c45786368616e6765537461746560981b62002f1c565b60008062001a9962002c22565b905082158062001aba575062001ab6838263ffffffff62002b2816565b4210155b1562001acb576000915050620016f4565b62001aef4262001ae2858463ffffffff62002b2816565b9063ffffffff62002ffd16565b9392505050565b600062000d186a5065726946696e616e636560a81b62002f1c565b600080600062001b238888886200305b565b600062001b32888b8b62003241565b90508062001b4b57506000925082915081905062001f4a565b600080600062001b5d848d8c62002e37565b939a5091985094509250905062001b758c836200327e565b8062001b88575062001b888a826200327e565b1562001ba357506000955085945084935062001f4a92505050565b62001bb48c8e868d8b8e8e62003321565b94506001600160a01b0385161562001bca578498505b851562001e395762001bdb62002040565b6001600160a01b031663654a60ac8b88631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801562001c3657600080fd5b505afa15801562001c4b573d6000803e3d6000fd5b505050506040513d602081101562001c6257600080fd5b5051955062001c706200202a565b6001600160a01b03166357ad4663631c1554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562001cbb57600080fd5b505afa15801562001cd0573d6000803e3d6000fd5b505050506040513d602081101562001ce757600080fd5b50516001600160a01b031663867904b462001d0162003616565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801562001d3a57600080fd5b505afa15801562001d4f573d6000803e3d6000fd5b505050506040513d602081101562001d6657600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b15801562001db657600080fd5b505af115801562001dcb573d6000803e3d6000fd5b5050505062001dd962003616565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562001e1f57600080fd5b505af115801562001e34573d6000803e3d6000fd5b505050505b62001e6d60405180604001604052808e81526020018c8152506040518060400160405280858152602001848152506200362d565b62001e7762001af6565b6001600160a01b0316631b99084c8e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801562001f0957600080fd5b505af115801562001f1e573d6000803e3d6000fd5b50505050600062001f2e62002c22565b111562001f455762001f45898d868d8b8862003902565b505050505b96509650969350505050565b60008211801562001f6f57506001600160a01b03811615155b801562001f81575062001f8162002db6565b15620012d65762001f9162003b1f565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801562001ff157600080fd5b505af115801562002006573d6000803e3d6000fd5b505050505050565b600062000d186b53797374656d53746174757360a01b62002f1c565b600062000d186524b9b9bab2b960d11b62002f1c565b600062000d186c45786368616e6765526174657360981b62002f1c565b6000816200206e575060016200075d565b6000838152600460205260409020548015620020995762002090818462003b3d565b9150506200075d565b6060620020a562002040565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b158015620020f257600080fd5b505afa15801562002107573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156200213157600080fd5b81019080805160405193929190846401000000008211156200215257600080fd5b9083019060208201858111156200216857600080fd5b82518660208202830111640100000000821117156200218657600080fd5b82525081516020918201928201910280838360005b83811015620021b55781810151838201526020016200219b565b5050505090500160405260200180516040519392919084640100000000821115620021df57600080fd5b908301906020820185811115620021f557600080fd5b82518660208202830111640100000000821117156200221357600080fd5b82525081516020918201928201910280838360005b838110156200224257818101518382015260200162002228565b505050509050016040525050505090506000600190505b8151811015620022bf5760008282815181106200227257fe5b6020026020010151118015620022a35750620022a38282815181106200229457fe5b60200260200101518662003b3d565b15620022b657600193505050506200075d565b60010162002259565b50600095945050505050565b6000546001600160a01b03163314620023165760405162461bcd60e51b815260040180806020018281038252602f81526020018062005947602f913960400191505060405180910390fd5b565b600080600060606200232962001a6f565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156200238757600080fd5b505afa1580156200239c573d6000803e3d6000fd5b505050506040513d6020811015620023b357600080fd5b5051604080518281526020808402820101909152909250606090838015620023f857816020015b620023e4620044e8565b815260200190600190039081620023da5790505b50905060005b83811015620026015760008062002414620044e8565b620024218b8b8662003ba7565b9050600080620024318362003cc9565b9150915060006200244162002040565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015620024b157600080fd5b505afa158015620024c6573d6000803e3d6000fd5b505050506040513d6020811015620024dd57600080fd5b50516080850151909150600090620024f790839062003e26565b90506200250985606001518262003b3d565b6200258a5780856060015111156200254e57606085015162002532908263ffffffff62002ffd16565b9650620025468d8863ffffffff62002b2816565b9c506200258a565b84606001518111156200258a5760608501516200257390829063ffffffff62002ffd16565b9550620025878c8763ffffffff62002b2816565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a00151815250898981518110620025e157fe5b6020026020010181905250505050505050508080600101915050620023fe565b50905092959194509250565b60006200261a8262003ebf565b9050631c1554d160e21b831480620026385750631c1554d160e21b82145b1562002644576200075d565b607360f81b6001600160f81b0319600085901a60f81b161480156200267d5750606960f81b6001600160f81b0319600084901a60f81b16145b80620026bd5750606960f81b6001600160f81b0319600085901a60f81b16148015620026bd5750607360f81b6001600160f81b0319600084901a60f81b16145b156200075d576200075a81600263ffffffff62003f9c16565b6000806000620026e78686620006b8565b15620027255760405162461bcd60e51b8152600401808060200182810382526023815260200180620059b96023913960400191505060405180910390fd5b60008060006060620027388a8a62002318565b93509350935093508284111562002770576200275b848463ffffffff62002ffd16565b96506200276a8a8a8962003ffa565b6200279a565b838311156200279a576200278b838563ffffffff62002ffd16565b95506200279a8a8a8862004154565b87156200288957604080516001808252818301909252606091602080830190803883390190505090508981600081518110620027d257fe5b602002602001018181525050620027e8620042ae565b6001600160a01b031663fa9f18d3826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015620028485781810151838201526020016200282e565b5050505090500192505050600060405180830381600087803b1580156200286e57600080fd5b505af115801562002883573d6000803e3d6000fd5b50505050505b60005b8151811015620029d8578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110620028ce57fe5b602002602001015160000151848481518110620028e757fe5b6020026020010151602001518585815181106200290057fe5b6020026020010151604001518686815181106200291957fe5b6020026020010151606001518787815181106200293257fe5b6020026020010151608001518888815181106200294b57fe5b602002602001015160a001518989815181106200296457fe5b602002602001015160c001518a8a815181106200297d57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a26001016200288c565b50819450620029e662001a6f565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801562002a4657600080fd5b505af115801562002a5b573d6000803e3d6000fd5b505050505050505093509350939050565b600062002a78620042c7565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002af557600080fd5b505afa15801562002b0a573d6000803e3d6000fd5b505050506040513d602081101562002b2157600080fd5b5051905090565b6000828201838110156200075a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600062000d187044656c6567617465417070726f76616c7360781b62002f1c565b62002bae62001af6565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801562002c0457600080fd5b505af115801562002c19573d6000803e3d6000fd5b50505050505050565b600062002c2e620042c7565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002af557600080fd5b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811062002ce257fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801562002d22578160200160208202803883390190505b50905060005b835181101562002d685783818151811062002d3f57fe5b602002602001015182828151811062002d5457fe5b602090810291909101015260010162002d28565b5060005b825181101562002daf5782818151811062002d8357fe5b602002602001015182828651018151811062002d9b57fe5b602090810291909101015260010162002d6c565b5092915050565b600062002dc2620042c7565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002af557600080fd5b60008060008060008062002e4a62002040565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801562002e9e57600080fd5b505afa15801562002eb3573d6000803e3d6000fd5b505050506040513d606081101562002eca57600080fd5b5080516020820151604090920151919450909250905062002eec88886200260d565b935062002efa818562003e26565b955062002f0e818763ffffffff62002ffd16565b945050939792965093509350565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908162002daf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562002fc157818101518382015260200162002fa7565b50505050905090810190601f16801562002fef5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60008282111562003055576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80831415620030a7576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e0f2dce8d606b1b604482015290519081900360640190fd5b60008211620030eb576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b604080516002808252606080830184529260208301908038833901905050905083816000815181106200311a57fe5b60200260200101818152505081816001815181106200313557fe5b6020026020010181815250506200314b62002040565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015620031ab57818101518382015260200162003191565b505050509050019250505060206040518083038186803b158015620031cf57600080fd5b505afa158015620031e4573d6000803e3d6000fd5b505050506040513d6020811015620031fb57600080fd5b5051156200323b5760405162461bcd60e51b8152600401808060200182810382526022815260200180620059976022913960400191505060405180910390fd5b50505050565b60008060006200325485856000620026d6565b88955090935091505080156200327557620032728585888562000d22565b92505b50509392505050565b60006200328c83836200205d565b156200330e576200329c6200200e565b6001600160a01b031663631070fc8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015620032eb57600080fd5b505af115801562003300573d6000803e3d6000fd5b50505050600190506200075d565b6000928352600460205260409092205590565b60006200332d6200202a565b6001600160a01b03166357ad4663896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200337157600080fd5b505afa15801562003386573d6000803e3d6000fd5b505050506040513d60208110156200339d57600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b158015620033f257600080fd5b505af115801562003407573d6000803e3d6000fd5b505050506000620034176200202a565b6001600160a01b03166357ad4663876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200345b57600080fd5b505afa15801562003470573d6000803e3d6000fd5b505050506040513d60208110156200348757600080fd5b5051905082156200358f5760008190506200350c816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015620034d557600080fd5b505afa158015620034ea573d6000803e3d6000fd5b505050506040513d60208110156200350157600080fd5b505186888a620042e6565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156200356f57600080fd5b505af115801562003584573d6000803e3d6000fd5b50505050506200360a565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015620035f057600080fd5b505af115801562003605573d6000803e3d6000fd5b505050505b50979650505050505050565b600062000d1866119959541bdbdb60ca1b62002f1c565b8151600090631c1554d160e21b14806200365157506020830151631c1554d160e21b145b90506000816200366357600362003666565b60025b60ff16905060608160405190808252806020026020018201604052801562003698578160200160208202803883390190505b509050846000602002015181600081518110620036b157fe5b6020908102919091010152846001602002015181600181518110620036d257fe5b6020026020010181815250506060826040519080825280602002602001820160405280156200370b578160200160208202803883390190505b5090508460006020020151816000815181106200372457fe5b60209081029190910101528460016020020151816001815181106200374557fe5b602002602001018181525050836200380957631c1554d160e21b826002815181106200376d57fe5b60200260200101818152505073__$4ebb82ca590d84b81fb31f12bec06880a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620037be57600080fd5b505af4158015620037d3573d6000803e3d6000fd5b505050506040513d6020811015620037ea57600080fd5b5051815182906002908110620037fc57fe5b6020026020010181815250505b62003813620042ae565b6001600160a01b0316639f98fb4983836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015620038785781810151838201526020016200385e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015620038b95781810151838201526020016200389f565b50505050905001945050505050600060405180830381600087803b158015620038e157600080fd5b505af1158015620038f6573d6000803e3d6000fd5b50505050505050505050565b60006200390e62002040565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200395757600080fd5b505afa1580156200396c573d6000803e3d6000fd5b505050506040513d60208110156200398357600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015620039d357600080fd5b505afa158015620039e8573d6000803e3d6000fd5b505050506040513d6020811015620039ff57600080fd5b5051905062003a0d62001a6f565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801562003a9357600080fd5b505af115801562003aa8573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b600062000d186d54726164696e675265776172647360901b62002f1c565b600082158062003b4b575081155b1562003b5a575060016200075d565b60008383111562003b7f5762003b77838563ffffffff6200442116565b905062003b94565b62003b91848463ffffffff6200442116565b90505b62003b9e62002a6c565b11159392505050565b62003bb1620044e8565b60008060008060008060008062003bc762001a6f565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801562003c2e57600080fd5b505afa15801562003c43573d6000803e3d6000fd5b505050506040513d61010081101562003c5b57600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b600080600062003cd862002040565b9050600062003ce662002c22565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801562003d5157600080fd5b505afa15801562003d66573d6000803e3d6000fd5b505050506040513d602081101562003d7d57600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b15801562003dee57600080fd5b505afa15801562003e03573d6000803e3d6000fd5b505050506040513d602081101562003e1a57600080fd5b50519395939450505050565b60006200075a62003eb18373__$4ebb82ca590d84b81fb31f12bec06880a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801562003e7657600080fd5b505af415801562003e8b573d6000803e3d6000fd5b505050506040513d602081101562003ea257600080fd5b50519063ffffffff62002ffd16565b849063ffffffff6200444f16565b600062003ecb620042c7565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562003f6857600080fd5b505afa15801562003f7d573d6000803e3d6000fd5b505050506040513d602081101562003f9457600080fd5b505192915050565b60008262003fad575060006200075d565b8282028284828162003fbb57fe5b04146200075a5760405162461bcd60e51b8152600401808060200182810382526021815260200180620059766021913960400191505060405180910390fd5b620040046200202a565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200404857600080fd5b505afa1580156200405d573d6000803e3d6000fd5b505050506040513d60208110156200407457600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b158015620040c957600080fd5b505af1158015620040de573d6000803e3d6000fd5b50505050620040ec62001af6565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002c0457600080fd5b6200415e6200202a565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620041a257600080fd5b505afa158015620041b7573d6000803e3d6000fd5b505050506040513d6020811015620041ce57600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b1580156200422357600080fd5b505af115801562004238573d6000803e3d6000fd5b505050506200424662001af6565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002c0457600080fd5b600062000d186844656274436163686560b81b62002f1c565b600062000d186e466c657869626c6553746f7261676560881b62002f1c565b6000606960f81b6001600160f81b031983831a60f81b16141562004351576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732070796e746800000000604482015290519081900360640190fd5b60025460405186916001600160a01b031690869086908690620043749062004533565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f080158015620043c3573d6000803e3d6000fd5b50604080516001600160a01b03808416825260208201869052818301879052915192935081871692918816917f40d987c0a731a91929904e2b9a1a44b1aa1c6ab528b7ee2e35652fe1691cbd369181900360600190a3949350505050565b60006200075a826200444285670de0b6b3a764000063ffffffff62003f9c16565b9063ffffffff6200447c16565b6000670de0b6b3a76400006200446c848463ffffffff62003f9c16565b816200447457fe5b049392505050565b6000808211620044d3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620044df57fe5b04949350505050565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b61138980620045428339019056fe60806040526004805460ff60a01b1916905534801561001d57600080fd5b50604051611389380380611389833981810160405260a081101561004057600080fd5b508051602082015160408301516060840151608090940151600380546001600160a01b038087166001600160a01b03199283161790925560048054928616929091169190911790556007819055929391929091906100a783836001600160e01b036100b416565b506005555061020f915050565b6001600160a01b03821661010f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610128816002546101ae60201b610b011790919060201c565b6002556001600160a01b03821660009081526020818152604090912054610158918390610b016101ae821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015610208576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b61116b8061021e6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80633db3dc9b116100b85780638f7758391161007c5780638f7758391461036657806395d89b411461036e578063a457c2d714610376578063a9059cbb146103a2578063dbd06c85146103ce578063dd62ed3e146103d657610142565b80633db3dc9b146103005780634be37cea146103085780636a256b291461031057806370a082311461033857806378f2ac261461035e57610142565b806323b872dd1161010a57806323b872dd1461024a5780632c4e722e14610280578063313ce56714610288578063378dc3dc146102a657806339509351146102ae5780633af9e669146102da57610142565b806304f3bcec1461014757806306fdde031461016b578063095ea7b3146101e857806318160ddd146102285780631d0cbc8b14610242575b600080fd5b61014f610404565b604080516001600160a01b039092168252519081900360200190f35b610173610413565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ad578181015183820152602001610195565b50505050905090810190601f1680156101da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610214600480360360408110156101fe57600080fd5b506001600160a01b03813516906020013561044d565b604080519115158252519081900360200190f35b610230610464565b60408051918252519081900360200190f35b61014f61046a565b6102146004803603606081101561026057600080fd5b506001600160a01b03813581169160208101359091169060400135610479565b6102306104d0565b6102906104df565b6040805160ff9092168252519081900360200190f35b6102306104e4565b610214600480360360408110156102c457600080fd5b506001600160a01b0381351690602001356104ea565b610230600480360360208110156102f057600080fd5b50356001600160a01b0316610526565b610230610531565b610230610537565b6103366004803603602081101561032657600080fd5b50356001600160a01b0316610541565b005b6102306004803603602081101561034e57600080fd5b50356001600160a01b03166105f5565b610214610610565b610214610620565b610173610630565b6102146004803603604081101561038c57600080fd5b506001600160a01b03813516906020013561065c565b610214600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610698565b6102306106a5565b610230600480360360408110156103ec57600080fd5b506001600160a01b03813581169160200135166106ab565b6004546001600160a01b031681565b600754604080516d02b34b93a3ab0b610283cb73a34160951b6020820152602e8082019390935281518082039093018352604e0190525b90565b600061045a3384846106d6565b5060015b92915050565b60025490565b6003546001600160a01b031681565b60006104868484846107c2565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546104c69186916104c1908663ffffffff61090416565b6106d6565b5060019392505050565b60006104da610961565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff610b0116565b600061045e82610b62565b60065481565b60006104da610b88565b610549610c22565b6003546001600160a01b031663a9059cbb8261056481610b62565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156105b357600080fd5b505af11580156105c7573d6000803e3d6000fd5b505050506040513d60208110156105dd57600080fd5b506105f29050816105ed816105f5565b610da2565b50565b6001600160a01b031660009081526020819052604090205490565b600061061a610b88565b15905090565b600454600160a01b900460ff1681565b60075460408051603b60f91b602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff61090416565b600061045a3384846107c2565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661071b5760405162461bcd60e51b81526004018080602001828103825260248152602001806111136024913960400191505060405180910390fd5b6001600160a01b0382166107605760405162461bcd60e51b815260040180806020018281038252602281526020018061108a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108075760405162461bcd60e51b81526004018080602001828103825260258152602001806110ee6025913960400191505060405180910390fd5b6001600160a01b03821661084c5760405162461bcd60e51b81526004018080602001828103825260238152602001806110676023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610875908263ffffffff61090416565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108aa908263ffffffff610b0116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561095b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000600554600014156109765750600061044a565b600454600090600160a01b900460ff16610ae257600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156109d557600080fd5b505afa1580156109e9573d6000803e3d6000fd5b505050506040513d60208110156109ff57600080fd5b50519050600080610a0e610e7b565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610a6d57600080fd5b505afa158015610a81573d6000803e3d6000fd5b505050506040513d6060811015610a9757600080fd5b50805160209091015190925090508115610ac257610abb838363ffffffff61090416565b9250610adb565b8015610adb57610ad8838263ffffffff610b0116565b92505b5050610ae7565b506006545b600554610afb90829063ffffffff610f0a16565b91505090565b600082820183811015610b5b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610b6e836105f5565b9050610b5b610b7b610961565b829063ffffffff610f1f16565b6000610b92610e7b565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610bf157600080fd5b505afa158015610c05573d6000803e3d6000fd5b505050506040513d6020811015610c1b57600080fd5b5051905090565b600454600160a01b900460ff1615610c3957610da0565b6004805460ff60a01b1916600160a01b179055610c54610e7b565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b505050506040513d6060811015610cdf57600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d2c57600080fd5b505afa158015610d40573d6000803e3d6000fd5b505050506040513d6020811015610d5657600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610d84610464565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610de75760405162461bcd60e51b81526004018080602001828103825260218152602001806110cd6021913960400191505060405180910390fd5b600254610dfa908263ffffffff61090416565b6002556001600160a01b038216600090815260208190526040902054610e26908263ffffffff61090416565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b600480546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b9381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610bf157600080fd5b6000610b5b8383670de0b6b3a7640000610f34565b6000610b5b8383670de0b6b3a7640000610f78565b600080610f5a84610f4e87600a870263ffffffff610fa316565b9063ffffffff610ffc16565b90506005600a825b0610610f6c57600a015b600a9004949350505050565b600080600a8304610f8f868663ffffffff610fa316565b81610f9657fe5b0490506005600a82610f62565b600082610fb25750600061045e565b82820282848281610fbf57fe5b0414610b5b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110ac6021913960400191505060405180910390fd5b6000808211611052576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161105d57fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a723158209c372897dd212558c50c55c3e4eab55670350deebf86cb2788ab5772e0f2836064736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c79207065726946696e616e6365206f7220612070796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a723158200e32a2d342bfead00d942622c71c642db45a3f1bdaa08e27f8f9f3381166c58c64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntryAppended",
					"type": "event",
					"signature": "0x62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce9462398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reclaim",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rebate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destRoundIdAtPeriodEnd",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "exchangeTimestamp",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntrySettled",
					"type": "event",
					"signature": "0x8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "pynth",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "vPynth",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "VirtualPynthCreated",
					"type": "event",
					"signature": "0x40d987c0a731a91929904e2b9a1a44b1aa1c6ab528b7ee2e35652fe1691cbd36"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CIRCUIT_BREAKER_SUSPENSION_REASON",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fa70f45"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						}
					],
					"name": "calculateAmountAfterSettlement",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountAfterSettlement",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c268fc8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a1e187d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a1c4758"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdfffca76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86baa45c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf3995224"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a5c6095"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "getAmountsForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf450aa34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6f32e06"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isPynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4a9c266"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dd1a57a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "maxSecsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x059c29ec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": 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": "0x9cc52630934664c7394c471e7a0fcb68529cfb332eaa5e2644da00daabfed26b",
				"urls": [
					"bzz-raw://231f701a8c8517972028b79877414c86f221103bed993348d027253fff8e336a",
					"dweb:/ipfs/QmUndT3eeEEHqMB5ESRgCFFArcbqg835w5if4pKdjiYhn5"
				]
			},
			"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": "0x9cc52630934664c7394c471e7a0fcb68529cfb332eaa5e2644da00daabfed26b",
						"urls": [
							"bzz-raw://231f701a8c8517972028b79877414c86f221103bed993348d027253fff8e336a",
							"dweb:/ipfs/QmUndT3eeEEHqMB5ESRgCFFArcbqg835w5if4pKdjiYhn5"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManagerState": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620011b2380380620011b2833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610eaa80620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638da5cb5b11610104578063d2f00475116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063d2f0047514610335578063d3a7120214610348578063e31f27c114610369578063e32261fe1461037c576101cf565b8063aefc4ccb116100de578063aefc4ccb146102ff578063af07aa9d14610307578063b52e0dc81461031a578063cc952b571461032d576101cf565b80638da5cb5b146102d1578063a0356f6e146102d9578063a29fe7b8146102ec576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c15780638c582503146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b70565b6103db565b6040516101f79493929190610df2565b60405180910390f35b61021361020e366004610b4a565b610415565b005b610228610223366004610b8e565b610473565b6040516101f79190610dc9565b6102286104a1565b61021361024b366004610b8e565b6104a7565b61022861050d565b610213610266366004610b8e565b610514565b610213610279366004610b4a565b610579565b6102866105cc565b6040516101f79190610d50565b6102286102a1366004610b70565b6105db565b6102136102b4366004610b70565b6105ed565b610228610631565b610213610637565b6102286106d3565b61028661071e565b6102286102e7366004610b70565b61072d565b6102286102fa366004610b70565b61073f565b61028661075d565b6101e7610315366004610b8e565b61076c565b610228610328366004610b70565b6107ac565b6102286107cd565b610228610343366004610b70565b6107d3565b61035b610356366004610b70565b610813565b6040516101f7929190610dd7565b610213610377366004610b8e565b61082c565b61022861038a366004610b70565b610878565b61021361039d366004610b8e565b6108bb565b6102136103b0366004610b8e565b61091a565b6102136103c3366004610b70565b610963565b6102136103d6366004610b70565b6109d6565b6000806000806103e961050d565b90506103f4856107ac565b9350610402600182036107ac565b925061040c610631565b91509193509193565b61041d610a39565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610468908390610d50565b60405180910390a150565b6006602052816000526040600020818154811061048c57fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190610db9565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a6516565b6000928352600860205260409092206001019190915550565b610581610a39565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610468908390610d50565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106175760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040812061062e91610afd565b50565b60055490565b6001546001600160a01b031633146106615760405162461bcd60e51b81526004016104d190610d79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106a4926001600160a01b0391821692911690610d5e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546000906001600160a01b031633146107005760405162461bcd60e51b81526004016104d190610db9565b60035461071490600163ffffffff610a9216565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061074c57fe5b600091825260209091200154905081565b6002546001600160a01b031681565b60008060008061077b8661072d565b90506107878686610abe565b93506107968660018303610abe565b92506107a186610aeb565b915092959194509250565b6000600482815481106107bb57fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108005760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090205490565b6008602052600090815260409020805460019091015482565b6002546001600160a01b031633146108565760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a9216565b6002546000906001600160a01b031633146108a55760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090206001015490565b6002546001600160a01b031633146108e55760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a6516565b6000928352600860205260409092209190915550565b6002546001600160a01b031633146109445760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a9216565b6002546001600160a01b0316331461098d5760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040902054156109a65761062e565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a005760405162461bcd60e51b81526004016104d190610db9565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016104d190610da9565b565b600082821115610a875760405162461bcd60e51b81526004016104d190610d99565b508082035b92915050565b600082820183811015610ab75760405162461bcd60e51b81526004016104d190610d89565b9392505050565b6000828152600660205260408120805483908110610ad857fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b508054600082559060005260206000209081019061062e919061051191905b80821115610b305760008155600101610b1c565b5090565b8035610a8c81610e4a565b8035610a8c81610e5e565b600060208284031215610b5c57600080fd5b6000610b688484610b34565b949350505050565b600060208284031215610b8257600080fd5b6000610b688484610b3f565b60008060408385031215610ba157600080fd5b6000610bad8585610b3f565b9250506020610bbe85828601610b3f565b9150509250929050565b610bd181610e39565b82525050565b6000610be4603583610e30565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610c3b601b83610e30565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610c74601e83610e30565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cad602f83610e30565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610cfe603483610e30565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b610bd181610511565b60208101610a8c8284610bc8565b60408101610d6c8285610bc8565b610ab76020830184610bc8565b60208082528101610a8c81610bd7565b60208082528101610a8c81610c2e565b60208082528101610a8c81610c67565b60208082528101610a8c81610ca0565b60208082528101610a8c81610cf1565b60208101610a8c8284610d47565b60408101610de58285610d47565b610ab76020830184610d47565b60808101610e008287610d47565b610e0d6020830186610d47565b610e1a6040830185610d47565b610e276060830184610d47565b95945050505050565b90815260200190565b60006001600160a01b038216610a8c565b610e5381610e39565b811461062e57600080fd5b610e538161051156fea365627a7a723158200005ef16de4911f20dd5c2705ef38d8feb427ba3a8e09568bd7aca912918388b6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0xe39d324c21ace1b9327690aff47c52a1dea6d6b405704c77bb0c9a0cdd7627ce",
				"urls": [
					"bzz-raw://e4d4be80a6e10436de2b641784d58f8e09c9651bd37d92dbcaae459d712294ec",
					"dweb:/ipfs/QmUpMFCAi9qWwLkB8GjNXr6h6bH8gSkiWx85X6VA3PAFAS"
				]
			},
			"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": "0xe39d324c21ace1b9327690aff47c52a1dea6d6b405704c77bb0c9a0cdd7627ce",
						"urls": [
							"bzz-raw://e4d4be80a6e10436de2b641784d58f8e09c9651bd37d92dbcaae459d712294ec",
							"dweb:/ipfs/QmUpMFCAi9qWwLkB8GjNXr6h6bH8gSkiWx85X6VA3PAFAS"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManager": {
			"bytecode": "670de0b6b3a7640000600e5560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a052620000439060129060026200030a565b503480156200005157600080fd5b5060405162003c7938038062003c7983398101604081905262000074916200039a565b83856001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f90620005a9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f59184906200054d565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f9062000597565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169188169190911790556200017a83620001cf565b6200018e826001600160e01b036200024716565b620001a2816001600160e01b036200029116565b5050600080546001600160a01b0319166001600160a01b0394909416939093179092555062000637915050565b620001e26001600160e01b03620002db16565b60008111620002055760405162461bcd60e51b81526004016200009f9062000573565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200023c908390620005bb565b60405180910390a150565b6200025a6001600160e01b03620002db16565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200023c908390620005bb565b620002a46001600160e01b03620002db16565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200023c908390620005bb565b6000546001600160a01b03163314620003085760405162461bcd60e51b81526004016200009f9062000585565b565b82601881019282156200033b579160200282015b828111156200033b5782518255916020019190600101906200031e565b50620003499291506200034d565b5090565b6200036a91905b8082111562000349576000815560010162000354565b90565b80516200037a8162000607565b92915050565b80516200037a8162000621565b80516200037a816200062c565b60008060008060008060c08789031215620003b457600080fd5b6000620003c2898962000380565b9650506020620003d589828a016200036d565b9550506040620003e889828a016200036d565b9450506060620003fb89828a016200038d565b93505060806200040e89828a016200038d565b92505060a06200042189828a016200038d565b9150509295509295509295565b6200043981620005fa565b82525050565b6200043981620005d4565b600062000459601683620005cb565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b600062000494602f83620005cb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000620004e7601183620005cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000516601983620005cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b62000439816200036a565b604081016200055d82856200042e565b6200056c60208301846200043f565b9392505050565b602080825281016200037a816200044a565b602080825281016200037a8162000485565b602080825281016200037a81620004d8565b602080825281016200037a8162000507565b602081016200037a828462000542565b90815260200190565b60006200037a82620005ee565b60006200037a82620005d4565b6001600160a01b031690565b60006200037a82620005e1565b6200061281620005d4565b81146200061e57600080fd5b50565b6200061281620005e1565b62000612816200036a565b61363280620006476000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80638da5cb5b11610182578063c9e18015116100e9578063e32261fe116100a2578063ee81f7901161007c578063ee81f790146105ec578063f53037b6146105ff578063fb5aa1e114610612578063ffa749cd14610625576102d6565b8063e32261fe146105b3578063e50a31b3146105c6578063eb94bbde146105d9576102d6565b8063c9e1801514610557578063cc7ae6631461055f578063cd28502014610572578063d0064c0014610585578063d2f004751461058d578063e31f27c1146105a0576102d6565b8063b3b467321161013b578063b3b4673214610503578063b4d6cb401461050b578063ba1c5e801461052c578063bbb601cd14610534578063bf38668214610547578063c19d93fb1461054f576102d6565b80638da5cb5b146104b257806391b4ded9146104ba5780639f7eac37146104c2578063ad79a858146104d5578063af07aa9d146104dd578063b38988f7146104f0576102d6565b80634db7764c116102415780636526941b116101fa578063744d646e116101d4578063744d646e1461046f57806379ba509714610482578063899ffef41461048a5780638b173e811461049f576102d6565b80636526941b146104415780637060f9e8146104545780637418536014610467576102d6565b80634db7764c146103e15780635246f2b9146103f657806353a47bb71461040957806355bd615c1461041e5780635c975abb14610431578063614d08f814610439576102d6565b806316c38b3c1161029357806316c38b3c146103775780631e33fc6b1461038a57806324620639146103a05780632af64bd3146103b35780632e5de389146103bb57806342e32f13146103ce576102d6565b806303f048b0146102db57806304f3bcec146103075780630692b1701461031c5780630c9c81a1146103315780630e54a19b146103445780631627540c14610364575b600080fd5b6102ee6102e9366004612e43565b610638565b6040516102fe94939291906134d3565b60405180910390f35b61030f6106cf565b6040516102fe9190613414565b61032f61032a366004612d5e565b6106e3565b005b61032f61033f366004612e43565b610867565b610357610352366004612dce565b6108af565b6040516102fe919061335e565b61032f610372366004612cab565b610960565b61032f610385366004612e07565b6109b3565b610392610a28565b6040516102fe9291906133a3565b61032f6103ae366004612e7f565b610d1b565b610357610dae565b61032f6103c9366004612dce565b610ecb565b6103576103dc366004612e43565b610f9a565b6103e9610fb1565b6040516102fe9190613387565b61032f610404366004612e7f565b610fb7565b610411611013565b6040516102fe9190613324565b61032f61042c366004612dce565b611022565b6103576110de565b6103e96110e7565b61032f61044f366004612e43565b6110ff565b6103e9610462366004612e43565b61115c565b61032f61116e565b61035761047d366004612d29565b6112c4565b61032f61130c565b6104926113a8565b6040516102fe919061334d565b61032f6104ad366004612e43565b611560565b61041161159d565b6103e96115ac565b61032f6104d0366004612e43565b6115b2565b6103926115df565b6102ee6104eb366004612e7f565b6117c0565b6103576104fe366004612cab565b61185b565b6103e9611874565b61051e610519366004612e7f565b61192d565b6040516102fe92919061336c565b610392611a20565b61032f610542366004612ce7565b611b43565b6103e9611c23565b61030f611c29565b6103e9611c38565b61032f61056d366004612ce7565b611c3e565b6103e9610580366004612e43565b611e0e565b6103e9611e20565b6103e961059b366004612e43565b611e26565b61032f6105ae366004612e7f565b611ea7565b6103e96105c1366004612e43565b611f03565b61032f6105d4366004612e7f565b611f34565b61032f6105e7366004612e7f565b611f90565b6103926105fa366004612e43565b611fec565b61032f61060d366004612e43565b612306565b610357610620366004612dce565b612396565b61032f610633366004612ce7565b6124e1565b600554604051623f048b60e41b81526000918291829182916001600160a01b03909116906303f048b090610670908890600401613387565b60806040518083038186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106c09190810190612ee9565b92989197509550909350915050565b60035461010090046001600160a01b031681565b6106eb61259a565b8281146107135760405162461bcd60e51b815260040161070a90613433565b60405180910390fd5b60005b8381101561085857600085858381811061072c57fe5b90506040020160006002811061073e57fe5b60200201359050600086868481811061075357fe5b90506040020160016002811061076557fe5b6020020135905061077d600b8363ffffffff6125c616565b61084e57610792600b8363ffffffff61261616565b6000828152600d602052604090819020829055517f228eebae23ce843c98c840591345820f72bfe22ac0ba807deebe0ee7d467ebd3906107d3908490613387565b60405180910390a16005546001600160a01b031663ed0391548686868181106107f857fe5b905060200201356040518263ffffffff1660e01b815260040161081b9190613387565b600060405180830381600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050505b5050600101610716565b5061086161116e565b50505050565b61086f61259a565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906108a4908390613387565b60405180910390a150565b60085460009084146108c357506000610958565b60005b84811015610952576108f48686838181106108dd57fe5b9050602002013560086125c690919063ffffffff16565b610902576000915050610958565b85858281811061090e57fe5b90506020020135600a600086868581811061092557fe5b905060200201358152602001908152602001600020541461094a576000915050610958565b6001016108c6565b50600190505b949350505050565b61096861259a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a4908390613324565b6109bb61259a565b60035460ff16151581151514156109d157610a25565b6003805460ff1916821515179081905560ff16156109ee57426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916108a49160ff9091169061335e565b50565b60088054604080516020808402820181019092528281526000938493606093830182828015610a7657602002820191906000526020600020905b815481526020019060010190808311610a62575b50505050509050600081511115610d165760005b8151811015610d14576000610ab1838381518110610aa457fe5b602002602001015161264e565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae957600080fd5b505afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b219190810190612e61565b9050631c1554d160e21b811415610bc85760055460405163d2f0047560e01b8152610bc1916001600160a01b03169063d2f0047590610b64908590600401613387565b60206040518083038186803b158015610b7c57600080fd5b505afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb49190810190612e61565b869063ffffffff61265916565b9450610d0b565b600080610bd3612685565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610bfe9190613387565b604080518083038186803b158015610c1557600080fd5b505afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c4d9190810190612eb9565b60055460405163d2f0047560e01b8152929450909250600091610ce89185916001600160a01b039091169063d2f0047590610c8c908990600401613387565b60206040518083038186803b158015610ca457600080fd5b505afa158015610cb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cdc9190810190612e61565b9063ffffffff6126a516565b9050610cfa888263ffffffff61265916565b97508115610d0757600196505b5050505b50600101610a8a565b505b509091565b6000610d263361185b565b905080610d455760405162461bcd60e51b815260040161070a906134c3565b600554604051632462063960e01b81526001600160a01b0390911690632462063990610d7790869086906004016133d1565b600060405180830381600087803b158015610d9157600080fd5b505af1158015610da5573d6000803e3d6000fd5b50505050505050565b60006060610dba6113a8565b905060005b8151811015610ec1576000828281518110610dd657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610e2c91869101613387565b60206040518083038186803b158015610e4457600080fd5b505afa158015610e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e7c9190810190612cc9565b6001600160a01b0316141580610ea757506000818152600460205260409020546001600160a01b0316155b15610eb85760009350505050610ec8565b50600101610dbf565b5060019150505b90565b610ed361259a565b60005b83811015610f9357610eed8585838181106108dd57fe5b15610f8b57610f18858583818110610f0157fe5b9050602002013560086126cf90919063ffffffff16565b600a6000848484818110610f2857fe5b905060200201358152602001908152602001600020600090557f7ff80d3b3127593365b40f9f83c5c8739a8d47febe308d40e9390839b5335cf1858583818110610f6e57fe5b90506020020135604051610f829190613387565b60405180910390a15b600101610ed6565b5050505050565b6000818152600a602052604090205415155b919050565b60115481565b6000610fc23361185b565b905080610fe15760405162461bcd60e51b815260040161070a906134c3565b600554604051635246f2b960e01b81526001600160a01b0390911690635246f2b990610d7790869086906004016133d1565b6001546001600160a01b031681565b61102a61259a565b60005b83811015610f93576110448585838181106108dd57fe5b6110d657600085858381811061105657fe5b90506020020135905061107381600861261690919063ffffffff16565b80600a600086868681811061108457fe5b905060200201358152602001908152602001600020819055507fab4de7cb0edc2a9cbd9d540b749091def16b96cfc8a28853eba7fd3d74f71840816040516110cc9190613387565b60405180910390a1505b60010161102d565b60035460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b61110761259a565b600081116111275760405162461bcd60e51b815260040161070a90613493565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906108a4908390613387565b600d6020526000908152604090205481565b60606111786113a8565b905060005b81518110156112c057600082828151811061119457fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016111d69190613319565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016112029291906133b1565b60206040518083038186803b15801561121a57600080fd5b505afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112529190810190612cc9565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906112ae9084908490613395565b60405180910390a1505060010161117d565b5050565b6000805b8251811015611303576112ed8382815181106112e057fe5b602002602001015161185b565b6112fb576000915050610fac565b6001016112c8565b50600192915050565b6001546001600160a01b031633146113365760405162461bcd60e51b815260040161070a90613443565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611379926001600160a01b0391821692911690613332565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b816000815181106113e357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061140d57fe5b6020908102919091010152600b5460609080156114e15780600202604051908082528060200260200182016040528015611451578160200160208202803883390190505b50915060005b818110156114df57600b80548290811061146d57fe5b906000526020600020015483828151811061148457fe5b602002602001018181525050600d6000600b60000183815481106114a457fe5b906000526020600020015481526020019081526020016000205483838301815181106114cc57fe5b6020908102919091010152600101611457565b505b600880546040805160208084028201810190925282815260609361153a93879383018282801561153057602002820191906000526020600020905b81548152602001906001019080831161151c575b50505050506127a3565b8051909150156115555761154e81856127a3565b9450611559565b8394505b5050505090565b61156861259a565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906108a4908390613387565b6000546001600160a01b031681565b60025481565b6115ba61259a565b600081116115da5760405162461bcd60e51b815260040161070a90613493565b600e55565b600b805460408051602080840282018101909252828152600093849360609383018282801561162d57602002820191906000526020600020905b815481526020019060010190808311611619575b50505050509050600081511115610d165760005b8151811015610d1457600061165b838381518110610aa457fe5b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cb9190810190612e61565b90506000806116d8612685565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016117039190613387565b604080518083038186803b15801561171a57600080fd5b505afa15801561172e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117529190810190612eb9565b60055460405163719130ff60e11b81529294509092506000916117919185916001600160a01b039091169063e32261fe90610c8c908990600401613387565b90506117a3888263ffffffff61265916565b975081156117b057600196505b5050600190920191506116419050565b60055460405163af07aa9d60e01b81526000918291829182916001600160a01b039091169063af07aa9d906117fb90899089906004016133d1565b60806040518083038186803b15801561181357600080fd5b505afa158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061184b9190810190612ee9565b9299919850965090945092505050565b600061186e60068363ffffffff61285f16565b92915050565b6000806118803361185b565b90508061189f5760405162461bcd60e51b815260040161070a906134c3565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156118ef57600080fd5b505af1158015611903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119279190810190612e61565b91505090565b600080600061193a612685565b6001600160a01b031663654a60ac8587631c1554d160e21b6040518463ffffffff1660e01b8152600401611970939291906133ec565b60206040518083038186803b15801561198857600080fd5b505afa15801561199c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119c09190810190612e61565b90506000806119cd610a28565b915091506000806119dc6115df565b9150915082806119e95750805b600f54909650611a0f86611a03878663ffffffff61265916565b9063ffffffff61265916565b1115965050505050505b9250929050565b6000806000611a2d6128cc565b6001600160a01b031663f023e8db631c1554d160e21b60016040518363ffffffff1660e01b8152600401611a629291906133a3565b60206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ab29190810190612e61565b9050600080611abf610a28565b90925090506000611ad6848463ffffffff61265916565b90506000611b056a1a1a7062e5185d7e380000611af9868563ffffffff6128e016565b9063ffffffff6128e016565b90506000611b1e600e54836126a590919063ffffffff16565b9050611b356010548261265990919063ffffffff16565b989397509295505050505050565b611b4b61259a565b60005b81811015611c1e57611b88838383818110611b6557fe5b9050602002016020611b7a9190810190612cab565b60069063ffffffff61285f16565b611c1657611bbe838383818110611b9b57fe5b9050602002016020611bb09190810190612cab565b60069063ffffffff61290a16565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611beb57fe5b9050602002016020611c009190810190612cab565b604051611c0d9190613324565b60405180910390a15b600101611b4e565b505050565b60105481565b6005546001600160a01b031681565b600e5481565b611c4661259a565b60005b81811015611c1e57611c77838383818110611c6057fe5b90506020020135600b6125c690919063ffffffff16565b15611e0657611ca2838383818110611c8b57fe5b90506020020135600b6126cf90919063ffffffff16565b6000611cbf848484818110611cb357fe5b9050602002013561264e565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015611cf757600080fd5b505afa158015611d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d2f9190810190612e61565b600554604051636431e0bd60e01b81529192506001600160a01b031690636431e0bd90611d60908490600401613387565b600060405180830381600087803b158015611d7a57600080fd5b505af1158015611d8e573d6000803e3d6000fd5b50505050600d6000858585818110611da257fe5b905060200201358152602001908152602001600020600090557fc82c7ce2215189b78c42565fd1d25136f008aab037634d9db1f1b801ac025248848484818110611de857fe5b90506020020135604051611dfc9190613387565b60405180910390a1505b600101611c49565b600a6020526000908152604090205481565b600f5481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f0047590611e57908590600401613387565b60206040518083038186803b158015611e6f57600080fd5b505afa158015611e83573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061186e9190810190612e61565b6000611eb23361185b565b905080611ed15760405162461bcd60e51b815260040161070a906134c3565b60055460405163e31f27c160e01b81526001600160a01b039091169063e31f27c190610d7790869086906004016133d1565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe90611e57908590600401613387565b6000611f3f3361185b565b905080611f5e5760405162461bcd60e51b815260040161070a906134c3565b60055460405163e50a31b360e01b81526001600160a01b039091169063e50a31b390610d7790869086906004016133d1565b6000611f9b3361185b565b905080611fba5760405162461bcd60e51b815260040161070a906134c3565b6005546040516375ca5def60e11b81526001600160a01b039091169063eb94bbde90610d7790869086906004016133d1565b6000806000611ffa8461264e565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561203257600080fd5b505afa158015612046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061206a9190810190612e61565b9050612074612685565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b815260040161209f9190613387565b60206040518083038186803b1580156120b757600080fd5b505afa1580156120cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ef9190810190612e25565b915060006120fc8561264e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561213457600080fd5b505afa158015612148573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061216c9190810190612e61565b6000868152600d6020526040812054919250906121889061264e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c057600080fd5b505afa1580156121d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121f89190810190612e61565b60055460405163719130ff60e11b81529192506000916122849184916001600160a01b039091169063e32261fe90612234908990600401613387565b60206040518083038186803b15801561224c57600080fd5b505afa158015612260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a039190810190612e61565b90508083111561229c57506000945061230192505050565b60006122ae828563ffffffff61295c16565b905060006122e16a1a1a7062e5185d7e380000611af96122d4888763ffffffff61265916565b859063ffffffff6128e016565b90506122f86011548261265990919063ffffffff16565b97505050505050505b915091565b60006123113361185b565b9050806123305760405162461bcd60e51b815260040161070a906134c3565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b690612360908590600401613387565b600060405180830381600087803b15801561237a57600080fd5b505af115801561238e573d6000803e3d6000fd5b505050505050565b60008382146123b75760405162461bcd60e51b815260040161070a90613433565b600b5484146123c857506000610958565b60005b8481101561242f5760008686838181106123e157fe5b9050602002013590506123fe81600b6125c690919063ffffffff16565b158061241657506000818152600d6020526040902054155b1561242657600092505050610958565b506001016123cb565b5060005b82811015610952576005546001600160a01b031663a0356f6e85858481811061245857fe5b905060200201356040518263ffffffff1660e01b815260040161247b9190613387565b60206040518083038186803b15801561249357600080fd5b505afa1580156124a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124cb9190810190612e61565b6124d9576000915050610958565b600101612433565b6124e961259a565b60005b81811015611c1e57612503838383818110611b6557fe5b156125925761253a83838381811061251757fe5b905060200201602061252c9190810190612cab565b60069063ffffffff61298416565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a59383838381811061256757fe5b905060200201602061257c9190810190612cab565b6040516125899190613324565b60405180910390a15b6001016124ec565b6000546001600160a01b031633146125c45760405162461bcd60e51b815260040161070a906134a3565b565b81546000906125d75750600061186e565b6000828152600184016020526040902054801515806109585750828460000160008154811061260257fe5b906000526020600020015414949350505050565b61262082826125c6565b6112c05781546000828152600180850160209081526040832084905590830185558482529020018190555050565b600061186e82612a9a565b60008282018381101561267e5760405162461bcd60e51b815260040161070a90613453565b9392505050565b60006126a06c45786368616e6765526174657360981b612a9a565b905090565b6000670de0b6b3a76400006126c0848463ffffffff612af716565b816126c757fe5b049392505050565b6126d982826125c6565b6126f55760405162461bcd60e51b815260040161070a90613463565b600081815260018301602052604090205482546000190180821461276357600084600001828154811061272457fe5b906000526020600020015490508085600001848154811061274157fe5b6000918252602080832090910192909255918252600186019052604090208290555b835484908061276e57fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b606081518351016040519080825280602002602001820160405280156127d3578160200160208202803883390190505b50905060005b8351811015612815578381815181106127ee57fe5b602002602001015182828151811061280257fe5b60209081029190910101526001016127d9565b5060005b82518110156128585782818151811061282e57fe5b602002602001015182828651018151811061284557fe5b6020908102919091010152600101612819565b5092915050565b81546000906128705750600061186e565b6001600160a01b0382166000908152600184016020526040902054801515806109585750826001600160a01b0316846000016000815481106128ae57fe5b6000918252602090912001546001600160a01b031614949350505050565b60006126a06524b9b9bab2b960d11b612a9a565b600061267e826128fe85670de0b6b3a764000063ffffffff612af716565b9063ffffffff612b3116565b612914828261285f565b6112c05781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b60008282111561297e5760405162461bcd60e51b815260040161070a90613473565b50900390565b61298e828261285f565b6129aa5760405162461bcd60e51b815260040161070a90613463565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612a495760008460000182815481106129e357fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612a0c57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612a5457fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612aca918691016132f9565b604051602081830303815290604052906128585760405162461bcd60e51b815260040161070a9190613422565b600082612b065750600061186e565b82820282848281612b1357fe5b041461267e5760405162461bcd60e51b815260040161070a906134b3565b6000808211612b525760405162461bcd60e51b815260040161070a90613483565b6000828481612b5d57fe5b04949350505050565b803561186e816135c9565b805161186e816135c9565b60008083601f840112612b8e57600080fd5b50813567ffffffffffffffff811115612ba657600080fd5b602083019150836020820283011115611a1957600080fd5b600082601f830112612bcf57600080fd5b8135612be2612bdd82613538565b613511565b91508181835260208401935060208101905083856020840282011115612c0757600080fd5b60005b83811015612c335781612c1d8882612b66565b8452506020928301929190910190600101612c0a565b5050505092915050565b60008083601f840112612c4f57600080fd5b50813567ffffffffffffffff811115612c6757600080fd5b602083019150836040820283011115611a1957600080fd5b803561186e816135dd565b805161186e816135dd565b803561186e816135e6565b805161186e816135e6565b600060208284031215612cbd57600080fd5b60006109588484612b66565b600060208284031215612cdb57600080fd5b60006109588484612b71565b60008060208385031215612cfa57600080fd5b823567ffffffffffffffff811115612d1157600080fd5b612d1d85828601612b7c565b92509250509250929050565b600060208284031215612d3b57600080fd5b813567ffffffffffffffff811115612d5257600080fd5b61095884828501612bbe565b60008060008060408587031215612d7457600080fd5b843567ffffffffffffffff811115612d8b57600080fd5b612d9787828801612c3d565b9450945050602085013567ffffffffffffffff811115612db657600080fd5b612dc287828801612b7c565b95989497509550505050565b60008060008060408587031215612de457600080fd5b843567ffffffffffffffff811115612dfb57600080fd5b612d9787828801612b7c565b600060208284031215612e1957600080fd5b60006109588484612c7f565b600060208284031215612e3757600080fd5b60006109588484612c8a565b600060208284031215612e5557600080fd5b60006109588484612c95565b600060208284031215612e7357600080fd5b60006109588484612ca0565b60008060408385031215612e9257600080fd5b6000612e9e8585612c95565b9250506020612eaf85828601612c95565b9150509250929050565b60008060408385031215612ecc57600080fd5b6000612ed88585612ca0565b9250506020612eaf85828601612c8a565b60008060008060808587031215612eff57600080fd5b6000612f0b8787612ca0565b9450506020612f1c87828801612ca0565b9350506040612f2d87828801612ca0565b9250506060612f3e87828801612ca0565b91505092959194509250565b6000612f568383612fcf565b505060200190565b612f678161356c565b82525050565b6000612f788261355f565b612f828185613563565b9350612f8d83613559565b8060005b83811015612fbb578151612fa58882612f4a565b9750612fb083613559565b925050600101612f91565b509495945050505050565b612f6781613577565b612f6781610ec8565b612f67612fe482610ec8565b610ec8565b612f6781613588565b6000612ffd8261355f565b6130078185613563565b9350613017818560208601613593565b613020816135bf565b9093019392505050565b6000613037601b83613563565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000613070603583613563565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006130c7601b83613563565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613100601383613563565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b600061312f601e83613563565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613168601a83613563565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006131a1601183610fac565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131ce601683613563565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b6000613200602f83613563565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613251602183613563565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613294601983613563565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b60006132cd601983610fac565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061330482613194565b91506133108284612fd8565b50602001919050565b6000613304826132c0565b6020810161186e8284612f5e565b604081016133408285612f5e565b61267e6020830184612f5e565b6020808252810161267e8184612f6d565b6020810161186e8284612fc6565b6040810161337a8285612fc6565b61267e6020830184612fc6565b6020810161186e8284612fcf565b604081016133408285612fcf565b6040810161337a8285612fcf565b604081016133bf8285612fcf565b81810360208301526109588184612ff2565b604081016133df8285612fcf565b61267e6020830184612fcf565b606081016133fa8286612fcf565b6134076020830185612fcf565b6109586040830184612fcf565b6020810161186e8284612fe9565b6020808252810161267e8184612ff2565b6020808252810161186e8161302a565b6020808252810161186e81613063565b6020808252810161186e816130ba565b6020808252810161186e816130f3565b6020808252810161186e81613122565b6020808252810161186e8161315b565b6020808252810161186e816131c1565b6020808252810161186e816131f3565b6020808252810161186e81613244565b6020808252810161186e81613287565b608081016134e18287612fcf565b6134ee6020830186612fcf565b6134fb6040830185612fcf565b6135086060830184612fcf565b95945050505050565b60405181810167ffffffffffffffff8111828210171561353057600080fd5b604052919050565b600067ffffffffffffffff82111561354f57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061186e8261357c565b151590565b6001600160a01b031690565b600061186e8261356c565b60005b838110156135ae578181015183820152602001613596565b838111156108615750506000910152565b601f01601f191690565b6135d28161356c565b8114610a2557600080fd5b6135d281613577565b6135d281610ec856fea365627a7a72315820956648541cf88f07ac4db08864e0ef107252c1d1a14bdb342aa1dc1ff3f7ecac6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralManagerState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_maxDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_baseBorrowRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_baseShortRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "baseBorrowRate",
							"type": "uint256"
						}
					],
					"name": "BaseBorrowRateUpdated",
					"type": "event",
					"signature": "0x08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "baseShortRate",
							"type": "uint256"
						}
					],
					"name": "BaseShortRateUpdated",
					"type": "event",
					"signature": "0xe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "CollateralAdded",
					"type": "event",
					"signature": "0x7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "CollateralRemoved",
					"type": "event",
					"signature": "0xd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a593"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidationPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event",
					"signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxDebt",
							"type": "uint256"
						}
					],
					"name": "MaxDebtUpdated",
					"type": "event",
					"signature": "0x3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "PynthAdded",
					"type": "event",
					"signature": "0xab4de7cb0edc2a9cbd9d540b749091def16b96cfc8a28853eba7fd3d74f71840"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "PynthRemoved",
					"type": "event",
					"signature": "0x7ff80d3b3127593365b40f9f83c5c8739a8d47febe308d40e9390839b5335cf1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "ShortablePynthAdded",
					"type": "event",
					"signature": "0x228eebae23ce843c98c840591345820f72bfe22ac0ba807deebe0ee7d467ebd3"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "ShortablePynthRemoved",
					"type": "event",
					"signature": "0xc82c7ce2215189b78c42565fd1d25136f008aab037634d9db1f1b801ac025248"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "addCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbbb601cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[2][]",
							"name": "requiredPynthAndInverseNamesInResolver",
							"type": "bytes32[2][]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0692b170"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredPynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "requiredPynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "areShortablePynthsSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb5aa1e1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbf386682"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "baseShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4db7764c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe50a31b3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "decrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5246f2b9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "exceedsDebtLimit",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canIssue",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb4d6cb40"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getBorrowRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "borrowRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba1c5e80"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getNewLoanId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3b46732"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03f048b0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "getShortRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "shortRate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "rateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee81f790"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getShortRatesAndTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lastUpdated",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "newIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf07aa9d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "hasAllCollaterals",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x744d646e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "collateral",
							"type": "address"
						}
					],
					"name": "hasCollateral",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb38988f7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementLongs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xeb94bbde"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "incrementShorts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe31f27c1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isPynthManaged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x42e32f13"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "long",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2f00475"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0064c00"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthToInversePynth",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7060f9e8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "collaterals",
							"type": "address[]"
						}
					],
					"name": "removeCollaterals",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xffa749cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "removePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e5de389"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "removeShortablePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcc7ae663"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseBorrowRate",
							"type": "uint256"
						}
					],
					"name": "setBaseBorrowRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c9c81a1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_baseShortRate",
							"type": "uint256"
						}
					],
					"name": "setBaseShortRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8b173e81"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxDebt",
							"type": "uint256"
						}
					],
					"name": "setMaxDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6526941b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_utilisationMultiplier",
							"type": "uint256"
						}
					],
					"name": "setUtilisationMultiplier",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f7eac37"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "short",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32261fe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralManagerState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalLong",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1e33fc6b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalShort",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "pusdValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad79a858"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateBorrowRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf53037b6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "updateShortRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24620639"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "utilisationMultiplier",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9e18015"
				}
			],
			"source": {
				"keccak256": "0xd8326e1c86a599113f57a85d066ca3066f8c907468258af2a32b20dfcadc2d3f",
				"urls": [
					"bzz-raw://748523c504434c1b1a088da0a6b95bf9f81f9c0d1f220b4df57bf5e9e0db35cf",
					"dweb:/ipfs/Qma3yVAxHRJGvfTXh8SymrNAyBVYXxwZetmXiBEDujaqCy"
				]
			},
			"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": "0xd8326e1c86a599113f57a85d066ca3066f8c907468258af2a32b20dfcadc2d3f",
						"urls": [
							"bzz-raw://748523c504434c1b1a088da0a6b95bf9f81f9c0d1f220b4df57bf5e9e0db35cf",
							"dweb:/ipfs/Qma3yVAxHRJGvfTXh8SymrNAyBVYXxwZetmXiBEDujaqCy"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralState": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162000f6c38038062000f6c83398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b610c9a80620002d26000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba50971461011a5780638da5cb5b1461012257806398c61c371461012a578063a1c5158614610152578063aefc4ccb14610172578063e0b6adbc1461017a576100a9565b80631627540c146100ae57806344dce41c146100c357806352f445ca146100d657806353a47bb7146100e95780635c33120414610107575b600080fd5b6100c16100bc36600461088c565b61019a565b005b6100c16100d13660046108ec565b6101f8565b6100c16100e436600461088c565b610352565b6100f16103a5565b6040516100fe9190610adc565b60405180910390f35b6100c16101153660046108ec565b6103b4565b6100c161048d565b6100f1610529565b61013d6101383660046108b2565b610538565b6040516100fe99989796959493929190610b59565b6101656101603660046108b2565b6105ad565b6040516100fe9190610b3c565b6100f16106e4565b61018d61018836600461088c565b6106f3565b6040516100fe9190610b4b565b6101a261070e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101ed908390610adc565b60405180910390a150565b6002546001600160a01b0316331461022b5760405162461bcd60e51b815260040161022290610b2c565b60405180910390fd5b6020808201516001600160a01b03166000908152600390915260408120905b815481101561034d57826000015182828154811061026457fe5b906000526020600020906009020160000154141561034557826003600085602001516001600160a01b03166001600160a01b0316815260200190815260200160002082815481106102b157fe5b6000918252602091829020835160099290920201908155908201516001820180546001600160a01b0319166001600160a01b0390921691909117905560408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e08201516007820155610100909101516008909101555b60010161024a565b505050565b61035a61070e565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906101ed908390610adc565b6001546001600160a01b031681565b6002546001600160a01b031633146103de5760405162461bcd60e51b815260040161022290610b2c565b602081810180516001600160a01b03908116600090815260038085526040808320805460018082018355918552969093208751600990970201958655935191850180546001600160a01b03191692909316919091179091559083015160028301556060830151908201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e0820151600782015561010090910151600890910155565b6001546001600160a01b031633146104b75760405162461bcd60e51b815260040161022290610b0c565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926104fa926001600160a01b0391821692911690610aea565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003602052816000526040600020818154811061055157fe5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801549699506001600160a01b03909516975092959194909360ff90931692919089565b6105b561073a565b6001600160a01b0383166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610683576000848152602090819020604080516101208101825260098602909201805483526001808201546001600160a01b0316848601526002820154928401929092526003810154606084015260048101546080840152600581015460ff16151560a0840152600681015460c0840152600781015460e08401526008015461010083015290835290920191016105ed565b509293506000925050505b81518110156106db57838282815181106106a457fe5b60200260200101516000015114156106d3578181815181106106c257fe5b6020026020010151925050506106de565b60010161068e565b50505b92915050565b6002546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107385760405162461bcd60e51b815260040161022290610b1c565b565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b80356106de81610c2e565b80356106de81610c45565b80356106de81610c4e565b600061012082840312156107c857600080fd5b6107d3610120610bdf565b905060006107e184846107aa565b82525060206107f284848301610794565b6020830152506040610806848285016107aa565b604083015250606061081a848285016107aa565b606083015250608061082e848285016107aa565b60808301525060a06108428482850161079f565b60a08301525060c0610856848285016107aa565b60c08301525060e061086a848285016107aa565b60e08301525061010061087f848285016107aa565b6101008301525092915050565b60006020828403121561089e57600080fd5b60006108aa8484610794565b949350505050565b600080604083850312156108c557600080fd5b60006108d18585610794565b92505060206108e2858286016107aa565b9150509250929050565b600061012082840312156108ff57600080fd5b60006108aa84846107b5565b61091481610c0f565b82525050565b61091481610c1a565b61091481610c1f565b6000610939603583610c06565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610990602f83610c06565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006109e1603483610c06565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b8051610120830190610a3c8482610923565b506020820151610a4f602085018261090b565b506040820151610a626040850182610923565b506060820151610a756060850182610923565b506080820151610a886080850182610923565b5060a0820151610a9b60a085018261091a565b5060c0820151610aae60c0850182610923565b5060e0820151610ac160e0850182610923565b50610100820151610ad6610100850182610923565b50505050565b602081016106de828461090b565b60408101610af8828561090b565b610b05602083018461090b565b9392505050565b602080825281016106de8161092c565b602080825281016106de81610983565b602080825281016106de816109d4565b61012081016106de8284610a2a565b602081016106de8284610923565b6101208101610b68828c610923565b610b75602083018b61090b565b610b82604083018a610923565b610b8f6060830189610923565b610b9c6080830188610923565b610ba960a083018761091a565b610bb660c0830186610923565b610bc360e0830185610923565b610bd1610100830184610923565b9a9950505050505050505050565b60405181810167ffffffffffffffff81118282101715610bfe57600080fd5b604052919050565b90815260200190565b60006106de82610c22565b151590565b90565b6001600160a01b031690565b610c3781610c0f565b8114610c4257600080fd5b50565b610c3781610c1a565b610c3781610c1f56fea365627a7a72315820875736d8ea5118c985bba9b25dbec74e26b3c71293cb9f4e9c16ec69cd5d7ca86c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0xab87ccd18d715f3846755b2814477dff9e3b3d56a288a799aa6b58a1994a34a3",
				"urls": [
					"bzz-raw://d32fe5debead9222ee868e4a59888a20a5f1d8f3494c39dab9458f5f32a48805",
					"dweb:/ipfs/QmSnGqBCsL8eLznaitTvRdPszaya4Fss2bUZ95wgbVvXVS"
				]
			},
			"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": "0xab87ccd18d715f3846755b2814477dff9e3b3d56a288a799aa6b58a1994a34a3",
						"urls": [
							"bzz-raw://d32fe5debead9222ee868e4a59888a20a5f1d8f3494c39dab9458f5f32a48805",
							"dweb:/ipfs/QmSnGqBCsL8eLznaitTvRdPszaya4Fss2bUZ95wgbVvXVS"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralEth": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162005eac38038062005eac8339810160408190526200004c916200016c565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f9062000294565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d59184906200026e565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b5550506001601055506200031595505050505050565b80516200014c81620002e5565b92915050565b80516200014c81620002ff565b80516200014c816200030a565b600080600080600080600060e0888a0312156200018857600080fd5b6000620001968a8a6200015f565b9750506020620001a98a828b016200013f565b9650506040620001bc8a828b016200013f565b9550506060620001cf8a828b016200013f565b9450506080620001e28a828b0162000152565b93505060a0620001f58a828b0162000152565b92505060c0620002088a828b0162000152565b91505092959891949750929550565b6200022281620002d8565b82525050565b6200022281620002af565b600062000242601983620002a6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200027e828562000217565b6200028d602083018462000228565b9392505050565b602080825281016200014c8162000233565b90815260200190565b60006200014c82620002cc565b90565b60006200014c82620002af565b6001600160a01b031690565b60006200014c82620002bf565b620002f081620002af565b8114620002fc57600080fd5b50565b620002f081620002bc565b620002f081620002bf565b615b8780620003256000396000f3fe6080604052600436106102465760003560e01c80635eb2ad0111610139578063b562a1ab116100b6578063d2b8035a1161007a578063d2b8035a14610638578063dac8cf6814610658578063de81eda914610678578063e74337c614610698578063eb8e3b65146106b8578063f3f43703146106cd57610246565b8063b562a1ab146105b9578063ba2de9bc146105ce578063c19d93fb146105e3578063cd285020146105f8578063d0ebdbe71461061857610246565b80638cd2e0c7116100fd5780638cd2e0c71461052f5780638da5cb5b1461054f57806390abb4d914610564578063925ead1114610584578063a76cdfa51461059957610246565b80635eb2ad01146104a357806374185360146104c357806379ba5097146104d85780637e132355146104ed578063899ffef41461050d57610246565b8063361e2086116101c757806347e7ef241161018b57806347e7ef2414610419578063481c6a751461042c5780634c17ace41461044e57806353a47bb71461046e57806355bd615c1461048357610246565b8063361e20861461038f57806337551ec6146103a4578063379607f5146103c45780634065b81b146103e4578063441a3e70146103f957610246565b80630cdd1c651161020e5780630cdd1c65146102f85780630e54a19b1461031857806315aaf4dd146103455780631627540c1461035a5780632af64bd31461037a57610246565b806304f3bcec1461024b57806306c19e3f146102765780630710285c1461028b5780630a153c97146102ab5780630aebeb4e146102d8575b600080fd5b34801561025757600080fd5b506102606106ed565b60405161026d91906157e3565b60405180910390f35b610289610284366004614d35565b6106fc565b005b34801561029757600080fd5b506102896102a6366004614bee565b61070e565b3480156102b757600080fd5b506102cb6102c6366004614d35565b610754565b60405161026d9190615771565b3480156102e457600080fd5b506102896102f3366004614d17565b610890565b34801561030457600080fd5b50610289610313366004614d17565b6108d3565b34801561032457600080fd5b50610338610333366004614c3b565b6109be565b60405161026d9190615763565b34801561035157600080fd5b506102cb610a80565b34801561036657600080fd5b50610289610375366004614b78565b610a86565b34801561038657600080fd5b50610338610ad9565b34801561039b57600080fd5b506102cb610bf1565b3480156103b057600080fd5b506102cb6103bf366004614d17565b610bf7565b3480156103d057600080fd5b506102896103df366004614d17565b610c15565b3480156103f057600080fd5b50610338610cea565b34801561040557600080fd5b50610289610414366004614d35565b610cf3565b610289610427366004614bb4565b610d37565b34801561043857600080fd5b50610441610d42565b60405161026d91906156f2565b34801561045a57600080fd5b50610289610469366004614d17565b610d51565b34801561047a57600080fd5b50610441610e2d565b34801561048f57600080fd5b5061028961049e366004614c3b565b610e3c565b3480156104af57600080fd5b506102896104be366004614bb4565b610f02565b3480156104cf57600080fd5b50610289610f38565b3480156104e457600080fd5b5061028961108a565b3480156104f957600080fd5b506102cb610508366004614d35565b611126565b34801561051957600080fd5b506105226111cf565b60405161026d9190615752565b34801561053b57600080fd5b5061028961054a366004614bee565b611334565b34801561055b57600080fd5b50610441611340565b34801561057057600080fd5b5061028961057f366004614cab565b61134f565b34801561059057600080fd5b506102cb61139b565b3480156105a557600080fd5b506102896105b4366004614d17565b6113a1565b3480156105c557600080fd5b506102cb6113de565b3480156105da57600080fd5b506102cb6113e4565b3480156105ef57600080fd5b506102606113ea565b34801561060457600080fd5b506102cb610613366004614d17565b6113f9565b34801561062457600080fd5b50610289610633366004614b78565b61140b565b34801561064457600080fd5b50610289610653366004614d35565b611464565b34801561066457600080fd5b506102cb610673366004614d54565b61146e565b34801561068457600080fd5b50610441610693366004614d17565b6115c7565b3480156106a457600080fd5b506102cb6106b3366004614d54565b6115e2565b3480156106c457600080fd5b506102cb6118cc565b3480156106d957600080fd5b506102cb6106e8366004614b78565b6118d2565b6002546001600160a01b031681565b61070934838360006118e4565b505050565b600061071b848484612073565b3360009081526011602052604090205490915061073e908263ffffffff61243e16565b3360009081526011602052604090205550505050565b60008061075f61246c565b905061076961251e565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161079a939291906157bb565b60206040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ea9190810190614d92565b915061088861087b8273__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561083757600080fd5b505af415801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061086f9190810190614d92565b9063ffffffff61243e16565b839063ffffffff61253916565b949350505050565b600061089c3383612563565b336000908152601160205260409020549091506108bf908263ffffffff61243e16565b336000908152601160205260409020555050565b6108db612a2e565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561091f57600080fd5b505af4158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109579190810190614d92565b811161097e5760405162461bcd60e51b815260040161097590615812565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906109b3908390615771565b60405180910390a150565b60075460009084146109d257506000610888565b60005b84811015610a745760008686838181106109eb57fe5b9050602002013590508060078381548110610a0257fe5b906000526020600020015414610a1d57600092505050610888565b60078281548110610a2a57fe5b906000526020600020015460086000878786818110610a4557fe5b9050602002013581526020019081526020016000205414610a6b57600092505050610888565b506001016109d5565b50600195945050505050565b600e5481565b610a8e612a2e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906109b39083906156f2565b60006060610ae56111cf565b905060005b8151811015610be7576000828281518110610b0157fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b52908590600401615771565b60206040518083038186803b158015610b6a57600080fd5b505afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ba29190810190614b96565b6001600160a01b0316141580610bcd57506000818152600360205260409020546001600160a01b0316155b15610bde5760009350505050610bee565b50600101610aea565b5060019150505b90565b600c5481565b60078181548110610c0457fe5b600091825260209091200154905081565b601080546001019081905533600090815260116020526040902054610c40908363ffffffff612a5a16565b336000818152601160205260408082209390935591518490610c61906156e7565b60006040518083038185875af1925050503d8060008114610c9e576040519150601f19603f3d011682016040523d82523d6000602084013e610ca3565b606091505b5050905080610cc45760405162461bcd60e51b815260040161097590615852565b506010548114610ce65760405162461bcd60e51b8152600401610975906159b2565b5050565b600f5460ff1681565b6000610cff8383612a82565b33600090815260116020526040902054909150610d22908263ffffffff61243e16565b33600090815260116020526040902055505050565b610ce6828234612c85565b6006546001600160a01b031681565b610d59612a2e565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9d57600080fd5b505af4158015610db1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd59190810190614d92565b610e1002811115610df85760405162461bcd60e51b815260040161097590615922565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906109b3908390615771565b6001546001600160a01b031681565b610e44612a2e565b828114610e635760405162461bcd60e51b815260040161097590615802565b60005b83811015610ef3576000858583818110610e7c57fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610ed057fe5b602090810292909201358352508101919091526040016000205550600101610e66565b50610efc610f38565b50505050565b610f0a612a2e565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610f426111cf565b905060005b8151811015610ce6576000828281518110610f5e57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610fa091906156dc565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fcc92919061579b565b60206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061101c9190810190614b96565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611078908490849061577f565b60405180910390a15050600101610f47565b6001546001600160a01b031633146110b45760405162461bcd60e51b815260040161097590615842565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110f7926001600160a01b0391821692911690615729565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111c861113361251e565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b8152600401611164939291906157bb565b60206040518083038186803b15801561117c57600080fd5b505afa158015611190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111b49190810190614d92565b6111bc612e7c565b9063ffffffff61253916565b9392505050565b6060806111da612f0c565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061121957fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061124357fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061126957fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061129257fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b816004815181106112b857fe5b60200260200101818152505060606112d08383612f5d565b905061132c81600780548060200260200160405190810160405280929190818152602001828054801561132257602002820191906000526020600020905b81548152602001906001019080831161130e575b5050505050612f5d565b935050505090565b61070983338484613019565b6000546001600160a01b031681565b611357612a2e565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916109b39160ff90911690615763565b600a5481565b6113a9612a2e565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906109b3908390615771565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b611413612a2e565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926109b39216906156f2565b610ce6828261333a565b60008061147961251e565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b81526004016114b5939291906157bb565b60206040518083038186803b1580156114cd57600080fd5b505afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115059190810190614d92565b9050600061151161251e565b6001600160a01b031663654a60ac856060015161153f8760c00151886080015161243e90919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b8152600401611565939291906157bb565b60206040518083038186803b15801561157d57600080fd5b505afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b59190810190614d92565b9050610888828263ffffffff61386016565b6009602052600090815260409020546001600160a01b031681565b6000806115ed61246c565b905060006115f961251e565b6001600160a01b031663654a60ac85606001516116278760c00151886080015161243e90919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b815260040161164d939291906157bb565b60206040518083038186803b15801561166557600080fd5b505afa158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169d9190810190614d92565b905060006116a961251e565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b81526004016116e5939291906157bb565b60206040518083038186803b1580156116fd57600080fd5b505afa158015611711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117359190810190614d92565b9050600073__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561177d57600080fd5b505af4158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b59190810190614d92565b905060006117de6117d1600a548561386090919063ffffffff16565b859063ffffffff612a5a16565b9050600061181761180a600a546117fe898761243e90919063ffffffff16565b9063ffffffff61386016565b849063ffffffff612a5a16565b9050600061182b838363ffffffff61386016565b905061183561251e565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b815260040161186f939291906157bb565b60206040518083038186803b15801561188757600080fd5b505afa15801561189b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118bf9190810190614d92565b9998505050505050505050565b600d5481565b60116020526000908152604090205481565b60006118ee61388a565b6118f661392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192e57600080fd5b505afa158015611942573d6000803e3d6000fd5b5050600f5460ff16915061196a90505760405162461bcd60e51b815260040161097590615912565b6000838152600860205260409020546119955760405162461bcd60e51b815260040161097590615972565b61199d61251e565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016119c89190615771565b60206040518083038186803b1580156119e057600080fd5b505afa1580156119f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a189190810190614cc9565b15611a355760405162461bcd60e51b8152600401610975906158c2565b600b54851015611a575760405162461bcd60e51b8152600401610975906158b2565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90611a8a903390600401615700565b60206040518083038186803b158015611aa257600080fd5b505afa158015611ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ada9190810190614d92565b10611af75760405162461bcd60e51b815260040161097590615892565b600080611b02613946565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401611b2f92919061578d565b604080518083038186803b158015611b4657600080fd5b505afa158015611b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b7e9190810190614ce7565b91509150818015611b8d575080155b611ba95760405162461bcd60e51b815260040161097590615992565b611bb38786611126565b861115611bd25760405162461bcd60e51b815260040161097590615942565b6000611be9600c548861395590919063ffffffff16565b90506000611bfd888363ffffffff612a5a16565b9050611c07613946565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c4157600080fd5b505af1158015611c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c799190810190614d92565b9450611c836148f2565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050611cdb8161396a565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490611d0c9084906004016159e2565b600060405180830381600087803b158015611d2657600080fd5b505af1158015611d3a573d6000803e3d6000fd5b50505050611d488389613e56565b8615611f3e57611d56614042565b6001600160a01b031663867904b433611d6d61251e565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b8152600401611da3939291906157bb565b60206040518083038186803b158015611dbb57600080fd5b505afa158015611dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611df39190810190614d92565b6040518363ffffffff1660e01b8152600401611e1092919061570e565b600060405180830381600087803b158015611e2a57600080fd5b505af1158015611e3e573d6000803e3d6000fd5b50505050611e4a613946565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401611e7792919061578d565b600060405180830381600087803b158015611e9157600080fd5b505af1158015611ea5573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050611f39576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611f069033908d9060040161570e565b600060405180830381600087803b158015611f2057600080fd5b505af1158015611f34573d6000803e3d6000fd5b505050505b61201d565b600088815260086020526040902054611f5690614059565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401611f8392919061570e565b600060405180830381600087803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b50505050611fbd613946565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401611fea92919061578d565b600060405180830381600087803b15801561200457600080fd5b505af1158015612018573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c8860405161205e959493929190615a2f565b60405180910390a25050505050949350505050565b600061207d61388a565b61208561392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b50505050600082116120f55760405162461bcd60e51b815260040161097590615872565b6120fd6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061212f9088908890600401615744565b6101206040518083038186803b15801561214857600080fd5b505afa15801561215c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121809190810190614d73565b905061218b81614064565b6121948161396a565b90506121a5338260600151856140c4565b600a546121b18261146e565b106121ce5760405162461bcd60e51b8152600401610975906158a2565b60006121d9826115e2565b905060008482106121ea57846121ec565b815b9050600061220b8460c00151856080015161243e90919063ffffffff16565b905080821061222a5761221f883386614177565b9450505050506111c8565b6122348483614546565b9350612244846060015183610754565b604085015190955061225c908663ffffffff612a5a16565b604085015242610100850152612270614769565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b81526004016122a192919061570e565b60206040518083038186803b1580156122b957600080fd5b505afa1580156122cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122f19190810190614cc9565b1561230e5760405162461bcd60e51b8152600401610975906159d2565b606084015160009081526008602052604090205461232b90614059565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040161235892919061570e565b600060405180830381600087803b15801561237257600080fd5b505af1158015612386573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506123ba9087906004016159e2565b600060405180830381600087803b1580156123d457600080fd5b505af11580156123e8573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58833858960405161242b94939291906159f1565b60405180910390a2505050509392505050565b6000828201838110156124635760405162461bcd60e51b815260040161097590615882565b90505b92915050565b6000612476614780565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b81526004016124c992919061578d565b60206040518083038186803b1580156124e157600080fd5b505afa1580156124f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125199190810190614d92565b905090565b60006125196c45786368616e6765526174657360981b614799565b6000670de0b6b3a7640000612554848463ffffffff6147f616565b8161255b57fe5b049392505050565b600061256d61388a565b61257561392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125ad57600080fd5b505afa1580156125c1573d6000803e3d6000fd5b505050506125cd6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906125ff9087908790600401615744565b6101206040518083038186803b15801561261857600080fd5b505afa15801561262c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126509190810190614d73565b905061265b81614064565b6126648161396a565b905060006126838260c00151836080015161243e90919063ffffffff16565b905061269882602001518360600151836140c4565b6126a0614769565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b81526004016126d1929190615744565b60206040518083038186803b1580156126e957600080fd5b505afa1580156126fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127219190810190614cc9565b1561273e5760405162461bcd60e51b8152600401610975906158d2565b606082015160009081526008602052604090205461275b90614059565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612788929190615744565b600060405180830381600087803b1580156127a257600080fd5b505af11580156127b6573d6000803e3d6000fd5b505050508160a00151156128d4576127cc613946565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161280192919061578d565b600060405180830381600087803b15801561281b57600080fd5b505af115801561282f573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156128cf57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161289c918991600401615744565b600060405180830381600087803b1580156128b657600080fd5b505af11580156128ca573d6000803e3d6000fd5b505050505b612944565b6128dc613946565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161291192919061578d565b600060405180830381600087803b15801561292b57600080fd5b505af115801561293f573d6000803e3d6000fd5b505050505b8160400151925061295d8260c001518360600151613e56565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906129b39085906004016159e2565b600060405180830381600087803b1580156129cd57600080fd5b505af11580156129e1573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f85604051612a1e9190615771565b60405180910390a2505092915050565b6000546001600160a01b03163314612a585760405162461bcd60e51b815260040161097590615952565b565b600082821115612a7c5760405162461bcd60e51b8152600401610975906158e2565b50900390565b6000612a8c61388a565b612a9461392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612acc57600080fd5b505afa158015612ae0573d6000803e3d6000fd5b50505050612aec6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612b1e903390889060040161570e565b6101206040518083038186803b158015612b3757600080fd5b505afa158015612b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b6f9190810190614d73565b9050612b7a81614064565b612b838161396a565b6040810151909150612b9b908463ffffffff612a5a16565b604082015242610100820152600a54612bb38261146e565b11612bd05760405162461bcd60e51b815260040161097590615822565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612c009084906004016159e2565b600060405180830381600087803b158015612c1a57600080fd5b505af1158015612c2e573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330385858460400151604051612c76939291906157bb565b60405180910390a25092915050565b612c8d61388a565b612c9561392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612ccd57600080fd5b505afa158015612ce1573d6000803e3d6000fd5b5050505060008111612d055760405162461bcd60e51b815260040161097590615982565b612d0d6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d3f9087908790600401615744565b6101206040518083038186803b158015612d5857600080fd5b505afa158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d909190810190614d73565b9050612d9b81614064565b612da48161396a565b6040810151909150612dbc908363ffffffff61243e16565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612dfb9084906004016159e2565b600060405180830381600087803b158015612e1557600080fd5b505af1158015612e29573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c84848460400151604051612e6e939291906157bb565b60405180910390a250505050565b6000612519600a5473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612ec857600080fd5b505af4158015612edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f009190810190614d92565b9063ffffffff61483016565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612f4e57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612f8d578160200160208202803883390190505b50905060005b8351811015612fcf57838181518110612fa857fe5b6020026020010151828281518110612fbc57fe5b6020908102919091010152600101612f93565b5060005b825181101561301257828181518110612fe857fe5b6020026020010151828286510181518110612fff57fe5b6020908102919091010152600101612fd3565b5092915050565b61302161388a565b61302961392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561306157600080fd5b505afa158015613075573d6000803e3d6000fd5b50505050600081116130995760405162461bcd60e51b815260040161097590615872565b6130a16148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130d39088908790600401615744565b6101206040518083038186803b1580156130ec57600080fd5b505afa158015613100573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131249190810190614d73565b905061312f81614064565b6131388161396a565b9050613149848260600151846140c4565b6131538183614546565b426101008201529050613164614769565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401613195929190615744565b60206040518083038186803b1580156131ad57600080fd5b505afa1580156131c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131e59190810190614cc9565b156132025760405162461bcd60e51b8152600401610975906159d2565b606081015160009081526008602052604090205461321f90614059565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b815260040161324c929190615744565b600060405180830381600087803b15801561326657600080fd5b505af115801561327a573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506132ae9084906004016159e2565b600060405180830381600087803b1580156132c857600080fd5b505af11580156132dc573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f8585856080015160405161332b939291906157bb565b60405180910390a35050505050565b61334261388a565b61334a61392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561338257600080fd5b505afa158015613396573d6000803e3d6000fd5b505050506133a26148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906133d4903390879060040161570e565b6101206040518083038186803b1580156133ed57600080fd5b505afa158015613401573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134259190810190614d73565b905061343081614064565b6134398161396a565b6080810151909150613451908363ffffffff61243e16565b6080820152600a546134628261146e565b1161347f5760405162461bcd60e51b815260040161097590615832565b6000613496600c548461395590919063ffffffff16565b905060006134aa848363ffffffff612a5a16565b90508260a00151156136b7576134be613946565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b81526004016134ef92919061578d565b600060405180830381600087803b15801561350957600080fd5b505af115801561351d573d6000803e3d6000fd5b50505050613529614042565b6001600160a01b031663867904b43361354061251e565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b815260040161357a939291906157bb565b60206040518083038186803b15801561359257600080fd5b505afa1580156135a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135ca9190810190614d92565b6040518363ffffffff1660e01b81526004016135e792919061570e565b600060405180830381600087803b15801561360157600080fd5b505af1158015613615573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156136b25760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061367f903390889060040161570e565b600060405180830381600087803b15801561369957600080fd5b505af11580156136ad573d6000803e3d6000fd5b505050505b61379f565b6136bf613946565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016136f092919061578d565b600060405180830381600087803b15801561370a57600080fd5b505af115801561371e573d6000803e3d6000fd5b505050606084015160009081526008602052604090205461373f9150614059565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161376c92919061570e565b600060405180830381600087803b15801561378657600080fd5b505af115801561379a573d6000803e3d6000fd5b505050505b6137ad828460600151613e56565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c906137e49086906004016159e2565b600060405180830381600087803b1580156137fe57600080fd5b505af1158015613812573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161385192919061578d565b60405180910390a25050505050565b60006111c88261387e85670de0b6b3a764000063ffffffff6147f616565b9063ffffffff61484516565b61389261251e565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016138bf9190615771565b60206040518083038186803b1580156138d757600080fd5b505afa1580156138eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061390f9190810190614cc9565b15612a585760405162461bcd60e51b815260040161097590615932565b60006125196b53797374656d53746174757360a01b614799565b6006546001600160a01b031690565b60006111c88383670de0b6b3a764000061487a565b6139726148f2565b8190506000806000808560a00151613a105761398c613946565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b81526004016139bb9190615771565b60806040518083038186803b1580156139d357600080fd5b505afa1580156139e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a0b9190810190614dcf565b613a9d565b613a18613946565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613a4d92919061578d565b60806040518083038186803b158015613a6557600080fd5b505afa158015613a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a9d9190810190614dcf565b93509350935093506000808760a00151613b2d57613ab9613946565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613af057600080fd5b505afa158015613b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b289190810190614db0565b613bc5565b613b35613946565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613b7691600401615771565b604080518083038186803b158015613b8d57600080fd5b505afa158015613ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613bc59190810190614db0565b915091508015613be75760405162461bcd60e51b815260040161097590615902565b6000613c8473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613c3057600080fd5b505af4158015613c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c689190810190614d92565b613c78428863ffffffff612a5a16565b9063ffffffff6147f616565b90506000613ca8613c9b858463ffffffff61253916565b889063ffffffff61243e16565b905060008a60e00151600014613ce157613cdc613ccb838b63ffffffff612a5a16565b60808d01519063ffffffff61253916565b613ce4565b60005b90508a60a00151613d5957613cf7613946565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613d229190615771565b600060405180830381600087803b158015613d3c57600080fd5b505af1158015613d50573d6000803e3d6000fd5b50505050613dc5565b613d61613946565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613d9292919061578d565b600060405180830381600087803b158015613dac57600080fd5b505af1158015613dc0573d6000803e3d6000fd5b505050505b60c08b0151613dda908263ffffffff61243e16565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613e16908d906004016159e2565b600060405180830381600087803b158015613e3057600080fd5b505af1158015613e44573d6000803e3d6000fd5b50505050505050505050505050919050565b8115610ce657631c1554d160e21b8114613efb57613e7261251e565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b8152600401613ea8939291906157bb565b60206040518083038186803b158015613ec057600080fd5b505afa158015613ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ef89190810190614d92565b91505b613f03614042565b6001600160a01b031663867904b4613f196148b7565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015613f5157600080fd5b505afa158015613f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f899190810190614b96565b846040518363ffffffff1660e01b8152600401613fa7929190615744565b600060405180830381600087803b158015613fc157600080fd5b505af1158015613fd5573d6000803e3d6000fd5b50505050613fe16148b7565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040161400c9190615771565b600060405180830381600087803b15801561402657600080fd5b505af115801561403a573d6000803e3d6000fd5b505050505050565b600061251968141e5b9d1a1c1554d160ba1b614799565b600061246682614799565b60008160e00151116140885760405162461bcd60e51b8152600401610975906159a2565b426140a3600e5483610100015161243e90919063ffffffff16565b11156140c15760405162461bcd60e51b815260040161097590615862565b50565b60008281526008602052604090205481906140de90614059565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161410991906156f2565b60206040518083038186803b15801561412157600080fd5b505afa158015614135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141599190810190614d92565b10156107095760405162461bcd60e51b8152600401610975906159c2565b6000806141958360c00151846080015161243e90919063ffffffff16565b6080840151604085015193509091506141ac614769565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016141dd929190615744565b60206040518083038186803b1580156141f557600080fd5b505afa158015614209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061422d9190810190614cc9565b1561424a5760405162461bcd60e51b8152600401610975906159d2565b606084015160009081526008602052604090205461426790614059565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b8152600401614294929190615744565b600060405180830381600087803b1580156142ae57600080fd5b505af11580156142c2573d6000803e3d6000fd5b505050508360a00151156143e0576142d8613946565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161430d92919061578d565b600060405180830381600087803b15801561432757600080fd5b505af115801561433b573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156143db57606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916143a8918a91600401615744565b600060405180830381600087803b1580156143c257600080fd5b505af11580156143d6573d6000803e3d6000fd5b505050505b614450565b6143e8613946565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b815260040161441d92919061578d565b600060405180830381600087803b15801561443757600080fd5b505af115801561444b573d6000803e3d6000fd5b505050505b6144628460c001518560600151613e56565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906144b89087906004016159e2565b600060405180830381600087803b1580156144d257600080fd5b505af11580156144e6573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb86600001518487604051614535939291906157bb565b60405180910390a350509392505050565b61454e6148f2565b50818115801590614563575060008360c00151115b156145c05760008360c00151831161457b5782614581565b8360c001515b60c0850151909150614599908263ffffffff612a5a16565b60c08301526145ae838263ffffffff612a5a16565b92506145be818560600151613e56565b505b81156124665760808301516145db908363ffffffff612a5a16565b608082015260a0810151156146f8576145f2613946565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161462392919061578d565b600060405180830381600087803b15801561463d57600080fd5b505af1158015614651573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156146f35760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916146c09190869060040161570e565b600060405180830381600087803b1580156146da57600080fd5b505af11580156146ee573d6000803e3d6000fd5b505050505b612466565b614700613946565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161473192919061578d565b600060405180830381600087803b15801561474b57600080fd5b505af115801561475f573d6000803e3d6000fd5b5050505092915050565b60006125196822bc31b430b733b2b960b91b614799565b60006125196e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916147c9918691016156bc565b604051602081830303815290604052906130125760405162461bcd60e51b815260040161097591906157f1565b60008261480557506000612466565b8282028284828161481257fe5b04146124635760405162461bcd60e51b815260040161097590615962565b60006111c88383670de0b6b3a76400006148cc565b60008082116148665760405162461bcd60e51b8152600401610975906158f2565b600082848161487157fe5b04949350505050565b600080600a8304614891868663ffffffff6147f616565b8161489857fe5b0490506005600a825b06106148ab57600a015b600a9004949350505050565b600061251966119959541bdbdb60ca1b614799565b6000806148e68461387e87600a870263ffffffff6147f616565b90506005600a826148a1565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b803561246681615b1e565b805161246681615b1e565b60008083601f84011261497457600080fd5b50813567ffffffffffffffff81111561498c57600080fd5b6020830191508360208202830111156149a457600080fd5b9250929050565b803561246681615b32565b805161246681615b32565b803561246681615b3b565b805161246681615b3b565b600061012082840312156149ea57600080fd5b6149f5610120615a7b565b90506000614a0384846149c1565b8252506020614a148484830161494c565b6020830152506040614a28848285016149c1565b6040830152506060614a3c848285016149c1565b6060830152506080614a50848285016149c1565b60808301525060a0614a64848285016149ab565b60a08301525060c0614a78848285016149c1565b60c08301525060e0614a8c848285016149c1565b60e083015250610100614aa1848285016149c1565b6101008301525092915050565b60006101208284031215614ac157600080fd5b614acc610120615a7b565b90506000614ada84846149cc565b8252506020614aeb84848301614957565b6020830152506040614aff848285016149cc565b6040830152506060614b13848285016149cc565b6060830152506080614b27848285016149cc565b60808301525060a0614b3b848285016149b6565b60a08301525060c0614b4f848285016149cc565b60c08301525060e0614b63848285016149cc565b60e083015250610100614aa1848285016149cc565b600060208284031215614b8a57600080fd5b6000610888848461494c565b600060208284031215614ba857600080fd5b60006108888484614957565b60008060408385031215614bc757600080fd5b6000614bd3858561494c565b9250506020614be4858286016149c1565b9150509250929050565b600080600060608486031215614c0357600080fd5b6000614c0f868661494c565b9350506020614c20868287016149c1565b9250506040614c31868287016149c1565b9150509250925092565b60008060008060408587031215614c5157600080fd5b843567ffffffffffffffff811115614c6857600080fd5b614c7487828801614962565b9450945050602085013567ffffffffffffffff811115614c9357600080fd5b614c9f87828801614962565b95989497509550505050565b600060208284031215614cbd57600080fd5b600061088884846149ab565b600060208284031215614cdb57600080fd5b600061088884846149b6565b60008060408385031215614cfa57600080fd5b6000614d0685856149b6565b9250506020614be4858286016149b6565b600060208284031215614d2957600080fd5b600061088884846149c1565b60008060408385031215614d4857600080fd5b6000614bd385856149c1565b60006101208284031215614d6757600080fd5b600061088884846149d7565b60006101208284031215614d8657600080fd5b60006108888484614aae565b600060208284031215614da457600080fd5b600061088884846149cc565b60008060408385031215614dc357600080fd5b6000614d0685856149cc565b60008060008060808587031215614de557600080fd5b6000614df187876149cc565b9450506020614e02878288016149cc565b9350506040614e13878288016149cc565b9250506060614e24878288016149cc565b91505092959194509250565b6000614e3c8383614ebe565b505060200190565b614e4d81615ad6565b82525050565b614e4d81615aba565b6000614e6782615aa8565b614e718185615aac565b9350614e7c83615aa2565b8060005b83811015614eaa578151614e948882614e30565b9750614e9f83615aa2565b925050600101614e80565b509495945050505050565b614e4d81615ac5565b614e4d81610bee565b614e4d614ed382610bee565b610bee565b614e4d81615add565b6000614eec82615aa8565b614ef68185615aac565b9350614f06818560208601615ae8565b614f0f81615b14565b9093019392505050565b6000614f26601b83615aac565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000614f5f601683615aac565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000614f91600e83615aac565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000614fbb601583615aac565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b6000614fec603583615aac565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615043600f83615aac565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b600061506e601d83615aac565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006150a7601e83615aac565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006150e0601b83615aac565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615119601283615aac565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615147601e83615aac565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615180601d83615aac565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006151b9601883615aac565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006151f2602083615aac565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b600061522b601e83615aac565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615264601a83615aac565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061529d601183615ab5565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006152ca601183615aac565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006152f7601383615aac565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b6000615326600a83615aac565b6926b0bc1018903437bab960b11b815260200192915050565b600061534c601a83615aac565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615385601b83615aac565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b60006153be602f83615aac565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061540f602183615aac565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615452601f83615aac565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b600061548b601e83615aac565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b60006154c4601a83615aac565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006154fd601983615ab5565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612466600083615ab5565b6000615543601383615aac565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615572601f83615aac565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b60006155ab601883615aac565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b60006155e4601b83615aac565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906156228482614ebe565b5060208201516156356020850182614e53565b5060408201516156486040850182614ebe565b50606082015161565b6060850182614ebe565b50608082015161566e6080850182614ebe565b5060a082015161568160a0850182614eb5565b5060c082015161569460c0850182614ebe565b5060e08201516156a760e0850182614ebe565b50610100820151610efc610100850182614ebe565b60006156c782615290565b91506156d38284614ec7565b50602001919050565b60006156c7826154f0565b600061246682615529565b602081016124668284614e53565b602081016124668284614e44565b6040810161571c8285614e44565b6111c86020830184614ebe565b604081016157378285614e53565b6111c86020830184614e53565b6040810161571c8285614e53565b602080825281016111c88184614e5c565b602081016124668284614eb5565b602081016124668284614ebe565b604081016157378285614ebe565b6040810161571c8285614ebe565b604081016157a98285614ebe565b81810360208301526108888184614ee1565b606081016157c98286614ebe565b6157d66020830185614ebe565b6108886040830184614ebe565b602081016124668284614ed8565b602080825281016111c88184614ee1565b6020808252810161246681614f19565b6020808252810161246681614f52565b6020808252810161246681614f84565b6020808252810161246681614fae565b6020808252810161246681614fdf565b6020808252810161246681615036565b6020808252810161246681615061565b602080825281016124668161509a565b60208082528101612466816150d3565b602080825281016124668161510c565b602080825281016124668161513a565b6020808252810161246681615173565b60208082528101612466816151ac565b60208082528101612466816151e5565b602080825281016124668161521e565b6020808252810161246681615257565b60208082528101612466816152bd565b60208082528101612466816152ea565b6020808252810161246681615319565b602080825281016124668161533f565b6020808252810161246681615378565b60208082528101612466816153b1565b6020808252810161246681615402565b6020808252810161246681615445565b602080825281016124668161547e565b60208082528101612466816154b7565b6020808252810161246681615536565b6020808252810161246681615565565b602080825281016124668161559e565b60208082528101612466816155d7565b61012081016124668284615610565b608081016159ff8287614ebe565b615a0c6020830186614e44565b615a196040830185614ebe565b615a266060830184614ebe565b95945050505050565b60a08101615a3d8288614ebe565b615a4a6020830187614ebe565b615a576040830186614ebe565b615a646060830185614ebe565b615a716080830184614ebe565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615a9a57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061246682615aca565b151590565b6001600160a01b031690565b6000612466825b600061246682615aba565b60005b83811015615b03578181015183820152602001615aeb565b83811115610efc5750506000910152565b601f01601f191690565b615b2781615aba565b81146140c157600080fd5b615b2781615ac5565b615b2781610bee56fea365627a7a7231582001d08cb05d7e38681b08d10e21e01ebce6d15c6c5b15615719dd1501053011ff6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event",
					"signature": "0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event",
					"signature": "0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event",
					"signature": "0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event",
					"signature": "0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event",
					"signature": "0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "ManagerUpdated",
					"type": "event",
					"signature": "0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxLoansPerAccount",
							"type": "uint256"
						}
					],
					"name": "MaxLoansPerAccountUpdated",
					"type": "event",
					"signature": "0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event",
					"signature": "0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						}
					],
					"name": "MinCratioRatioUpdated",
					"type": "event",
					"signature": "0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "claim",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x379607f5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x47e7ef24"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x06c19e3f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pendingWithdrawals",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf3f43703"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8cd2e0c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x90abb4d9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c17ace4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newManager",
							"type": "address"
						}
					],
					"name": "setManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0ebdbe7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						}
					],
					"name": "setMinCratio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0cdd1c65"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde81eda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "withdrawAmount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x441a3e70"
				}
			],
			"source": {
				"keccak256": "0x121e23529514285e487277848d61184e035a04fa9002eae2694af3746b7ccac3",
				"urls": [
					"bzz-raw://2d093c3963e73dbc3ac609dfb3c05ebd0340df5dfd6f552576c4825b9c17d7d5",
					"dweb:/ipfs/QmQNETJMXwjh2S2csCcipRijjydnzFePYr3uqafXtDbY55"
				]
			},
			"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": "0x121e23529514285e487277848d61184e035a04fa9002eae2694af3746b7ccac3",
						"urls": [
							"bzz-raw://2d093c3963e73dbc3ac609dfb3c05ebd0340df5dfd6f552576c4825b9c17d7d5",
							"dweb:/ipfs/QmQNETJMXwjh2S2csCcipRijjydnzFePYr3uqafXtDbY55"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralErc20": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162005fbc38038062005fbc8339810160408190526200004c916200018c565b888888888888888380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f90620002e0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d5918490620002ba565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498831698821698909817909755600580549982169990971698909817909555600492909255600a55600b555050600f80549490921661010002610100600160a81b031990941693909317905560105550620003619650505050505050565b80516200016c8162000331565b92915050565b80516200016c816200034b565b80516200016c8162000356565b60008060008060008060008060006101208a8c031215620001ac57600080fd5b6000620001ba8c8c6200017f565b9950506020620001cd8c828d016200015f565b9850506040620001e08c828d016200015f565b9750506060620001f38c828d016200015f565b9650506080620002068c828d0162000172565b95505060a0620002198c828d0162000172565b94505060c06200022c8c828d0162000172565b93505060e06200023f8c828d016200015f565b925050610100620002538c828d0162000172565b9150509295985092959850929598565b6200026e8162000324565b82525050565b6200026e81620002fb565b60006200028e601983620002f2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002ca828562000263565b620002d9602083018462000274565b9392505050565b602080825281016200016c816200027f565b90815260200190565b60006200016c8262000318565b90565b60006200016c82620002fb565b6001600160a01b031690565b60006200016c826200030b565b6200033c81620002fb565b81146200034857600080fd5b50565b6200033c8162000308565b6200033c816200030b565b615c4b80620003716000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80637418536011610151578063b562a1ab116100c3578063d2b8035a11610087578063d2b8035a146104be578063dac8cf68146104d1578063de81eda9146104e4578063e74337c6146104f7578063eb8e3b651461050a578063f93451ed1461051257610269565b8063b562a1ab14610480578063ba2de9bc14610488578063c19d93fb14610490578063cd28502014610498578063d0ebdbe7146104ab57610269565b80638cd2e0c7116101155780638cd2e0c7146104245780638da5cb5b1461043757806390abb4d91461043f578063925ead1114610452578063a76cdfa51461045a578063b094f2c41461046d57610269565b806374185360146103d957806379ba5097146103e15780637e132355146103e9578063883a2209146103fc578063899ffef41461040f57610269565b80632af64bd3116101ea578063441a3e70116101ae578063441a3e701461037d578063481c6a75146103905780634c17ace41461039857806353a47bb7146103ab57806355bd615c146103b35780635eb2ad01146103c657610269565b80632af64bd31461034a578063361e20861461035257806337551ec61461035a5780633cc3ffc71461036d5780634065b81b1461037557610269565b80630e54a19b116102315780630e54a19b146102e75780630efe6a8b1461030757806310cfe9061461031a57806315aaf4dd1461032f5780631627540c1461033757610269565b806304f3bcec1461026e5780630710285c1461028c5780630a153c97146102a15780630aebeb4e146102c15780630cdd1c65146102d4575b600080fd5b610276610525565b60405161028391906158b7565b60405180910390f35b61029f61029a366004614cbb565b610534565b005b6102b46102af366004614e02565b6105e0565b6040516102839190615852565b61029f6102cf366004614de4565b61071c565b61029f6102e2366004614de4565b6107c5565b6102fa6102f5366004614d08565b6108b0565b6040516102839190615844565b61029f610315366004614cbb565b610972565b610322610aba565b604051610283919061579d565b6102b4610ace565b61029f610345366004614c45565b610ad4565b6102fa610b27565b6102b4610c3f565b6102b4610368366004614de4565b610c45565b6102b4610c63565b6102fa610c69565b61029f61038b366004614e02565b610c72565b610322610c8b565b61029f6103a6366004614de4565b610c9a565b610322610d76565b61029f6103c1366004614d08565b610d85565b61029f6103d4366004614c81565b610e45565b61029f610e7b565b61029f610fd1565b6102b46103f7366004614e02565b61106d565b6102b461040a366004614de4565b611116565b61041761113b565b6040516102839190615833565b61029f610432366004614cbb565b6112a0565b6103226112b1565b61029f61044d366004614d78565b6112c0565b6102b461130c565b61029f610468366004614de4565b611312565b6102b461047b366004614de4565b61134f565b6102b4611374565b6102b461137a565b610276611380565b6102b46104a6366004614de4565b61138f565b61029f6104b9366004614c45565b6113a1565b61029f6104cc366004614e02565b6113fa565b6102b46104df366004614e21565b611404565b6103226104f2366004614de4565b61155d565b6102b4610505366004614e21565b611578565b6102b4611862565b61029f610520366004614e9c565b611868565b6002546001600160a01b031681565b60006105418484846119b9565b9050600061054e8261134f565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061058690339085906004016157fc565b602060405180830381600087803b1580156105a057600080fd5b505af11580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d89190810190614d96565b505050505050565b6000806105eb611d84565b90506105f5611e36565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016106269392919061589c565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106769190810190614e5f565b91506107146107078273__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505af41580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106fb9190810190614e5f565b9063ffffffff611e5116565b839063ffffffff611e7f16565b949350505050565b60006107283383611ea9565b905060006107358261134f565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061076d90339085906004016157fc565b602060405180830381600087803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107bf9190810190614d96565b50505050565b6107cd612374565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505af4158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108499190810190614e5f565b81116108705760405162461bcd60e51b8152600401610867906158e6565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906108a5908390615852565b60405180910390a150565b60075460009084146108c457506000610714565b60005b848110156109665760008686838181106108dd57fe5b90506020020135905080600783815481106108f457fe5b90600052602060002001541461090f57600092505050610714565b6007828154811061091c57fe5b90600052602060002001546008600087878681811061093757fe5b905060200201358152602001908152602001600020541461095d57600092505050610714565b506001016108c7565b50600195945050505050565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906109a890339030906004016157b9565b60206040518083038186803b1580156109c057600080fd5b505afa1580156109d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109f89190810190614e5f565b811115610a175760405162461bcd60e51b815260040161086790615926565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd90610a4f903390309086906004016157d4565b602060405180830381600087803b158015610a6957600080fd5b505af1158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa19190810190614d96565b506000610aad82611116565b90506107bf8484836123a0565b600f5461010090046001600160a01b031681565b600e5481565b610adc612374565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a590839061579d565b60006060610b3361113b565b905060005b8151811015610c35576000828281518110610b4f57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610ba0908590600401615852565b60206040518083038186803b158015610bb857600080fd5b505afa158015610bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bf09190810190614c63565b6001600160a01b0316141580610c1b57506000818152600360205260409020546001600160a01b0316155b15610c2c5760009350505050610c3c565b50600101610b38565b5060019150505b90565b600c5481565b60078181548110610c5257fe5b600091825260209091200154905081565b60105481565b600f5460ff1681565b6000610c7d82611116565b905060006105418483612597565b6006546001600160a01b031681565b610ca2612374565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ce657600080fd5b505af4158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d1e9190810190614e5f565b610e1002811115610d415760405162461bcd60e51b8152600401610867906159f6565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906108a5908390615852565b6001546001600160a01b031681565b610d8d612374565b828114610dac5760405162461bcd60e51b8152600401610867906158d6565b60005b83811015610e3c576000858583818110610dc557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610e1957fe5b602090810292909201358352508101919091526040016000205550600101610daf565b506107bf610e7b565b610e4d612374565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610e8561113b565b905060005b8151811015610fcd576000828281518110610ea157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610ee39190615792565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f0f92919061587c565b60206040518083038186803b158015610f2757600080fd5b505afa158015610f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f5f9190810190614c63565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610fbb9084908490615860565b60405180910390a15050600101610e8a565b5050565b6001546001600160a01b03163314610ffb5760405162461bcd60e51b815260040161086790615916565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261103e926001600160a01b0391821692911690615817565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061110f61107a611e36565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b81526004016110ab9392919061589c565b60206040518083038186803b1580156110c357600080fd5b505afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110fb9190810190614e5f565b61110361279a565b9063ffffffff611e7f16565b9392505050565b600080611126601260105461282a565b600a0a905061110f838263ffffffff61285216565b60608061114661288c565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061118557fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106111af57fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106111d557fe5b6020026020010181815250506b53797374656d53746174757360a01b816003815181106111fe57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160048151811061122457fe5b602002602001018181525050606061123c83836128dd565b905061129881600780548060200260200160405190810160405280929190818152602001828054801561128e57602002820191906000526020600020905b81548152602001906001019080831161127a575b50505050506128dd565b935050505090565b6112ac83338484612999565b505050565b6000546001600160a01b031681565b6112c8612374565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108a59160ff90911690615844565b600a5481565b61131a612374565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906108a5908390615852565b60008061135f601260105461282a565b600a0a905061110f838263ffffffff612cba16565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b6113a9612374565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926108a592169061579d565b610fcd8282612cef565b60008061140f611e36565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b815260040161144b9392919061589c565b60206040518083038186803b15801561146357600080fd5b505afa158015611477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061149b9190810190614e5f565b905060006114a7611e36565b6001600160a01b031663654a60ac85606001516114d58760c001518860800151611e5190919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016114fb9392919061589c565b60206040518083038186803b15801561151357600080fd5b505afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061154b9190810190614e5f565b9050610714828263ffffffff61321516565b6009602052600090815260409020546001600160a01b031681565b600080611583611d84565b9050600061158f611e36565b6001600160a01b031663654a60ac85606001516115bd8760c001518860800151611e5190919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016115e39392919061589c565b60206040518083038186803b1580156115fb57600080fd5b505afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116339190810190614e5f565b9050600061163f611e36565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b815260040161167b9392919061589c565b60206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cb9190810190614e5f565b9050600073__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561171357600080fd5b505af4158015611727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174b9190810190614e5f565b90506000611774611767600a548561321590919063ffffffff16565b859063ffffffff61282a16565b905060006117ad6117a0600a546117948987611e5190919063ffffffff16565b9063ffffffff61321516565b849063ffffffff61282a16565b905060006117c1838363ffffffff61321516565b90506117cb611e36565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b81526004016118059392919061589c565b60206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118559190810190614e5f565b9998505050505050505050565b600d5481565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e9061189e90339030906004016157b9565b60206040518083038186803b1580156118b657600080fd5b505afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118ee9190810190614e5f565b83111561190d5760405162461bcd60e51b815260040161086790615926565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd90611945903390309088906004016157d4565b602060405180830381600087803b15801561195f57600080fd5b505af1158015611973573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119979190810190614d96565b5060006119a384611116565b90506119b2818484600061323f565b5050505050565b60006119c36139ce565b6119cb613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a0357600080fd5b505afa158015611a17573d6000803e3d6000fd5b5050505060008211611a3b5760405162461bcd60e51b815260040161086790615946565b611a436149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611a759088908890600401615825565b6101206040518083038186803b158015611a8e57600080fd5b505afa158015611aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ac69190810190614e40565b9050611ad181613a8a565b611ada81613aea565b9050611aeb33826060015185613fd6565b600a54611af782611404565b10611b145760405162461bcd60e51b815260040161086790615976565b6000611b1f82611578565b90506000848210611b305784611b32565b815b90506000611b518460c001518560800151611e5190919063ffffffff16565b9050808210611b7057611b65883386614089565b94505050505061110f565b611b7a8483614458565b9350611b8a8460600151836105e0565b6040850151909550611ba2908663ffffffff61282a16565b604085015242610100850152611bb661467b565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611be79291906157fc565b60206040518083038186803b158015611bff57600080fd5b505afa158015611c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c379190810190614d96565b15611c545760405162461bcd60e51b815260040161086790615a96565b6060840151600090815260086020526040902054611c7190614692565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611c9e9291906157fc565b600060405180830381600087803b158015611cb857600080fd5b505af1158015611ccc573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d00908790600401615aa6565b600060405180830381600087803b158015611d1a57600080fd5b505af1158015611d2e573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d719493929190615ab5565b60405180910390a2505050509392505050565b6000611d8e61469d565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611de192919061586e565b60206040518083038186803b158015611df957600080fd5b505afa158015611e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e319190810190614e5f565b905090565b6000611e316c45786368616e6765526174657360981b6146b6565b600082820183811015611e765760405162461bcd60e51b815260040161086790615956565b90505b92915050565b6000670de0b6b3a7640000611e9a848463ffffffff61285216565b81611ea157fe5b049392505050565b6000611eb36139ce565b611ebb613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611ef357600080fd5b505afa158015611f07573d6000803e3d6000fd5b50505050611f136149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611f459087908790600401615825565b6101206040518083038186803b158015611f5e57600080fd5b505afa158015611f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f969190810190614e40565b9050611fa181613a8a565b611faa81613aea565b90506000611fc98260c001518360800151611e5190919063ffffffff16565b9050611fde8260200151836060015183613fd6565b611fe661467b565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b8152600401612017929190615825565b60206040518083038186803b15801561202f57600080fd5b505afa158015612043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120679190810190614d96565b156120845760405162461bcd60e51b8152600401610867906159a6565b60608201516000908152600860205260409020546120a190614692565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016120ce929190615825565b600060405180830381600087803b1580156120e857600080fd5b505af11580156120fc573d6000803e3d6000fd5b505050508160a001511561221a57612112614713565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161214792919061586e565b600060405180830381600087803b15801561216157600080fd5b505af1158015612175573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b03161561221557606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916121e2918991600401615825565b600060405180830381600087803b1580156121fc57600080fd5b505af1158015612210573d6000803e3d6000fd5b505050505b61228a565b612222614713565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161225792919061586e565b600060405180830381600087803b15801561227157600080fd5b505af1158015612285573d6000803e3d6000fd5b505050505b816040015192506122a38260c001518360600151614722565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906122f9908590600401615aa6565b600060405180830381600087803b15801561231357600080fd5b505af1158015612327573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516123649190615852565b60405180910390a2505092915050565b6000546001600160a01b0316331461239e5760405162461bcd60e51b815260040161086790615a26565b565b6123a86139ce565b6123b0613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156123e857600080fd5b505afa1580156123fc573d6000803e3d6000fd5b50505050600081116124205760405162461bcd60e51b815260040161086790615a56565b6124286149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061245a9087908790600401615825565b6101206040518083038186803b15801561247357600080fd5b505afa158015612487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124ab9190810190614e40565b90506124b681613a8a565b6124bf81613aea565b60408101519091506124d7908363ffffffff611e5116565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612516908490600401615aa6565b600060405180830381600087803b15801561253057600080fd5b505af1158015612544573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c848484604001516040516125899392919061589c565b60405180910390a250505050565b60006125a16139ce565b6125a9613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125e157600080fd5b505afa1580156125f5573d6000803e3d6000fd5b505050506126016149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061263390339088906004016157fc565b6101206040518083038186803b15801561264c57600080fd5b505afa158015612660573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126849190810190614e40565b905061268f81613a8a565b61269881613aea565b60408101519091506126b0908463ffffffff61282a16565b604082015242610100820152600a546126c882611404565b116126e55760405162461bcd60e51b8152600401610867906158f6565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612715908490600401615aa6565b600060405180830381600087803b15801561272f57600080fd5b505af1158015612743573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161278b9392919061589c565b60405180910390a25092915050565b6000611e31600a5473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127e657600080fd5b505af41580156127fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061281e9190810190614e5f565b9063ffffffff61490616565b60008282111561284c5760405162461bcd60e51b8152600401610867906159b6565b50900390565b60008261286157506000611e79565b8282028284828161286e57fe5b0414611e765760405162461bcd60e51b815260040161086790615a36565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106128ce57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561290d578160200160208202803883390190505b50905060005b835181101561294f5783818151811061292857fe5b602002602001015182828151811061293c57fe5b6020908102919091010152600101612913565b5060005b82518110156129925782818151811061296857fe5b602002602001015182828651018151811061297f57fe5b6020908102919091010152600101612953565b5092915050565b6129a16139ce565b6129a9613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156129e157600080fd5b505afa1580156129f5573d6000803e3d6000fd5b5050505060008111612a195760405162461bcd60e51b815260040161086790615946565b612a216149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612a539088908790600401615825565b6101206040518083038186803b158015612a6c57600080fd5b505afa158015612a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612aa49190810190614e40565b9050612aaf81613a8a565b612ab881613aea565b9050612ac984826060015184613fd6565b612ad38183614458565b426101008201529050612ae461467b565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612b15929190615825565b60206040518083038186803b158015612b2d57600080fd5b505afa158015612b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b659190810190614d96565b15612b825760405162461bcd60e51b815260040161086790615a96565b6060810151600090815260086020526040902054612b9f90614692565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612bcc929190615825565b600060405180830381600087803b158015612be657600080fd5b505af1158015612bfa573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612c2e908490600401615aa6565b600060405180830381600087803b158015612c4857600080fd5b505af1158015612c5c573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612cab9392919061589c565b60405180910390a35050505050565b6000808211612cdb5760405162461bcd60e51b8152600401610867906159c6565b6000828481612ce657fe5b04949350505050565b612cf76139ce565b612cff613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612d3757600080fd5b505afa158015612d4b573d6000803e3d6000fd5b50505050612d576149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d8990339087906004016157fc565b6101206040518083038186803b158015612da257600080fd5b505afa158015612db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dda9190810190614e40565b9050612de581613a8a565b612dee81613aea565b6080810151909150612e06908363ffffffff611e5116565b6080820152600a54612e1782611404565b11612e345760405162461bcd60e51b815260040161086790615906565b6000612e4b600c548461491b90919063ffffffff16565b90506000612e5f848363ffffffff61282a16565b90508260a001511561306c57612e73614713565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401612ea492919061586e565b600060405180830381600087803b158015612ebe57600080fd5b505af1158015612ed2573d6000803e3d6000fd5b50505050612ede614930565b6001600160a01b031663867904b433612ef5611e36565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b8152600401612f2f9392919061589c565b60206040518083038186803b158015612f4757600080fd5b505afa158015612f5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f7f9190810190614e5f565b6040518363ffffffff1660e01b8152600401612f9c9291906157fc565b600060405180830381600087803b158015612fb657600080fd5b505af1158015612fca573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156130675760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061303490339088906004016157fc565b600060405180830381600087803b15801561304e57600080fd5b505af1158015613062573d6000803e3d6000fd5b505050505b613154565b613074614713565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016130a592919061586e565b600060405180830381600087803b1580156130bf57600080fd5b505af11580156130d3573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546130f49150614692565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016131219291906157fc565b600060405180830381600087803b15801561313b57600080fd5b505af115801561314f573d6000803e3d6000fd5b505050505b613162828460600151614722565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613199908690600401615aa6565b600060405180830381600087803b1580156131b357600080fd5b505af11580156131c7573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161320692919061586e565b60405180910390a25050505050565b600061110f8261323385670de0b6b3a764000063ffffffff61285216565b9063ffffffff612cba16565b60006132496139ce565b613251613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561328957600080fd5b505afa15801561329d573d6000803e3d6000fd5b5050600f5460ff1691506132c590505760405162461bcd60e51b8152600401610867906159e6565b6000838152600860205260409020546132f05760405162461bcd60e51b815260040161086790615a46565b6132f8611e36565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016133239190615852565b60206040518083038186803b15801561333b57600080fd5b505afa15801561334f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133739190810190614d96565b156133905760405162461bcd60e51b815260040161086790615996565b600b548510156133b25760405162461bcd60e51b815260040161086790615986565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc906133e59033906004016157ab565b60206040518083038186803b1580156133fd57600080fd5b505afa158015613411573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134359190810190614e5f565b106134525760405162461bcd60e51b815260040161086790615966565b60008061345d614713565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b815260040161348a92919061586e565b604080518083038186803b1580156134a157600080fd5b505afa1580156134b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134d99190810190614db4565b915091508180156134e8575080155b6135045760405162461bcd60e51b815260040161086790615a66565b61350e878661106d565b86111561352d5760405162461bcd60e51b815260040161086790615a16565b6000613544600c548861491b90919063ffffffff16565b90506000613558888363ffffffff61282a16565b9050613562614713565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561359c57600080fd5b505af11580156135b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135d49190810190614e5f565b94506135de6149bf565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a81526020018815158152602001600081526020016000815260200142815250905061363681613aea565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613667908490600401615aa6565b600060405180830381600087803b15801561368157600080fd5b505af1158015613695573d6000803e3d6000fd5b505050506136a38389614722565b8615613899576136b1614930565b6001600160a01b031663867904b4336136c8611e36565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b81526004016136fe9392919061589c565b60206040518083038186803b15801561371657600080fd5b505afa15801561372a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061374e9190810190614e5f565b6040518363ffffffff1660e01b815260040161376b9291906157fc565b600060405180830381600087803b15801561378557600080fd5b505af1158015613799573d6000803e3d6000fd5b505050506137a5614713565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b81526004016137d292919061586e565b600060405180830381600087803b1580156137ec57600080fd5b505af1158015613800573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613894576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906138619033908d906004016157fc565b600060405180830381600087803b15801561387b57600080fd5b505af115801561388f573d6000803e3d6000fd5b505050505b613978565b6000888152600860205260409020546138b190614692565b6001600160a01b031663867904b433846040518363ffffffff1660e01b81526004016138de9291906157fc565b600060405180830381600087803b1580156138f857600080fd5b505af115801561390c573d6000803e3d6000fd5b50505050613918614713565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b815260040161394592919061586e565b600060405180830381600087803b15801561395f57600080fd5b505af1158015613973573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c886040516139b9959493929190615af3565b60405180910390a25050505050949350505050565b6139d6611e36565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401613a039190615852565b60206040518083038186803b158015613a1b57600080fd5b505afa158015613a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a539190810190614d96565b1561239e5760405162461bcd60e51b815260040161086790615a06565b6000611e316b53797374656d53746174757360a01b6146b6565b60008160e0015111613aae5760405162461bcd60e51b815260040161086790615a76565b42613ac9600e54836101000151611e5190919063ffffffff16565b1115613ae75760405162461bcd60e51b815260040161086790615936565b50565b613af26149bf565b8190506000806000808560a00151613b9057613b0c614713565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613b3b9190615852565b60806040518083038186803b158015613b5357600080fd5b505afa158015613b67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b8b9190810190614ebd565b613c1d565b613b98614713565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613bcd92919061586e565b60806040518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c1d9190810190614ebd565b93509350935093506000808760a00151613cad57613c39614713565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613c7057600080fd5b505afa158015613c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ca89190810190614e7d565b613d45565b613cb5614713565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613cf691600401615852565b604080518083038186803b158015613d0d57600080fd5b505afa158015613d21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d459190810190614e7d565b915091508015613d675760405162461bcd60e51b8152600401610867906159d6565b6000613e0473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613db057600080fd5b505af4158015613dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613de89190810190614e5f565b613df8428863ffffffff61282a16565b9063ffffffff61285216565b90506000613e28613e1b858463ffffffff611e7f16565b889063ffffffff611e5116565b905060008a60e00151600014613e6157613e5c613e4b838b63ffffffff61282a16565b60808d01519063ffffffff611e7f16565b613e64565b60005b90508a60a00151613ed957613e77614713565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613ea29190615852565b600060405180830381600087803b158015613ebc57600080fd5b505af1158015613ed0573d6000803e3d6000fd5b50505050613f45565b613ee1614713565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613f1292919061586e565b600060405180830381600087803b158015613f2c57600080fd5b505af1158015613f40573d6000803e3d6000fd5b505050505b60c08b0151613f5a908263ffffffff611e5116565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613f96908d90600401615aa6565b600060405180830381600087803b158015613fb057600080fd5b505af1158015613fc4573d6000803e3d6000fd5b50505050505050505050505050919050565b6000828152600860205260409020548190613ff090614692565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161401b919061579d565b60206040518083038186803b15801561403357600080fd5b505afa158015614047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061406b9190810190614e5f565b10156112ac5760405162461bcd60e51b815260040161086790615a86565b6000806140a78360c001518460800151611e5190919063ffffffff16565b6080840151604085015193509091506140be61467b565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016140ef929190615825565b60206040518083038186803b15801561410757600080fd5b505afa15801561411b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061413f9190810190614d96565b1561415c5760405162461bcd60e51b815260040161086790615a96565b606084015160009081526008602052604090205461417990614692565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016141a6929190615825565b600060405180830381600087803b1580156141c057600080fd5b505af11580156141d4573d6000803e3d6000fd5b505050508360a00151156142f2576141ea614713565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161421f92919061586e565b600060405180830381600087803b15801561423957600080fd5b505af115801561424d573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156142ed57606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916142ba918a91600401615825565b600060405180830381600087803b1580156142d457600080fd5b505af11580156142e8573d6000803e3d6000fd5b505050505b614362565b6142fa614713565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b815260040161432f92919061586e565b600060405180830381600087803b15801561434957600080fd5b505af115801561435d573d6000803e3d6000fd5b505050505b6143748460c001518560600151614722565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906143ca908790600401615aa6565b600060405180830381600087803b1580156143e457600080fd5b505af11580156143f8573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516144479392919061589c565b60405180910390a350509392505050565b6144606149bf565b50818115801590614475575060008360c00151115b156144d25760008360c00151831161448d5782614493565b8360c001515b60c08501519091506144ab908263ffffffff61282a16565b60c08301526144c0838263ffffffff61282a16565b92506144d0818560600151614722565b505b8115611e795760808301516144ed908363ffffffff61282a16565b608082015260a08101511561460a57614504614713565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161453592919061586e565b600060405180830381600087803b15801561454f57600080fd5b505af1158015614563573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156146055760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916145d2919086906004016157fc565b600060405180830381600087803b1580156145ec57600080fd5b505af1158015614600573d6000803e3d6000fd5b505050505b611e79565b614612614713565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161464392919061586e565b600060405180830381600087803b15801561465d57600080fd5b505af1158015614671573d6000803e3d6000fd5b5050505092915050565b6000611e316822bc31b430b733b2b960b91b6146b6565b6000611e79826146b6565b6000611e316e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916146e691869101615772565b604051602081830303815290604052906129925760405162461bcd60e51b815260040161086791906158c5565b6006546001600160a01b031690565b8115610fcd57631c1554d160e21b81146147c75761473e611e36565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b81526004016147749392919061589c565b60206040518083038186803b15801561478c57600080fd5b505afa1580156147a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506147c49190810190614e5f565b91505b6147cf614930565b6001600160a01b031663867904b46147e5614947565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561481d57600080fd5b505afa158015614831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148559190810190614c63565b846040518363ffffffff1660e01b8152600401614873929190615825565b600060405180830381600087803b15801561488d57600080fd5b505af11580156148a1573d6000803e3d6000fd5b505050506148ad614947565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b81526004016148d89190615852565b600060405180830381600087803b1580156148f257600080fd5b505af11580156105d8573d6000803e3d6000fd5b600061110f8383670de0b6b3a764000061495c565b600061110f8383670de0b6b3a7640000614994565b6000611e3168141e5b9d1a1c1554d160ba1b6146b6565b6000611e3166119959541bdbdb60ca1b6146b6565b6000806149768461323387600a870263ffffffff61285216565b90506005600a825b061061498857600a015b600a9004949350505050565b600080600a83046149ab868663ffffffff61285216565b816149b257fe5b0490506005600a8261497e565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611e7981615be2565b8051611e7981615be2565b60008083601f840112614a4157600080fd5b50813567ffffffffffffffff811115614a5957600080fd5b602083019150836020820283011115614a7157600080fd5b9250929050565b8035611e7981615bf6565b8051611e7981615bf6565b8035611e7981615bff565b8051611e7981615bff565b60006101208284031215614ab757600080fd5b614ac2610120615b3f565b90506000614ad08484614a8e565b8252506020614ae184848301614a19565b6020830152506040614af584828501614a8e565b6040830152506060614b0984828501614a8e565b6060830152506080614b1d84828501614a8e565b60808301525060a0614b3184828501614a78565b60a08301525060c0614b4584828501614a8e565b60c08301525060e0614b5984828501614a8e565b60e083015250610100614b6e84828501614a8e565b6101008301525092915050565b60006101208284031215614b8e57600080fd5b614b99610120615b3f565b90506000614ba78484614a99565b8252506020614bb884848301614a24565b6020830152506040614bcc84828501614a99565b6040830152506060614be084828501614a99565b6060830152506080614bf484828501614a99565b60808301525060a0614c0884828501614a83565b60a08301525060c0614c1c84828501614a99565b60c08301525060e0614c3084828501614a99565b60e083015250610100614b6e84828501614a99565b600060208284031215614c5757600080fd5b60006107148484614a19565b600060208284031215614c7557600080fd5b60006107148484614a24565b60008060408385031215614c9457600080fd5b6000614ca08585614a19565b9250506020614cb185828601614a8e565b9150509250929050565b600080600060608486031215614cd057600080fd5b6000614cdc8686614a19565b9350506020614ced86828701614a8e565b9250506040614cfe86828701614a8e565b9150509250925092565b60008060008060408587031215614d1e57600080fd5b843567ffffffffffffffff811115614d3557600080fd5b614d4187828801614a2f565b9450945050602085013567ffffffffffffffff811115614d6057600080fd5b614d6c87828801614a2f565b95989497509550505050565b600060208284031215614d8a57600080fd5b60006107148484614a78565b600060208284031215614da857600080fd5b60006107148484614a83565b60008060408385031215614dc757600080fd5b6000614dd38585614a83565b9250506020614cb185828601614a83565b600060208284031215614df657600080fd5b60006107148484614a8e565b60008060408385031215614e1557600080fd5b6000614ca08585614a8e565b60006101208284031215614e3457600080fd5b60006107148484614aa4565b60006101208284031215614e5357600080fd5b60006107148484614b7b565b600060208284031215614e7157600080fd5b60006107148484614a99565b60008060408385031215614e9057600080fd5b6000614dd38585614a99565b600080600060608486031215614eb157600080fd5b6000614cdc8686614a8e565b60008060008060808587031215614ed357600080fd5b6000614edf8787614a99565b9450506020614ef087828801614a99565b9350506040614f0187828801614a99565b9250506060614f1287828801614a99565b91505092959194509250565b6000614f2a8383614fac565b505060200190565b614f3b81615b9a565b82525050565b614f3b81615b7e565b6000614f5582615b6c565b614f5f8185615b70565b9350614f6a83615b66565b8060005b83811015614f98578151614f828882614f1e565b9750614f8d83615b66565b925050600101614f6e565b509495945050505050565b614f3b81615b89565b614f3b81610c3c565b614f3b614fc182610c3c565b610c3c565b614f3b81615ba1565b6000614fda82615b6c565b614fe48185615b70565b9350614ff4818560208601615bac565b614ffd81615bd8565b9093019392505050565b6000615014601b83615b70565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061504d601683615b70565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b600061507f600e83615b70565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b60006150a9601583615b70565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b60006150da603583615b70565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615131601983615b70565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b600061516a601d83615b70565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006151a3601e83615b70565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006151dc601b83615b70565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615215601283615b70565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615243601e83615b70565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b600061527c601d83615b70565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006152b5601883615b70565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006152ee602083615b70565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b6000615327601e83615b70565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615360601a83615b70565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615399601183615b79565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006153c6601183615b70565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006153f3601383615b70565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b6000615422600a83615b70565b6926b0bc1018903437bab960b11b815260200192915050565b6000615448601a83615b70565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615481601b83615b70565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b60006154ba602f83615b70565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061550b602183615b70565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061554e601f83615b70565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b6000615587601e83615b70565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b60006155c0601a83615b70565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006155f9601983615b79565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615632601383615b70565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615661601883615b70565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b600061569a601b83615b70565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906156d88482614fac565b5060208201516156eb6020850182614f41565b5060408201516156fe6040850182614fac565b5060608201516157116060850182614fac565b5060808201516157246080850182614fac565b5060a082015161573760a0850182614fa3565b5060c082015161574a60c0850182614fac565b5060e082015161575d60e0850182614fac565b506101008201516107bf610100850182614fac565b600061577d8261538c565b91506157898284614fb5565b50602001919050565b600061577d826155ec565b60208101611e798284614f41565b60208101611e798284614f32565b604081016157c78285614f32565b61110f6020830184614f41565b606081016157e28286614f32565b6157ef6020830185614f41565b6107146040830184614fac565b6040810161580a8285614f32565b61110f6020830184614fac565b604081016157c78285614f41565b6040810161580a8285614f41565b6020808252810161110f8184614f4a565b60208101611e798284614fa3565b60208101611e798284614fac565b604081016157c78285614fac565b6040810161580a8285614fac565b6040810161588a8285614fac565b81810360208301526107148184614fcf565b606081016158aa8286614fac565b6157ef6020830185614fac565b60208101611e798284614fc6565b6020808252810161110f8184614fcf565b60208082528101611e7981615007565b60208082528101611e7981615040565b60208082528101611e7981615072565b60208082528101611e798161509c565b60208082528101611e79816150cd565b60208082528101611e7981615124565b60208082528101611e798161515d565b60208082528101611e7981615196565b60208082528101611e79816151cf565b60208082528101611e7981615208565b60208082528101611e7981615236565b60208082528101611e798161526f565b60208082528101611e79816152a8565b60208082528101611e79816152e1565b60208082528101611e798161531a565b60208082528101611e7981615353565b60208082528101611e79816153b9565b60208082528101611e79816153e6565b60208082528101611e7981615415565b60208082528101611e798161543b565b60208082528101611e7981615474565b60208082528101611e79816154ad565b60208082528101611e79816154fe565b60208082528101611e7981615541565b60208082528101611e798161557a565b60208082528101611e79816155b3565b60208082528101611e7981615625565b60208082528101611e7981615654565b60208082528101611e798161568d565b6101208101611e7982846156c6565b60808101615ac38287614fac565b615ad06020830186614f32565b615add6040830185614fac565b615aea6060830184614fac565b95945050505050565b60a08101615b018288614fac565b615b0e6020830187614fac565b615b1b6040830186614fac565b615b286060830185614fac565b615b356080830184614fac565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615b5e57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611e7982615b8e565b151590565b6001600160a01b031690565b6000611e79825b6000611e7982615b7e565b60005b83811015615bc7578181015183820152602001615baf565b838111156107bf5750506000910152565b601f01601f191690565b615beb81615b7e565b8114613ae757600080fd5b615beb81615b89565b615beb81610c3c56fea365627a7a723158208d820cd8051adcd0d4ce8a27e1c06ca738538060d29785e20298ff155fd92e006c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_underlyingContract",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_underlyingDecimals",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event",
					"signature": "0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event",
					"signature": "0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event",
					"signature": "0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event",
					"signature": "0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event",
					"signature": "0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "ManagerUpdated",
					"type": "event",
					"signature": "0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxLoansPerAccount",
							"type": "uint256"
						}
					],
					"name": "MaxLoansPerAccountUpdated",
					"type": "event",
					"signature": "0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event",
					"signature": "0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						}
					],
					"name": "MinCratioRatioUpdated",
					"type": "event",
					"signature": "0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0efe6a8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf93451ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8cd2e0c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "scaleDownCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "scaledDown",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb094f2c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"name": "scaleUpCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "scaledUp",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x883a2209"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x90abb4d9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c17ace4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newManager",
							"type": "address"
						}
					],
					"name": "setManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0ebdbe7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						}
					],
					"name": "setMinCratio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0cdd1c65"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde81eda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "underlyingContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x10cfe906"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "underlyingContractDecimals",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3cc3ffc7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x441a3e70"
				}
			],
			"source": {
				"keccak256": "0xd7f0e6259c716c73d92d25b461fa41a553781a6bd562326443dbd2a55741a441",
				"urls": [
					"bzz-raw://21273d71b54f08789b2d42e2b6cf1c460164459418e48f097198384ef88d520e",
					"dweb:/ipfs/QmTShRjoGaQfQrn5Lg6J3BRsmZwwbL89dZBn8XSVRm6Cf6"
				]
			},
			"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": "0xd7f0e6259c716c73d92d25b461fa41a553781a6bd562326443dbd2a55741a441",
						"urls": [
							"bzz-raw://21273d71b54f08789b2d42e2b6cf1c460164459418e48f097198384ef88d520e",
							"dweb:/ipfs/QmTShRjoGaQfQrn5Lg6J3BRsmZwwbL89dZBn8XSVRm6Cf6"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralShort": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162005f3a38038062005f3a8339810160408190526200004c9162000167565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f906200028f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d591849062000269565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b555062000310975050505050505050565b80516200014781620002e0565b92915050565b80516200014781620002fa565b8051620001478162000305565b600080600080600080600060e0888a0312156200018357600080fd5b6000620001918a8a6200015a565b9750506020620001a48a828b016200013a565b9650506040620001b78a828b016200013a565b9550506060620001ca8a828b016200013a565b9450506080620001dd8a828b016200014d565b93505060a0620001f08a828b016200014d565b92505060c0620002038a828b016200014d565b91505092959891949750929550565b6200021d81620002d3565b82525050565b6200021d81620002aa565b60006200023d601983620002a1565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000279828562000212565b62000288602083018462000223565b9392505050565b6020808252810162000147816200022e565b90815260200190565b60006200014782620002c7565b90565b60006200014782620002aa565b6001600160a01b031690565b60006200014782620002ba565b620002eb81620002aa565b8114620002f757600080fd5b50565b620002eb81620002b7565b620002eb81620002ba565b615c1a80620003206000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c8063741853601161013b578063ba2de9bc116100b8578063dac8cf681161007c578063dac8cf681461048d578063de81eda9146104a0578063e74337c6146104b3578063eb8e3b65146104c6578063f93451ed146104ce57610248565b8063ba2de9bc14610444578063c19d93fb1461044c578063cd28502014610454578063d0ebdbe714610467578063d2b8035a1461047a57610248565b80638da5cb5b116100ff5780638da5cb5b1461040657806390abb4d91461040e578063925ead1114610421578063a76cdfa514610429578063b562a1ab1461043c57610248565b806374185360146103bb57806379ba5097146103c35780637e132355146103cb578063899ffef4146103de5780638cd2e0c7146103f357610248565b8063361e2086116101c95780634c17ace41161018d5780634c17ace41461036757806353a47bb71461037a57806355bd615c1461038257806356dc04a1146103955780635eb2ad01146103a857610248565b8063361e20861461031c57806337551ec6146103245780634065b81b14610337578063441a3e701461033f578063481c6a751461035257610248565b80630e54a19b116102105780630e54a19b146102c65780630efe6a8b146102e657806315aaf4dd146102f95780631627540c146103015780632af64bd31461031457610248565b806304f3bcec1461024d5780630710285c1461026b5780630a153c97146102805780630aebeb4e146102a05780630cdd1c65146102b3575b600080fd5b6102556104e1565b6040516102629190615886565b60405180910390f35b61027e610279366004614c5a565b6104f0565b005b61029361028e366004614dd1565b61058d565b6040516102629190615821565b61027e6102ae366004614d83565b6106c9565b61027e6102c1366004614d83565b610763565b6102d96102d4366004614ca7565b61084e565b6040516102629190615813565b61027e6102f4366004614c5a565b610910565b610293610a49565b61027e61030f366004614be4565b610a4f565b6102d9610aa2565b610293610bba565b610293610332366004614d83565b610bc0565b6102d9610bde565b61027e61034d366004614dd1565b610be7565b61035a610c82565b604051610262919061576c565b61027e610375366004614d83565b610c91565b61035a610d6d565b61027e610390366004614ca7565b610d7c565b61027e6103a3366004614da1565b610e3c565b61027e6103b6366004614c20565b610ecd565b61027e610f03565b61027e611055565b6102936103d9366004614dd1565b6110f1565b6103e661119a565b6040516102629190615802565b61027e610401366004614c5a565b6112ff565b61035a61130b565b61027e61041c366004614d17565b61131a565b610293611366565b61027e610437366004614d83565b61136c565b6102936113a9565b6102936113af565b6102556113b5565b610293610462366004614d83565b6113c4565b61027e610475366004614be4565b6113d6565b61027e610488366004614dd1565b61142f565b61029361049b366004614df0565b611439565b61035a6104ae366004614d83565b611592565b6102936104c1366004614df0565b6115ad565b610293611897565b61027e6104dc366004614e6b565b61189d565b6002546001600160a01b031681565b60006104fd848484611986565b9050610507611d51565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b81526004016105349291906157cb565b602060405180830381600087803b15801561054e57600080fd5b505af1158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105869190810190614d35565b5050505050565b600080610598611d6d565b90506105a2611e1a565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016105d39392919061586b565b60206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106239190810190614e2e565b91506106c16106b48273__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561067057600080fd5b505af4158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a89190810190614e2e565b9063ffffffff611e3516565b839063ffffffff611e6316565b949350505050565b60006106d53383611e8d565b90506106df611d51565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161070c9291906157cb565b602060405180830381600087803b15801561072657600080fd5b505af115801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061075e9190810190614d35565b505050565b61076b612358565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107af57600080fd5b505af41580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107e79190810190614e2e565b811161080e5760405162461bcd60e51b8152600401610805906158b5565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a590610843908390615821565b60405180910390a150565b6007546000908414610862575060006106c1565b60005b8481101561090457600086868381811061087b57fe5b905060200201359050806007838154811061089257fe5b9060005260206000200154146108ad576000925050506106c1565b600782815481106108ba57fe5b9060005260206000200154600860008787868181106108d557fe5b90506020020135815260200190815260200160002054146108fb576000925050506106c1565b50600101610865565b50600195945050505050565b610918611d51565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b8152600401610945929190615788565b60206040518083038186803b15801561095d57600080fd5b505afa158015610971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109959190810190614e2e565b8111156109b45760405162461bcd60e51b8152600401610805906158f5565b6109bc611d51565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b81526004016109eb939291906157a3565b602060405180830381600087803b158015610a0557600080fd5b505af1158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d9190810190614d35565b5061075e838383612384565b600e5481565b610a57612358565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061084390839061576c565b60006060610aae61119a565b905060005b8151811015610bb0576000828281518110610aca57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b1b908590600401615821565b60206040518083038186803b158015610b3357600080fd5b505afa158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b6b9190810190614c02565b6001600160a01b0316141580610b9657506000818152600360205260409020546001600160a01b0316155b15610ba75760009350505050610bb7565b50600101610ab3565b5060019150505b90565b600c5481565b60078181548110610bcd57fe5b600091825260209091200154905081565b600f5460ff1681565b6000610bf3838361257b565b9050610bfd611d51565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610c2a9291906157cb565b602060405180830381600087803b158015610c4457600080fd5b505af1158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c7c9190810190614d35565b50505050565b6006546001600160a01b031681565b610c99612358565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdd57600080fd5b505af4158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d159190810190614e2e565b610e1002811115610d385760405162461bcd60e51b8152600401610805906159c5565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c236190610843908390615821565b6001546001600160a01b031681565b610d84612358565b828114610da35760405162461bcd60e51b8152600401610805906158a5565b60005b83811015610e33576000858583818110610dbc57fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610e1057fe5b602090810292909201358352508101919091526040016000205550600101610da6565b50610c7c610f03565b6000828152600960205260409020546001600160a01b031615610ec95760008281526009602052604090819020549051630c00007b60e41b81526001600160a01b039091169063c00007b090610e9690849060040161576c565b600060405180830381600087803b158015610eb057600080fd5b505af1158015610ec4573d6000803e3d6000fd5b505050505b5050565b610ed5612358565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610f0d61119a565b905060005b8151811015610ec9576000828281518110610f2957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610f6b9190615761565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f9792919061584b565b60206040518083038186803b158015610faf57600080fd5b505afa158015610fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fe79190810190614c02565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611043908490849061582f565b60405180910390a15050600101610f12565b6001546001600160a01b0316331461107f5760405162461bcd60e51b8152600401610805906158e5565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110c2926001600160a01b03918216929116906157e6565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111936110fe611e1a565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161112f9392919061586b565b60206040518083038186803b15801561114757600080fd5b505afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117f9190810190614e2e565b61118761277e565b9063ffffffff611e6316565b9392505050565b6060806111a561280e565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b816000815181106111e457fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061120e57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061123457fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061125d57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160048151811061128357fe5b602002602001018181525050606061129b838361285f565b90506112f78160078054806020026020016040519081016040528092919081815260200182805480156112ed57602002820191906000526020600020905b8154815260200190600101908083116112d9575b505050505061285f565b935050505090565b61075e8333848461291b565b6000546001600160a01b031681565b611322612358565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108439160ff90911690615813565b600a5481565b611374612358565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610843908390615821565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b6113de612358565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d9261084392169061576c565b610ec98282612c3c565b600080611444611e1a565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b81526004016114809392919061586b565b60206040518083038186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114d09190810190614e2e565b905060006114dc611e1a565b6001600160a01b031663654a60ac856060015161150a8760c001518860800151611e3590919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016115309392919061586b565b60206040518083038186803b15801561154857600080fd5b505afa15801561155c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115809190810190614e2e565b90506106c1828263ffffffff61316216565b6009602052600090815260409020546001600160a01b031681565b6000806115b8611d6d565b905060006115c4611e1a565b6001600160a01b031663654a60ac85606001516115f28760c001518860800151611e3590919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016116189392919061586b565b60206040518083038186803b15801561163057600080fd5b505afa158015611644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116689190810190614e2e565b90506000611674611e1a565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b81526004016116b09392919061586b565b60206040518083038186803b1580156116c857600080fd5b505afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117009190810190614e2e565b9050600073__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561174857600080fd5b505af415801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117809190810190614e2e565b905060006117a961179c600a548561316290919063ffffffff16565b859063ffffffff61318c16565b905060006117e26117d5600a546117c98987611e3590919063ffffffff16565b9063ffffffff61316216565b849063ffffffff61318c16565b905060006117f6838363ffffffff61316216565b9050611800611e1a565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b815260040161183a9392919061586b565b60206040518083038186803b15801561185257600080fd5b505afa158015611866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061188a9190810190614e2e565b9998505050505050505050565b600d5481565b6118a5611d51565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b81526004016118d2929190615788565b60206040518083038186803b1580156118ea57600080fd5b505afa1580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119229190810190614e2e565b8311156119415760405162461bcd60e51b8152600401610805906158f5565b61194e83838360016131b4565b50611957611d51565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b8152600401610c2a939291906157a3565b6000611990613943565b6119986139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b5050505060008211611a085760405162461bcd60e51b815260040161080590615915565b611a1061495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611a4290889088906004016157f4565b6101206040518083038186803b158015611a5b57600080fd5b505afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a939190810190614e0f565b9050611a9e816139ff565b611aa781613a5f565b9050611ab833826060015185613f4b565b600a54611ac482611439565b10611ae15760405162461bcd60e51b815260040161080590615945565b6000611aec826115ad565b90506000848210611afd5784611aff565b815b90506000611b1e8460c001518560800151611e3590919063ffffffff16565b9050808210611b3d57611b32883386613ffe565b945050505050611193565b611b4784836143cd565b9350611b5784606001518361058d565b6040850151909550611b6f908663ffffffff61318c16565b604085015242610100850152611b836145f0565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611bb49291906157cb565b60206040518083038186803b158015611bcc57600080fd5b505afa158015611be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c049190810190614d35565b15611c215760405162461bcd60e51b815260040161080590615a65565b6060840151600090815260086020526040902054611c3e90614607565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611c6b9291906157cb565b600060405180830381600087803b158015611c8557600080fd5b505af1158015611c99573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611ccd908790600401615a75565b600060405180830381600087803b158015611ce757600080fd5b505af1158015611cfb573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d3e9493929190615a84565b60405180910390a2505050509392505050565b6000611d6868141e5b9d1a1c1554d160ba1b61460e565b905090565b6000611d7761466b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611dca92919061583d565b60206040518083038186803b158015611de257600080fd5b505afa158015611df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d689190810190614e2e565b6000611d686c45786368616e6765526174657360981b61460e565b600082820183811015611e5a5760405162461bcd60e51b815260040161080590615925565b90505b92915050565b6000670de0b6b3a7640000611e7e848463ffffffff61468816565b81611e8557fe5b049392505050565b6000611e97613943565b611e9f6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611ed757600080fd5b505afa158015611eeb573d6000803e3d6000fd5b50505050611ef761495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611f2990879087906004016157f4565b6101206040518083038186803b158015611f4257600080fd5b505afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f7a9190810190614e0f565b9050611f85816139ff565b611f8e81613a5f565b90506000611fad8260c001518360800151611e3590919063ffffffff16565b9050611fc28260200151836060015183613f4b565b611fca6145f0565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b8152600401611ffb9291906157f4565b60206040518083038186803b15801561201357600080fd5b505afa158015612027573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061204b9190810190614d35565b156120685760405162461bcd60e51b815260040161080590615975565b606082015160009081526008602052604090205461208590614607565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016120b29291906157f4565b600060405180830381600087803b1580156120cc57600080fd5b505af11580156120e0573d6000803e3d6000fd5b505050508160a00151156121fe576120f66146c2565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161212b92919061583d565b600060405180830381600087803b15801561214557600080fd5b505af1158015612159573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156121f957606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916121c69189916004016157f4565b600060405180830381600087803b1580156121e057600080fd5b505af11580156121f4573d6000803e3d6000fd5b505050505b61226e565b6122066146c2565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161223b92919061583d565b600060405180830381600087803b15801561225557600080fd5b505af1158015612269573d6000803e3d6000fd5b505050505b816040015192506122878260c0015183606001516146d1565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906122dd908590600401615a75565b600060405180830381600087803b1580156122f757600080fd5b505af115801561230b573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516123489190615821565b60405180910390a2505092915050565b6000546001600160a01b031633146123825760405162461bcd60e51b8152600401610805906159f5565b565b61238c613943565b6123946139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156123cc57600080fd5b505afa1580156123e0573d6000803e3d6000fd5b50505050600081116124045760405162461bcd60e51b815260040161080590615a25565b61240c61495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061243e90879087906004016157f4565b6101206040518083038186803b15801561245757600080fd5b505afa15801561246b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061248f9190810190614e0f565b905061249a816139ff565b6124a381613a5f565b60408101519091506124bb908363ffffffff611e3516565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906124fa908490600401615a75565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161256d9392919061586b565b60405180910390a250505050565b6000612585613943565b61258d6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125c557600080fd5b505afa1580156125d9573d6000803e3d6000fd5b505050506125e561495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061261790339088906004016157cb565b6101206040518083038186803b15801561263057600080fd5b505afa158015612644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126689190810190614e0f565b9050612673816139ff565b61267c81613a5f565b6040810151909150612694908463ffffffff61318c16565b604082015242610100820152600a546126ac82611439565b116126c95760405162461bcd60e51b8152600401610805906158c5565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c906126f9908490600401615a75565b600060405180830381600087803b15801561271357600080fd5b505af1158015612727573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161276f9392919061586b565b60405180910390a25092915050565b6000611d68600a5473__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ca57600080fd5b505af41580156127de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128029190810190614e2e565b9063ffffffff61488716565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061285057fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561288f578160200160208202803883390190505b50905060005b83518110156128d1578381815181106128aa57fe5b60200260200101518282815181106128be57fe5b6020908102919091010152600101612895565b5060005b8251811015612914578281815181106128ea57fe5b602002602001015182828651018151811061290157fe5b60209081029190910101526001016128d5565b5092915050565b612923613943565b61292b6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506000811161299b5760405162461bcd60e51b815260040161080590615915565b6129a361495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906129d590889087906004016157f4565b6101206040518083038186803b1580156129ee57600080fd5b505afa158015612a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a269190810190614e0f565b9050612a31816139ff565b612a3a81613a5f565b9050612a4b84826060015184613f4b565b612a5581836143cd565b426101008201529050612a666145f0565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612a979291906157f4565b60206040518083038186803b158015612aaf57600080fd5b505afa158015612ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ae79190810190614d35565b15612b045760405162461bcd60e51b815260040161080590615a65565b6060810151600090815260086020526040902054612b2190614607565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612b4e9291906157f4565b600060405180830381600087803b158015612b6857600080fd5b505af1158015612b7c573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612bb0908490600401615a75565b600060405180830381600087803b158015612bca57600080fd5b505af1158015612bde573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612c2d9392919061586b565b60405180910390a35050505050565b612c44613943565b612c4c6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c8457600080fd5b505afa158015612c98573d6000803e3d6000fd5b50505050612ca461495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612cd690339087906004016157cb565b6101206040518083038186803b158015612cef57600080fd5b505afa158015612d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d279190810190614e0f565b9050612d32816139ff565b612d3b81613a5f565b6080810151909150612d53908363ffffffff611e3516565b6080820152600a54612d6482611439565b11612d815760405162461bcd60e51b8152600401610805906158d5565b6000612d98600c548461489c90919063ffffffff16565b90506000612dac848363ffffffff61318c16565b90508260a0015115612fb957612dc06146c2565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401612df192919061583d565b600060405180830381600087803b158015612e0b57600080fd5b505af1158015612e1f573d6000803e3d6000fd5b50505050612e2b611d51565b6001600160a01b031663867904b433612e42611e1a565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b8152600401612e7c9392919061586b565b60206040518083038186803b158015612e9457600080fd5b505afa158015612ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ecc9190810190614e2e565b6040518363ffffffff1660e01b8152600401612ee99291906157cb565b600060405180830381600087803b158015612f0357600080fd5b505af1158015612f17573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b031615612fb45760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190612f8190339088906004016157cb565b600060405180830381600087803b158015612f9b57600080fd5b505af1158015612faf573d6000803e3d6000fd5b505050505b6130a1565b612fc16146c2565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401612ff292919061583d565b600060405180830381600087803b15801561300c57600080fd5b505af1158015613020573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546130419150614607565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161306e9291906157cb565b600060405180830381600087803b15801561308857600080fd5b505af115801561309c573d6000803e3d6000fd5b505050505b6130af8284606001516146d1565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c906130e6908690600401615a75565b600060405180830381600087803b15801561310057600080fd5b505af1158015613114573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161315392919061583d565b60405180910390a25050505050565b60006111938261318085670de0b6b3a764000063ffffffff61468816565b9063ffffffff6148b116565b6000828211156131ae5760405162461bcd60e51b815260040161080590615985565b50900390565b60006131be613943565b6131c66139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156131fe57600080fd5b505afa158015613212573d6000803e3d6000fd5b5050600f5460ff16915061323a90505760405162461bcd60e51b8152600401610805906159b5565b6000838152600860205260409020546132655760405162461bcd60e51b815260040161080590615a15565b61326d611e1a565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016132989190615821565b60206040518083038186803b1580156132b057600080fd5b505afa1580156132c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132e89190810190614d35565b156133055760405162461bcd60e51b815260040161080590615965565b600b548510156133275760405162461bcd60e51b815260040161080590615955565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc9061335a90339060040161577a565b60206040518083038186803b15801561337257600080fd5b505afa158015613386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133aa9190810190614e2e565b106133c75760405162461bcd60e51b815260040161080590615935565b6000806133d26146c2565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b81526004016133ff92919061583d565b604080518083038186803b15801561341657600080fd5b505afa15801561342a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061344e9190810190614d53565b9150915081801561345d575080155b6134795760405162461bcd60e51b815260040161080590615a35565b61348387866110f1565b8611156134a25760405162461bcd60e51b8152600401610805906159e5565b60006134b9600c548861489c90919063ffffffff16565b905060006134cd888363ffffffff61318c16565b90506134d76146c2565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561351157600080fd5b505af1158015613525573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135499190810190614e2e565b945061355361495e565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a8152602001881515815260200160008152602001600081526020014281525090506135ab81613a5f565b60055460405163170cc48160e21b81529192506001600160a01b031690635c331204906135dc908490600401615a75565b600060405180830381600087803b1580156135f657600080fd5b505af115801561360a573d6000803e3d6000fd5b5050505061361883896146d1565b861561380e57613626611d51565b6001600160a01b031663867904b43361363d611e1a565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b81526004016136739392919061586b565b60206040518083038186803b15801561368b57600080fd5b505afa15801561369f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136c39190810190614e2e565b6040518363ffffffff1660e01b81526004016136e09291906157cb565b600060405180830381600087803b1580156136fa57600080fd5b505af115801561370e573d6000803e3d6000fd5b5050505061371a6146c2565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b815260040161374792919061583d565b600060405180830381600087803b15801561376157600080fd5b505af1158015613775573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613809576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906137d69033908d906004016157cb565b600060405180830381600087803b1580156137f057600080fd5b505af1158015613804573d6000803e3d6000fd5b505050505b6138ed565b60008881526008602052604090205461382690614607565b6001600160a01b031663867904b433846040518363ffffffff1660e01b81526004016138539291906157cb565b600060405180830381600087803b15801561386d57600080fd5b505af1158015613881573d6000803e3d6000fd5b5050505061388d6146c2565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b81526004016138ba92919061583d565b600060405180830381600087803b1580156138d457600080fd5b505af11580156138e8573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c8860405161392e959493929190615ac2565b60405180910390a25050505050949350505050565b61394b611e1a565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016139789190615821565b60206040518083038186803b15801561399057600080fd5b505afa1580156139a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139c89190810190614d35565b156123825760405162461bcd60e51b8152600401610805906159d5565b6000611d686b53797374656d53746174757360a01b61460e565b60008160e0015111613a235760405162461bcd60e51b815260040161080590615a45565b42613a3e600e54836101000151611e3590919063ffffffff16565b1115613a5c5760405162461bcd60e51b815260040161080590615905565b50565b613a6761495e565b8190506000806000808560a00151613b0557613a816146c2565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613ab09190615821565b60806040518083038186803b158015613ac857600080fd5b505afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b009190810190614e8c565b613b92565b613b0d6146c2565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613b4292919061583d565b60806040518083038186803b158015613b5a57600080fd5b505afa158015613b6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b929190810190614e8c565b93509350935093506000808760a00151613c2257613bae6146c2565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c1d9190810190614e4c565b613cba565b613c2a6146c2565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613c6b91600401615821565b604080518083038186803b158015613c8257600080fd5b505afa158015613c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613cba9190810190614e4c565b915091508015613cdc5760405162461bcd60e51b8152600401610805906159a5565b6000613d7973__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613d2557600080fd5b505af4158015613d39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d5d9190810190614e2e565b613d6d428863ffffffff61318c16565b9063ffffffff61468816565b90506000613d9d613d90858463ffffffff611e6316565b889063ffffffff611e3516565b905060008a60e00151600014613dd657613dd1613dc0838b63ffffffff61318c16565b60808d01519063ffffffff611e6316565b613dd9565b60005b90508a60a00151613e4e57613dec6146c2565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613e179190615821565b600060405180830381600087803b158015613e3157600080fd5b505af1158015613e45573d6000803e3d6000fd5b50505050613eba565b613e566146c2565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613e8792919061583d565b600060405180830381600087803b158015613ea157600080fd5b505af1158015613eb5573d6000803e3d6000fd5b505050505b60c08b0151613ecf908263ffffffff611e3516565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613f0b908d90600401615a75565b600060405180830381600087803b158015613f2557600080fd5b505af1158015613f39573d6000803e3d6000fd5b50505050505050505050505050919050565b6000828152600860205260409020548190613f6590614607565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401613f90919061576c565b60206040518083038186803b158015613fa857600080fd5b505afa158015613fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fe09190810190614e2e565b101561075e5760405162461bcd60e51b815260040161080590615a55565b60008061401c8360c001518460800151611e3590919063ffffffff16565b6080840151604085015193509091506140336145f0565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016140649291906157f4565b60206040518083038186803b15801561407c57600080fd5b505afa158015614090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140b49190810190614d35565b156140d15760405162461bcd60e51b815260040161080590615a65565b60608401516000908152600860205260409020546140ee90614607565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b815260040161411b9291906157f4565b600060405180830381600087803b15801561413557600080fd5b505af1158015614149573d6000803e3d6000fd5b505050508360a00151156142675761415f6146c2565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161419492919061583d565b600060405180830381600087803b1580156141ae57600080fd5b505af11580156141c2573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561426257606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161422f918a916004016157f4565b600060405180830381600087803b15801561424957600080fd5b505af115801561425d573d6000803e3d6000fd5b505050505b6142d7565b61426f6146c2565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016142a492919061583d565b600060405180830381600087803b1580156142be57600080fd5b505af11580156142d2573d6000803e3d6000fd5b505050505b6142e98460c0015185606001516146d1565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061433f908790600401615a75565b600060405180830381600087803b15801561435957600080fd5b505af115801561436d573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516143bc9392919061586b565b60405180910390a350509392505050565b6143d561495e565b508181158015906143ea575060008360c00151115b156144475760008360c0015183116144025782614408565b8360c001515b60c0850151909150614420908263ffffffff61318c16565b60c0830152614435838263ffffffff61318c16565b92506144458185606001516146d1565b505b8115611e5d576080830151614462908363ffffffff61318c16565b608082015260a08101511561457f576144796146c2565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016144aa92919061583d565b600060405180830381600087803b1580156144c457600080fd5b505af11580156144d8573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b03161561457a5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391614547919086906004016157cb565b600060405180830381600087803b15801561456157600080fd5b505af1158015614575573d6000803e3d6000fd5b505050505b611e5d565b6145876146c2565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b81526004016145b892919061583d565b600060405180830381600087803b1580156145d257600080fd5b505af11580156145e6573d6000803e3d6000fd5b5050505092915050565b6000611d686822bc31b430b733b2b960b91b61460e565b6000611e5d825b60008181526003602090815260408083205490516001600160a01b03909116918215159161463e91869101615741565b604051602081830303815290604052906129145760405162461bcd60e51b81526004016108059190615894565b6000611d686e466c657869626c6553746f7261676560881b61460e565b60008261469757506000611e5d565b828202828482816146a457fe5b0414611e5a5760405162461bcd60e51b815260040161080590615a05565b6006546001600160a01b031690565b8115610ec957631c1554d160e21b8114614776576146ed611e1a565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b81526004016147239392919061586b565b60206040518083038186803b15801561473b57600080fd5b505afa15801561474f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506147739190810190614e2e565b91505b61477e611d51565b6001600160a01b031663867904b46147946148e6565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156147cc57600080fd5b505afa1580156147e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148049190810190614c02565b846040518363ffffffff1660e01b81526004016148229291906157f4565b600060405180830381600087803b15801561483c57600080fd5b505af1158015614850573d6000803e3d6000fd5b5050505061485c6148e6565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401610e969190615821565b60006111938383670de0b6b3a76400006148fb565b60006111938383670de0b6b3a7640000614933565b60008082116148d25760405162461bcd60e51b815260040161080590615995565b60008284816148dd57fe5b04949350505050565b6000611d6866119959541bdbdb60ca1b61460e565b6000806149158461318087600a870263ffffffff61468816565b90506005600a825b061061492757600a015b600a9004949350505050565b600080600a830461494a868663ffffffff61468816565b8161495157fe5b0490506005600a8261491d565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611e5d81615bb1565b8051611e5d81615bb1565b60008083601f8401126149e057600080fd5b50813567ffffffffffffffff8111156149f857600080fd5b602083019150836020820283011115614a1057600080fd5b9250929050565b8035611e5d81615bc5565b8051611e5d81615bc5565b8035611e5d81615bce565b8051611e5d81615bce565b60006101208284031215614a5657600080fd5b614a61610120615b0e565b90506000614a6f8484614a2d565b8252506020614a80848483016149b8565b6020830152506040614a9484828501614a2d565b6040830152506060614aa884828501614a2d565b6060830152506080614abc84828501614a2d565b60808301525060a0614ad084828501614a17565b60a08301525060c0614ae484828501614a2d565b60c08301525060e0614af884828501614a2d565b60e083015250610100614b0d84828501614a2d565b6101008301525092915050565b60006101208284031215614b2d57600080fd5b614b38610120615b0e565b90506000614b468484614a38565b8252506020614b57848483016149c3565b6020830152506040614b6b84828501614a38565b6040830152506060614b7f84828501614a38565b6060830152506080614b9384828501614a38565b60808301525060a0614ba784828501614a22565b60a08301525060c0614bbb84828501614a38565b60c08301525060e0614bcf84828501614a38565b60e083015250610100614b0d84828501614a38565b600060208284031215614bf657600080fd5b60006106c184846149b8565b600060208284031215614c1457600080fd5b60006106c184846149c3565b60008060408385031215614c3357600080fd5b6000614c3f85856149b8565b9250506020614c5085828601614a2d565b9150509250929050565b600080600060608486031215614c6f57600080fd5b6000614c7b86866149b8565b9350506020614c8c86828701614a2d565b9250506040614c9d86828701614a2d565b9150509250925092565b60008060008060408587031215614cbd57600080fd5b843567ffffffffffffffff811115614cd457600080fd5b614ce0878288016149ce565b9450945050602085013567ffffffffffffffff811115614cff57600080fd5b614d0b878288016149ce565b95989497509550505050565b600060208284031215614d2957600080fd5b60006106c18484614a17565b600060208284031215614d4757600080fd5b60006106c18484614a22565b60008060408385031215614d6657600080fd5b6000614d728585614a22565b9250506020614c5085828601614a22565b600060208284031215614d9557600080fd5b60006106c18484614a2d565b60008060408385031215614db457600080fd5b6000614dc08585614a2d565b9250506020614c50858286016149b8565b60008060408385031215614de457600080fd5b6000614c3f8585614a2d565b60006101208284031215614e0357600080fd5b60006106c18484614a43565b60006101208284031215614e2257600080fd5b60006106c18484614b1a565b600060208284031215614e4057600080fd5b60006106c18484614a38565b60008060408385031215614e5f57600080fd5b6000614d728585614a38565b600080600060608486031215614e8057600080fd5b6000614c7b8686614a2d565b60008060008060808587031215614ea257600080fd5b6000614eae8787614a38565b9450506020614ebf87828801614a38565b9350506040614ed087828801614a38565b9250506060614ee187828801614a38565b91505092959194509250565b6000614ef98383614f7b565b505060200190565b614f0a81615b69565b82525050565b614f0a81615b4d565b6000614f2482615b3b565b614f2e8185615b3f565b9350614f3983615b35565b8060005b83811015614f67578151614f518882614eed565b9750614f5c83615b35565b925050600101614f3d565b509495945050505050565b614f0a81615b58565b614f0a81610bb7565b614f0a614f9082610bb7565b610bb7565b614f0a81615b70565b6000614fa982615b3b565b614fb38185615b3f565b9350614fc3818560208601615b7b565b614fcc81615ba7565b9093019392505050565b6000614fe3601b83615b3f565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061501c601683615b3f565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b600061504e600e83615b3f565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000615078601583615b3f565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b60006150a9603583615b3f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615100601983615b3f565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000615139601d83615b3f565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b6000615172601e83615b3f565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006151ab601b83615b3f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006151e4601283615b3f565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615212601e83615b3f565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b600061524b601d83615b3f565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615284601883615b3f565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006152bd602083615b3f565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b60006152f6601e83615b3f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061532f601a83615b3f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615368601183615b48565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615395601183615b3f565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006153c2601383615b3f565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b60006153f1600a83615b3f565b6926b0bc1018903437bab960b11b815260200192915050565b6000615417601a83615b3f565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615450601b83615b3f565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b6000615489602f83615b3f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006154da602183615b3f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061551d601f83615b3f565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b6000615556601e83615b3f565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061558f601a83615b3f565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006155c8601983615b48565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615601601383615b3f565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615630601883615b3f565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b6000615669601b83615b3f565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906156a78482614f7b565b5060208201516156ba6020850182614f10565b5060408201516156cd6040850182614f7b565b5060608201516156e06060850182614f7b565b5060808201516156f36080850182614f7b565b5060a082015161570660a0850182614f72565b5060c082015161571960c0850182614f7b565b5060e082015161572c60e0850182614f7b565b50610100820151610c7c610100850182614f7b565b600061574c8261535b565b91506157588284614f84565b50602001919050565b600061574c826155bb565b60208101611e5d8284614f10565b60208101611e5d8284614f01565b604081016157968285614f01565b6111936020830184614f10565b606081016157b18286614f01565b6157be6020830185614f10565b6106c16040830184614f7b565b604081016157d98285614f01565b6111936020830184614f7b565b604081016157968285614f10565b604081016157d98285614f10565b602080825281016111938184614f19565b60208101611e5d8284614f72565b60208101611e5d8284614f7b565b604081016157968285614f7b565b604081016157d98285614f7b565b604081016158598285614f7b565b81810360208301526106c18184614f9e565b606081016158798286614f7b565b6157be6020830185614f7b565b60208101611e5d8284614f95565b602080825281016111938184614f9e565b60208082528101611e5d81614fd6565b60208082528101611e5d8161500f565b60208082528101611e5d81615041565b60208082528101611e5d8161506b565b60208082528101611e5d8161509c565b60208082528101611e5d816150f3565b60208082528101611e5d8161512c565b60208082528101611e5d81615165565b60208082528101611e5d8161519e565b60208082528101611e5d816151d7565b60208082528101611e5d81615205565b60208082528101611e5d8161523e565b60208082528101611e5d81615277565b60208082528101611e5d816152b0565b60208082528101611e5d816152e9565b60208082528101611e5d81615322565b60208082528101611e5d81615388565b60208082528101611e5d816153b5565b60208082528101611e5d816153e4565b60208082528101611e5d8161540a565b60208082528101611e5d81615443565b60208082528101611e5d8161547c565b60208082528101611e5d816154cd565b60208082528101611e5d81615510565b60208082528101611e5d81615549565b60208082528101611e5d81615582565b60208082528101611e5d816155f4565b60208082528101611e5d81615623565b60208082528101611e5d8161565c565b6101208101611e5d8284615695565b60808101615a928287614f7b565b615a9f6020830186614f01565b615aac6040830185614f7b565b615ab96060830184614f7b565b95945050505050565b60a08101615ad08288614f7b565b615add6020830187614f7b565b615aea6040830186614f7b565b615af76060830185614f7b565b615b046080830184614f7b565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615b2d57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611e5d82615b5d565b151590565b6001600160a01b031690565b6000611e5d825b6000611e5d82615b4d565b60005b83811015615b96578181015183820152602001615b7e565b83811115610c7c5750506000910152565b601f01601f191690565b615bba81615b4d565b8114613a5c57600080fd5b615bba81615b58565b615bba81610bb756fea365627a7a723158202f41cfcac919c60a5219843e05f8e34776194ba6acf92ecdc558a43dacb6f1c36c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract CollateralState",
							"name": "_state",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_manager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_collateralKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_minCollateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canOpenLoans",
							"type": "bool"
						}
					],
					"name": "CanOpenLoansUpdated",
					"type": "event",
					"signature": "0x261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountDeposited",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralDeposited",
					"type": "event",
					"signature": "0x0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountWithdrawn",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralAfter",
							"type": "uint256"
						}
					],
					"name": "CollateralWithdrawn",
					"type": "event",
					"signature": "0xfae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f3303"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "interactionDelay",
							"type": "uint256"
						}
					],
					"name": "InteractionDelayUpdated",
					"type": "event",
					"signature": "0x4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "IssueFeeRateUpdated",
					"type": "event",
					"signature": "0xe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "LoanClosed",
					"type": "event",
					"signature": "0xcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanClosedByLiquidation",
					"type": "event",
					"signature": "0x697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuanceFee",
							"type": "uint256"
						}
					],
					"name": "LoanCreated",
					"type": "event",
					"signature": "0x604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "LoanDrawnDown",
					"type": "event",
					"signature": "0x5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "collateralLiquidated",
							"type": "uint256"
						}
					],
					"name": "LoanPartiallyLiquidated",
					"type": "event",
					"signature": "0xb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "repayer",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountRepaid",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountAfter",
							"type": "uint256"
						}
					],
					"name": "LoanRepaymentMade",
					"type": "event",
					"signature": "0xdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "manager",
							"type": "address"
						}
					],
					"name": "ManagerUpdated",
					"type": "event",
					"signature": "0x2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "maxLoansPerAccount",
							"type": "uint256"
						}
					],
					"name": "MaxLoansPerAccountUpdated",
					"type": "event",
					"signature": "0x6a5107c7de25c5b210323f3c6c2caea6502583fbe45acdca57e75a4dc9534e8c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCollateral",
							"type": "uint256"
						}
					],
					"name": "MinCollateralUpdated",
					"type": "event",
					"signature": "0xd19fe8ad9152af12b174a60210fb798db0767d63973ebb97298dc44d67a5c82d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "minCratio",
							"type": "uint256"
						}
					],
					"name": "MinCratioRatioUpdated",
					"type": "event",
					"signature": "0x813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x55bd615c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "rewardsContract",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "pynth",
							"type": "bytes32"
						}
					],
					"name": "addRewardsContracts",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5eb2ad01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_pynthNamesInResolver",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "_pynthKeys",
							"type": "bytes32[]"
						}
					],
					"name": "arePynthsAndCurrenciesSet",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0e54a19b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "canOpenLoans",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4065b81b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						}
					],
					"name": "close",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aebeb4e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "collateralKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb562a1ab"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "collateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdac8cf68"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "collateralRedeemed",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a153c97"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0efe6a8b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "draw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd2b8035a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x56dc04a1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "interactionDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15aaf4dd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issueFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x361e2086"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "liquidate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0710285c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"components": [
								{
									"internalType": "uint256",
									"name": "id",
									"type": "uint256"
								},
								{
									"internalType": "address payable",
									"name": "account",
									"type": "address"
								},
								{
									"internalType": "uint256",
									"name": "collateral",
									"type": "uint256"
								},
								{
									"internalType": "bytes32",
									"name": "currency",
									"type": "bytes32"
								},
								{
									"internalType": "uint256",
									"name": "amount",
									"type": "uint256"
								},
								{
									"internalType": "bool",
									"name": "short",
									"type": "bool"
								},
								{
									"internalType": "uint256",
									"name": "accruedInterest",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "interestIndex",
									"type": "uint256"
								},
								{
									"internalType": "uint256",
									"name": "lastInteraction",
									"type": "uint256"
								}
							],
							"internalType": "struct ICollateralLoan.Loan",
							"name": "loan",
							"type": "tuple"
						}
					],
					"name": "liquidationAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe74337c6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "manager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481c6a75"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "maxLoan",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "max",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7e132355"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxLoansPerAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb8e3b65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xba2de9bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minCratio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x925ead11"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currency",
							"type": "bytes32"
						}
					],
					"name": "open",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf93451ed"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37551ec6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthsByKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd285020"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "borrower",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "repay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8cd2e0c7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_canOpenLoans",
							"type": "bool"
						}
					],
					"name": "setCanOpenLoans",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x90abb4d9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_interactionDelay",
							"type": "uint256"
						}
					],
					"name": "setInteractionDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c17ace4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issueFeeRate",
							"type": "uint256"
						}
					],
					"name": "setIssueFeeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa76cdfa5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newManager",
							"type": "address"
						}
					],
					"name": "setManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0ebdbe7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_minCratio",
							"type": "uint256"
						}
					],
					"name": "setMinCratio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0cdd1c65"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "shortingRewards",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde81eda9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "state",
					"outputs": [
						{
							"internalType": "contract CollateralState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc19d93fb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "id",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x441a3e70"
				}
			],
			"source": {
				"keccak256": "0x6039a73b2b8904f1f114213820c20d07e052dfe965036b59f131b0641db2f38e",
				"urls": [
					"bzz-raw://4db0ab16e411dcb87a27b2a11aa230e9feeebc772323034173ceb564754c2c3c",
					"dweb:/ipfs/QmSc6cDS68nJB6gJyWLfnjohZWU6Fhqf5dXW8TsfrexaZt"
				]
			},
			"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": "0x6039a73b2b8904f1f114213820c20d07e052dfe965036b59f131b0641db2f38e",
						"urls": [
							"bzz-raw://4db0ab16e411dcb87a27b2a11aa230e9feeebc772323034173ceb564754c2c3c",
							"dweb:/ipfs/QmSc6cDS68nJB6gJyWLfnjohZWU6Fhqf5dXW8TsfrexaZt"
						]
					}
				},
				"version": 1
			}
		},
		"StakingRewards": {
			"bytecode": "60806040526000600655600060075562093a8060085534801561002157600080fd5b506040516117fe3803806117fe8339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506001600355600480546001600160a01b039384166001600160a01b03199182161790915560058054928416928216929092179091556002805493909216921691909117905550611699806101656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c806379ba5097116100f9578063c8f33c9111610097578063d1af0c7d11610071578063d1af0c7d146103e4578063df136d65146103ec578063e9fad8ee146103f4578063ebe2b12b146103fc576101c3565b8063c8f33c91146103b7578063cc1a378f146103bf578063cd3daf9d146103dc576101c3565b80638980f11f116100d35780638980f11f146103405780638b8763471461036c5780638da5cb5b14610392578063a694fc3a1461039a576101c3565b806379ba5097146103285780637b0a47ee1461033057806380faa57d14610338576101c3565b8063386a9525116101665780633fc6df6e116101405780633fc6df6e146102ce57806353a47bb7146102f257806370a08231146102fa57806372f702f314610320576101c3565b8063386a9525146102a15780633c6b16ab146102a95780633d18b912146102c6576101c3565b806318160ddd116101a257806318160ddd1461024e57806319762143146102565780631c1f78eb1461027c5780632e1a7d4d14610284576101c3565b80628cc262146101c85780630700037d146102005780631627540c14610226575b600080fd5b6101ee600480360360208110156101de57600080fd5b50356001600160a01b0316610404565b60408051918252519081900360200190f35b6101ee6004803603602081101561021657600080fd5b50356001600160a01b031661049a565b61024c6004803603602081101561023c57600080fd5b50356001600160a01b03166104ac565b005b6101ee610549565b61024c6004803603602081101561026c57600080fd5b50356001600160a01b0316610550565b6101ee6105bb565b61024c6004803603602081101561029a57600080fd5b50356105d9565b6101ee61077b565b61024c600480360360208110156102bf57600080fd5b5035610781565b61024c6108ed565b6102d6610a24565b604080516001600160a01b039092168252519081900360200190f35b6102d6610a33565b6101ee6004803603602081101561031057600080fd5b50356001600160a01b0316610a42565b6102d6610a5d565b61024c610a6c565b6101ee610b28565b6101ee610b2e565b61024c6004803603604081101561035657600080fd5b506001600160a01b038135169060200135610b3c565b6101ee6004803603602081101561038257600080fd5b50356001600160a01b0316610dd0565b6102d6610de2565b61024c600480360360208110156103b057600080fd5b5035610df1565b6101ee610f8d565b61024c600480360360208110156103d557600080fd5b5035610f93565b6101ee611062565b6102d66110bc565b6101ee6110cb565b61024c6110d1565b6101ee6110f4565b6001600160a01b0381166000908152600c6020908152604080832054600b909252822054610494919061048890670de0b6b3a76400009061047c906104579061044b611062565b9063ffffffff6110fa16565b6001600160a01b0388166000908152600e60205260409020549063ffffffff61115716565b9063ffffffff6111b716565b9063ffffffff61122116565b92915050565b600c6020526000908152604090205481565b6000546001600160a01b031633146104f55760405162461bcd60e51b815260040180806020018281038252602f815260200180611594602f913960400191505060405180910390fd5b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600d545b90565b6000546001600160a01b031633146105995760405162461bcd60e51b815260040180806020018281038252602f815260200180611594602f913960400191505060405180910390fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60006105d460085460075461115790919063ffffffff16565b905090565b6003805460010190819055336105ed611062565b600a556105f8610b2e565b6009556001600160a01b0381161561063f5761061381610404565b6001600160a01b0382166000908152600c6020908152604080832093909355600a54600b909152919020555b60008311610688576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600d5461069b908463ffffffff6110fa16565b600d55336000908152600e60205260409020546106be908463ffffffff6110fa16565b336000818152600e60205260409020919091556005546106ea916001600160a01b03909116908561127b565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a2506003548114610777576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60085481565b6002546001600160a01b031633146107ca5760405162461bcd60e51b815260040180806020018281038252602a815260200180611611602a913960400191505060405180910390fd5b60006107d4611062565b600a556107df610b2e565b6009556001600160a01b03811615610826576107fa81610404565b6001600160a01b0382166000908152600c6020908152604080832093909355600a54600b909152919020555b600654421061084b5760085461084390839063ffffffff6111b716565b60075561089a565b600654600090610861904263ffffffff6110fa16565b9050600061087a6007548361115790919063ffffffff16565b6008549091506108949061047c868463ffffffff61122116565b60075550505b4260098190556008546108b3919063ffffffff61122116565b6006556040805183815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a15050565b600380546001019081905533610901611062565b600a5561090c610b2e565b6009556001600160a01b038116156109535761092781610404565b6001600160a01b0382166000908152600c6020908152604080832093909355600a54600b909152919020555b336000908152600c602052604090205480156109c957336000818152600c6020526040812055600454610992916001600160a01b03909116908361127b565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b50506003548114610a21576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50565b6002546001600160a01b031681565b6001546001600160a01b031681565b6001600160a01b03166000908152600e602052604090205490565b6005546001600160a01b031681565b6001546001600160a01b03163314610ab55760405162461bcd60e51b815260040180806020018281038252603581526020018061155f6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60075481565b60006105d4426006546112d2565b6000546001600160a01b03163314610b855760405162461bcd60e51b815260040180806020018281038252602f815260200180611594602f913960400191505060405180910390fd5b6000826001600160a01b03166395d89b416040518163ffffffff1660e01b815260040160006040518083038186803b158015610bc057600080fd5b505afa158015610bd4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610bfd57600080fd5b8101908080516040519392919084640100000000821115610c1d57600080fd5b908301906020820185811115610c3257600080fd5b8251640100000000811182820188101715610c4c57600080fd5b82525081516020918201929091019080838360005b83811015610c79578181015183820152602001610c61565b50505050905090810190601f168015610ca65780820380516001836020036101000a031916815260200191505b506040818152855160209687012082820190915260038252620a69cb60eb1b959091019490945250506005547fc33e514e79311fe606801af4b4f343c83a3b72dca711239a516f2103673922d19092149250506001600160a01b03848116911614801590610d2257506004546001600160a01b03848116911614155b8015610d2c575080155b610d675760405162461bcd60e51b815260040180806020018281038252602d8152602001806115e4602d913960400191505060405180910390fd5b600054610d87906001600160a01b0385811691168463ffffffff61127b16565b604080516001600160a01b03851681526020810184905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a1505050565b600b6020526000908152604090205481565b6000546001600160a01b031681565b600380546001019081905533610e05611062565b600a55610e10610b2e565b6009556001600160a01b03811615610e5757610e2b81610404565b6001600160a01b0382166000908152600c6020908152604080832093909355600a54600b909152919020555b60008311610e9d576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600d54610eb0908463ffffffff61122116565b600d55336000908152600e6020526040902054610ed3908463ffffffff61122116565b336000818152600e6020526040902091909155600554610f00916001600160a01b039091169030866112e8565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a2506003548114610777576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60095481565b6000546001600160a01b03163314610fdc5760405162461bcd60e51b815260040180806020018281038252602f815260200180611594602f913960400191505060405180910390fd5b6006541580610fec575060065442115b6110275760405162461bcd60e51b81526004018080602001828103825260588152602001806115076058913960600191505060405180910390fd5b60088190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600d54600014156110785750600a5461054d565b6105d46110ad600d5461047c670de0b6b3a76400006110a16007546110a160095461044b610b2e565b9063ffffffff61115716565b600a549063ffffffff61122116565b6004546001600160a01b031681565b600a5481565b336000908152600e60205260409020546110ea906105d9565b6110f26108ed565b565b60065481565b600082821115611151576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261116657506000610494565b8282028284828161117357fe5b04146111b05760405162461bcd60e51b81526004018080602001828103825260218152602001806115c36021913960400191505060405180910390fd5b9392505050565b600080821161120d576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161121857fe5b04949350505050565b6000828201838110156111b0576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526112cd908490611348565b505050565b60008183106112e157816111b0565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b179052611342908590611348565b50505050565b61135a826001600160a01b0316611500565b6113ab576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106113e95780518252601f1990920191602091820191016113ca565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d806000811461144b576040519150601f19603f3d011682016040523d82523d6000602084013e611450565b606091505b5091509150816114a7576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611342578080602001905160208110156114c357600080fd5b50516113425760405162461bcd60e51b815260040180806020018281038252602a81526020018061163b602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7743616e6e6f7420776974686472617720746865207374616b696e67206f72207265776172647320746f6b656e7343616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a72315820df34aeb963d50a59215e58b1f50bbdac67d7d5638574279144eb41f5c109cb6164736f6c63430005100032",
			"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": "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": "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": "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": "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"
				}
			]
		},
		"RewardEscrowV2": {
			"bytecode": "608060408190526303bfc400600c556224ea00600d5562093a80600e55630241ebdb60e61b815273__$58c62a0096148744468f14ce5088c1760d$__9063907af6c09060849060209060048186803b1580156200005b57600080fd5b505af415801562000070573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000969190810190620001f1565b6103e802601155348015620000aa57600080fd5b5060405162003eba38038062003eba833981016040819052620000cd91620001b2565b8181806249d400836001600160a01b038116620001075760405162461bcd60e51b8152600401620000fe9062000297565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200015491849062000271565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620003009050565b80516200019f81620002db565b92915050565b80516200019f81620002f5565b60008060408385031215620001c657600080fd5b6000620001d4858562000192565b9250506020620001e78582860162000192565b9150509250929050565b6000602082840312156200020457600080fd5b6000620002128484620001a5565b949350505050565b6200022581620002c7565b82525050565b6200022581620002b2565b600062000245601983620002a9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200028182856200021a565b6200029060208301846200022b565b9392505050565b602080825281016200019f8162000236565b90815260200190565b60006001600160a01b0382166200019f565b90565b60006200019f8260006200019f82620002b2565b620002e681620002b2565b8114620002f257600080fd5b50565b620002e681620002c4565b613baa80620003106000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780638da5cb5b116100ce578063b95375bd11610087578063b95375bd1461052e578063cd7b43dd14610541578063d621a16914610554578063e6b2cf6c14610567578063eac624891461056f578063f0b882ba1461058f5761027f565b80638da5cb5b146104dd578063910a326d146104e55780639ad6a7e5146104ed578063a0416ed3146104f5578063ae58254914610508578063b0fd59631461051b5761027f565b80637839b92f116101205780637839b92f146104665780637993e6991461047957806379ba50971461048c5780637cc1d7561461049457806380d46f58146104a7578063899ffef4146104c85761027f565b806370a082311461041057806371e780f31461042357806373307e401461042b578063741853601461043e578063773ab39f146104465761027f565b8063326a3cfb116101f557806346ba2d90116101b957806346ba2d90146103b257806353a47bb7146103ba5780635b85c200146103cf5780635eb8cf25146103e25780636154c343146103ea5780636dc05bd3146103fd5761027f565b8063326a3cfb1461035057806334c7fec91461036357806337088ffc146103765780634525aabc1461037e57806345626bd6146103915761027f565b8063178c565511610247578063178c5655146102f45780631bb47b44146102fc578063204b676a1461030f578063227d517a146103225780632af64bd31461033557806330104c5f1461033d5761027f565b8063018c6c551461028457806304f3bcec1461029957806305662986146102b75780630fcdefb7146102cc5780631627540c146102e1575b600080fd5b610297610292366004612c2b565b6105a2565b005b6102a16105ea565b6040516102ae91906137fc565b60405180910390f35b6102bf6105f9565b6040516102ae91906137b2565b6102d461061a565b6040516102ae91906137c0565b6102976102ef36600461292f565b610620565b610297610673565b61029761030a366004612a61565b6106d0565b6102d461031d36600461292f565b610721565b6102d461033036600461292f565b61073c565b6102bf61074e565b6102d461034b3660046129c0565b610865565b6102d461035e36600461292f565b6108c4565b610297610371366004612bcc565b6108d6565b6102d461098c565b61029761038c366004612c2b565b610992565b6103a461039f3660046129c0565b6109cf565b6040516102ae929190613a51565b6102d46109ff565b6103c2610a05565b6040516102ae9190613665565b6102976103dd366004612c2b565b610a14565b6102d4610a51565b6103a46103f83660046129c0565b610a57565b6102d461040b36600461296b565b610a91565b6102d461041e36600461292f565b610b3e565b6102d4610b59565b6103c261043936600461292f565b610b5f565b610297610b7a565b610459610454366004612a61565b610cd0565b6040516102ae9190613759565b61029761047436600461292f565b610e70565b610297610487366004612c2b565b61116e565b6102976111cd565b6102976104a236600461292f565b611269565b6104ba6104b536600461296b565b6113b9565b6040516102ae9291906139ab565b6104d0611642565b6040516102ae9190613748565b6103c2611710565b6102d461171f565b6102d4611725565b610297610503366004612a61565b61172b565b6102d46105163660046129c0565b6117f6565b6102d461052936600461292f565b611824565b61029761053c366004612b10565b611836565b61029761054f3660046129fa565b611a21565b610297610562366004612aae565b611a2f565b6102d4611bf0565b61058261057d366004612a61565b611bf6565b6040516102ae91906137a1565b61029761059d36600461296b565b611ce2565b6105aa61201e565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105df9083906137c0565b60405180910390a150565b6003546001600160a01b031681565b600042610613600e54600f5461204a90919063ffffffff16565b1190505b90565b600f5481565b61062861201e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105df908390613665565b61067b61201e565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106b890829063ffffffff61204a16565b6040516106c69291906139cb565b60405180910390a1565b6106d861206f565b6001600160a01b0316336001600160a01b0316146107115760405162461bcd60e51b81526004016107089061396b565b60405180910390fd5b61071c838383612089565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b6000606061075a611642565b905060005b815181101561085c57600082828151811061077657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a721916107c7918691016137c0565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610817919081019061294d565b6001600160a01b031614158061084257506000818152600460205260409020546001600160a01b0316155b156108535760009350505050610617565b5060010161075f565b50600191505090565b600061086f6127a0565b506001600160a01b0383166000908152600560209081526040808320858452825291829020825180840190935280546001600160401b0316835260010154908201526108ba816122a1565b9150505b92915050565b60086020526000908152604090205481565b6000805b8281101561097b57336000908152600560205260408120818686858181106108fe57fe5b90506020020135815260200190815260200160002090508060010154600014610972576040805180820190915281546001600160401b031681526001820154602082015260009061094e906122a1565b9050801561095e57600060018301555b61096e848263ffffffff61204a16565b9350505b506001016108da565b50801561071c5761071c33826122d2565b600d5481565b61099a61201e565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105df9083906137c0565b6005602090815260009283526040808420909152908252902080546001909101546001600160401b039091169082565b60025481565b6001546001600160a01b031681565b610a1c61201e565b60118190556040517f7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672906105df9083906137c0565b600c5481565b6001600160a01b039190911660009081526005602090815260408083209383529290522080546001909101546001600160401b0390911691565b6000805b82811015610b3657610aa56127a0565b6001600160a01b038616600090815260056020526040812090868685818110610aca57fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015610b2d576000610b17826122a1565b9050610b29848263ffffffff61204a16565b9350505b50600101610a95565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610b84611642565b905060005b8151811015610ccc576000828281518110610ba057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610be2919061365a565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0e9291906137dc565b60206040518083038186803b158015610c2657600080fd5b505afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5e919081019061294d565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cba90849084906137ce565b60405180910390a15050600101610b89565b5050565b6060828201838111610d16576040805160008082526020820190925290610d0d565b610cfa6127b7565b815260200190600190039081610cf25790505b50915050610e69565b6001600160a01b038516600090815260066020526040902054811115610d5157506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610d9057816020015b610d7d6127b7565b815260200190600190039081610d755790505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604081208054838a01908110610dc457fe5b90600052602060002001549050610dd96127a0565b506001600160a01b03891660009081526005602090815260408083208484528252918290208251808401845281546001600160401b03908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610e4e57fe5b60209081029190910101525050600101610d96565b50925050505b9392505050565b610e786123ed565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506001600160a01b038116600090815260106020526040902054610efd5760405162461bcd60e51b8152600401610708906138ab565b6001600160a01b038116600090815260086020526040902054610f325760405162461bcd60e51b81526004016107089061398b565b6011546001600160a01b03821660009081526010602052604090205411610fbd57610f9f816040518060400160405280426001600160401b0316815260200160106000866001600160a01b03166001600160a01b0316815260200190815260200160002054815250612407565b6001600160a01b03811660009081526010602052604081205561116b565b6000610fc7612465565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610ff29190613665565b60206040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190612c49565b905060015b81811161071c576110566127e1565b61105e612465565b6001600160a01b031663da7bd3e9858486036040518363ffffffff1660e01b815260040161108d92919061372d565b604080518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110dc9190810190612bae565b8051602082015191925090428210156110f75750505061071c565b61111e866040518060400160405280856001600160401b0316815260200184815250612407565b6001600160a01b038616600090815260106020526040902054611147908263ffffffff61247f16565b6001600160a01b038716600090815260106020526040902055505050600101611047565b50565b61117661201e565b600d548111156111985760405162461bcd60e51b81526004016107089061395b565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105df9083906137c0565b6001546001600160a01b031633146111f75760405162461bcd60e51b81526004016107089061381b565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261123a926001600160a01b0391821692911690613704565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156112925760405162461bcd60e51b8152600401610708906138fb565b61129a6105f9565b6112b65760405162461bcd60e51b8152600401610708906138db565b6112be6124a7565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016112e991906136a3565b60206040518083038186803b15801561130157600080fd5b505afa158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113399190810190612c49565b156113565760405162461bcd60e51b81526004016107089061399b565b336000818152600a60205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906113ae908490613665565b60405180910390a250565b600060606113c56124bb565b6001600160a01b0316336001600160a01b0316146113f55760405162461bcd60e51b81526004016107089061382b565b826114125760405162461bcd60e51b81526004016107089061390b565b60408051848152602080860282010190915283801561144b57816020015b6114386127a0565b8152602001906001900390816114305790505b50905060005b83811015611552576001600160a01b03861660009081526005602052604081208187878581811061147e57fe5b9050602002013581526020019081526020016000209050600081600101541115611549576040805180820190915281546001600160401b031681526001820154602082015283518490849081106114d157fe5b60200260200101819052506114f381600101548561204a90919063ffffffff16565b6001600160a01b038816600090815260056020526040812091955087878581811061151a57fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611451565b5081156115f35761156385836124e6565b61156b612545565b6001600160a01b031663a9059cbb6115816124bb565b846040518363ffffffff1660e01b815260040161159f92919061372d565b602060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f19190810190612c0d565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c85858542604051611632949392919061376a565b60405180910390a2935093915050565b60608061164d61255e565b60408051600380825260808201909252919250606091906020820183803883390190505090507f5065726946696e616e6365427269646765546f4f7074696d69736d0000000000816000815181106116a157fe5b6020026020010181815250506b526577617264457363726f7760a01b816001815181106116ca57fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106116f357fe5b60200260200101818152505061170982826125f2565b9250505090565b6000546001600160a01b031681565b600e5481565b60115481565b6001600160a01b0383166117515760405162461bcd60e51b81526004016107089061386b565b611759612545565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b815260040161178893929190613673565b602060405180830381600087803b1580156117a257600080fd5b505af11580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117da9190810190612c0d565b6107115760405162461bcd60e51b8152600401610708906138eb565b6006602052816000526040600020818154811061180f57fe5b90600052602060002001600091509150505481565b60106020526000908152604090205481565b60025442106118575760405162461bcd60e51b81526004016107089061394b565b61185f61201e565b84831461187e5760405162461bcd60e51b81526004016107089061397b565b84811461189d5760405162461bcd60e51b81526004016107089061389b565b60005b85811015611a185760008787838181106118b657fe5b90506020020160206118cb919081019061292f565b905060008686848181106118db57fe5b90506020020135905060008585858181106118f257fe5b6001600160a01b03861660009081526010602090815260409091205491029290920135925050156119355760405162461bcd60e51b81526004016107089061383b565b600b54611948908363ffffffff61204a16565b600b556001600160a01b038316600090815260086020526040902054611974908363ffffffff61204a16565b6001600160a01b0384166000908152600860209081526040808320939093556009905220546119a9908263ffffffff61204a16565b6001600160a01b0384166000818152600960209081526040808320949094556010905282902084905590517fa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d690611a05908590859042906139d9565b60405180910390a25050506001016118a0565b50505050505050565b611a296126ae565b50505050565b6002544210611a505760405162461bcd60e51b81526004016107089061394b565b611a5861201e565b828114611a775760405162461bcd60e51b81526004016107089061393b565b60005b83811015611be9576000858583818110611a9057fe5b9050602002016020611aa5919081019061292f565b90506000848484818110611ab557fe5b905060200201359050600060086000846001600160a01b03166001600160a01b031681526020019081526020016000205411611b035760405162461bcd60e51b81526004016107089061398b565b6001600160a01b038216600090815260106020526040902054611b385760405162461bcd60e51b8152600401610708906138ab565b611b5f826040518060400160405280426001600160401b0316815260200184815250612407565b6001600160a01b038216600090815260106020526040902054611b88908263ffffffff61247f16565b6001600160a01b038316600081815260106020526040908190209290925590517f73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc490611bd790429085906139cb565b60405180910390a25050600101611a7a565b5050505050565b60075481565b6001600160a01b03831660009081526006602052604090205460609083830190811115611c3857506001600160a01b0384166000908152600660205260409020545b838111611c55576040805160008082526020820190925290610d0d565b604080518583038082526020808202830101909252606090828015611c84578160200160208202803883390190505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604090208054828901908110611cb857fe5b9060005260206000200154828281518110611ccf57fe5b6020908102919091010152600101611c8a565b611cea6105f9565b611d065760405162461bcd60e51b8152600401610708906138db565b611d0e6124a7565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611d39919061371f565b60206040518083038186803b158015611d5157600080fd5b505afa158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d899190810190612c49565b15611da65760405162461bcd60e51b81526004016107089061399b565b6001600160a01b038381166000908152600a6020526040902054163314611ddf5760405162461bcd60e51b81526004016107089061392b565b6000805b82811015611f5e57611df36127a0565b6001600160a01b038616600090815260056020526040812090868685818110611e1857fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015611f55573360009081526005602052604081208291878786818110611e7757fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff19166001600160401b0390911617815591810151600190920191909155810151611ec990849061204a565b336000908152600660205260409020909350858584818110611ee757fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b0388168252600590526040812090868685818110611f2657fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611de3565b506001600160a01b038416600090815260086020526040902054611f88908263ffffffff61247f16565b6001600160a01b038516600090815260086020526040808220929092553381522054611fba908263ffffffff61204a16565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c91612010919085908890889042906136bd565b60405180910390a250505050565b6000546001600160a01b031633146120485760405162461bcd60e51b81526004016107089061391b565b565b600082820183811015610e695760405162461bcd60e51b81526004016107089061384b565b600061208466119959541bdbdb60ca1b6126c6565b905090565b816120a65760405162461bcd60e51b8152600401610708906138bb565b6000811180156120b85750600c548111155b6120d45760405162461bcd60e51b81526004016107089061385b565b600b546120e7908363ffffffff61204a16565b600b556120f2612545565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161211d9190613665565b60206040518083038186803b15801561213557600080fd5b505afa158015612149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061216d9190810190612c49565b600b54111561218e5760405162461bcd60e51b8152600401610708906138cb565b6001600160a01b038316600090815260086020526040902054428201906121bb908463ffffffff61204a16565b6001600160a01b03851660008181526008602090815260408083209490945560078054855180870187526001600160401b0388811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461224e9161204a565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0906122929042908890889087906139f4565b60405180910390a25050505050565b60008082602001516000146108be5782516001600160401b03164210156122c9576000610e69565b50506020015190565b6122dc82826124e6565b6001600160a01b038216600090815260096020526040902054612305908263ffffffff61204a16565b6001600160a01b038316600090815260096020526040902055612326612545565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161235392919061372d565b602060405180830381600087803b15801561236d57600080fd5b505af1158015612381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123a59190810190612c0d565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc642836040516123e19291906139cb565b60405180910390a25050565b60006120846b53797374656d53746174757360a01b6126c6565b60006124138383612723565b602083015183516040519293506001600160a01b038616927fa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb92612458928692613a29565b60405180910390a2505050565b60006120846b526577617264457363726f7760a01b6126c6565b6000828211156124a15760405162461bcd60e51b81526004016107089061387b565b50900390565b60006120846524b9b9bab2b960d11b6126c6565b60006120847f5065726946696e616e6365427269646765546f4f7074696d69736d00000000006126c6565b600b546124f9908263ffffffff61247f16565b600b556001600160a01b038216600090815260086020526040902054612525908263ffffffff61247f16565b6001600160a01b0390921660009081526008602052604090209190915550565b60006120846a5065726946696e616e636560a81b6126c6565b604080516003808252608082019092526060916020820183803883390190505090506a5065726946696e616e636560a81b8160008151811061259c57fe5b60200260200101818152505066119959541bdbdb60ca1b816001815181106125c057fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106125e357fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612622578160200160208202803883390190505b50905060005b83518110156126645783818151811061263d57fe5b602002602001015182828151811061265157fe5b6020908102919091010152600101612628565b5060005b82518110156126a75782818151811061267d57fe5b602002602001015182828651018151811061269457fe5b6020908102919091010152600101612668565b5092915050565b60405162461bcd60e51b81526004016107089061388b565b60008181526004602090815260408083205490516001600160a01b0390911691821515916126f69186910161363a565b604051602081830303815290604052906126a75760405162461bcd60e51b8152600401610708919061380a565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff19166001600160401b0390911617815587830151600191820155938352600682528220805480850182559083529082200183905592546127969161204a565b6007559392505050565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356108be81613b41565b80516108be81613b41565b60008083601f84011261282757600080fd5b5081356001600160401b0381111561283e57600080fd5b60208301915083602082028301111561285657600080fd5b9250929050565b60008083601f84011261286f57600080fd5b5081356001600160401b0381111561288657600080fd5b60208301915083604082028301111561285657600080fd5b600082601f8301126128af57600080fd5b60026128c26128bd82613a85565b613a5f565b915081838560208402820111156128d857600080fd5b60005b8381101561290457816128ee8882612924565b84525060209283019291909101906001016128db565b5050505092915050565b80516108be81613b55565b80356108be81613b5e565b80516108be81613b5e565b60006020828403121561294157600080fd5b60006108ba84846127ff565b60006020828403121561295f57600080fd5b60006108ba848461280a565b60008060006040848603121561298057600080fd5b600061298c86866127ff565b93505060208401356001600160401b038111156129a857600080fd5b6129b486828701612815565b92509250509250925092565b600080604083850312156129d357600080fd5b60006129df85856127ff565b92505060206129f085828601612919565b9150509250929050565b60008060008060608587031215612a1057600080fd5b6000612a1c87876127ff565b9450506020612a2d87828801612919565b93505060408501356001600160401b03811115612a4957600080fd5b612a558782880161285d565b95989497509550505050565b600080600060608486031215612a7657600080fd5b6000612a8286866127ff565b9350506020612a9386828701612919565b9250506040612aa486828701612919565b9150509250925092565b60008060008060408587031215612ac457600080fd5b84356001600160401b03811115612ada57600080fd5b612ae687828801612815565b945094505060208501356001600160401b03811115612b0457600080fd5b612a5587828801612815565b60008060008060008060608789031215612b2957600080fd5b86356001600160401b03811115612b3f57600080fd5b612b4b89828a01612815565b965096505060208701356001600160401b03811115612b6957600080fd5b612b7589828a01612815565b945094505060408701356001600160401b03811115612b9357600080fd5b612b9f89828a01612815565b92509250509295509295509295565b600060408284031215612bc057600080fd5b60006108ba848461289e565b60008060208385031215612bdf57600080fd5b82356001600160401b03811115612bf557600080fd5b612c0185828601612815565b92509250509250929050565b600060208284031215612c1f57600080fd5b60006108ba848461290e565b600060208284031215612c3d57600080fd5b60006108ba8484612919565b600060208284031215612c5b57600080fd5b60006108ba8484612924565b6000612c738383612e40565b505060200190565b6000612c8783836135cd565b505060600190565b6000612c9b8383613604565b505060400190565b612cac81613ae2565b82525050565b612cac81613aba565b6000612cc682613aa8565b612cd08185613aac565b9350612cdb83613aa2565b8060005b83811015612d09578151612cf38882612c67565b9750612cfe83613aa2565b925050600101612cdf565b509495945050505050565b6000612d1f82613aa8565b612d298185613aac565b9350612d3483613aa2565b8060005b83811015612d09578151612d4c8882612c7b565b9750612d5783613aa2565b925050600101612d38565b6000612d6d82613aa8565b612d778185613aac565b9350612d8283613aa2565b8060005b83811015612d09578151612d9a8882612c8f565b9750612da583613aa2565b925050600101612d86565b6000612dbc8385613aac565b93506001600160fb1b03831115612dd257600080fd5b602083029250612de3838584613aff565b50500190565b6000612df482613aa8565b612dfe8185613aac565b9350612e0983613aa2565b8060005b83811015612d09578151612e218882612c67565b9750612e2c83613aa2565b925050600101612e0d565b612cac81613ac5565b612cac81610617565b612cac612e5582610617565b610617565b612cac81613ae9565b6000612e6e82613aa8565b612e788185613aac565b9350612e88818560208601613b0b565b612e9181613b37565b9093019392505050565b6000612ea8603583613aac565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612eff603b83613aac565b7f43616e206f6e6c7920626520696e766f6b6564206279205065726946696e616e81527f6365427269646765546f4f7074696d69736d20636f6e74726163740000000000602082015260400192915050565b6000612f5e602483613aac565b7f4163636f756e74206d6967726174696f6e2069732070656e64696e6720616c728152636561647960e01b602082015260400192915050565b6000612fa4601b83613aac565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612fdd603383613aac565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000613032602483613aac565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b6000613078601e83613aac565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006130b1601b83613aac565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b60006130ea603183613aac565b7f4e756d626572206f66206163636f756e747320616e642076657374656442616c8152700c2dcc6cae640c8dedc4ee840dac2e8c6d607b1b602082015260400192915050565b600061313d601b83613aac565b7f4e6f20657363726f77206d6967726174696f6e2070656e64696e670000000000815260200192915050565b6000613176601183613ab5565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131a3601783613aac565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b60006131dc604783613aac565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b600061324b601983613aac565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000613284601583613aac565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b60006132b5602483613aac565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b60006132fb601283613aac565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b6000613329602f83613aac565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061337a602183613aac565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006133bd602983613aac565b7f4163636f756e7420616e6420657363726f77416d6f756e7473204c656e677468815268040dad2e6dac2e8c6d60bb1b602082015260400192915050565b6000613408602983613aac565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e206475728152680696e672073657475760bc1b602082015260400192915050565b631c1554d160e21b9052565b600061345f601c83613aac565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b6000613498601983613ab5565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006134d1602883613aac565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061351b602b83613aac565b7f4e756d626572206f66206163636f756e747320616e642062616c616e6365732081526a0c8dedc4ee840dac2e8c6d60ab1b602082015260400192915050565b6000613568601b83613aac565b7f4164647265737320657363726f772062616c616e636520697320300000000000815260200192915050565b60006135a1601f83613aac565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906135de8482613631565b5060208201516135f16020850182612e40565b506040820151611a296040850182612e40565b805160408301906136158482613631565b506020820151611a296020850182612e40565b612cac81613af4565b612cac81613ad6565b600061364582613169565b91506136518284612e49565b50602001919050565b60006136458261348b565b602081016108be8284612cb2565b606081016136818286612ca3565b61368e6020830185612cb2565b61369b6040830184612e40565b949350505050565b604081016136b18284612ca3565b6108be60208301613446565b608081016136cb8288612ca3565b6136d86020830187612e40565b81810360408301526136eb818587612db0565b90506136fa6060830184612e40565b9695505050505050565b604081016137128285612cb2565b610e696020830184612cb2565b604081016136b18284612cb2565b6040810161373b8285612cb2565b610e696020830184612e40565b60208082528101610e698184612cbb565b60208082528101610e698184612d14565b6060808252810161377c818688612db0565b905061378b6020830185612e40565b6137986040830184612e40565b95945050505050565b60208082528101610e698184612de9565b602081016108be8284612e37565b602081016108be8284612e40565b604081016137128285612e40565b604081016137ea8285612e40565b818103602083015261369b8184612e63565b602081016108be8284612e5a565b60208082528101610e698184612e63565b602080825281016108be81612e9b565b602080825281016108be81612ef2565b602080825281016108be81612f51565b602080825281016108be81612f97565b602080825281016108be81612fd0565b602080825281016108be81613025565b602080825281016108be8161306b565b602080825281016108be816130a4565b602080825281016108be816130dd565b602080825281016108be81613130565b602080825281016108be81613196565b602080825281016108be816131cf565b602080825281016108be8161323e565b602080825281016108be81613277565b602080825281016108be816132a8565b602080825281016108be816132ee565b602080825281016108be8161331c565b602080825281016108be8161336d565b602080825281016108be816133b0565b602080825281016108be816133fb565b602080825281016108be81613452565b602080825281016108be816134c4565b602080825281016108be8161350e565b602080825281016108be8161355b565b602080825281016108be81613594565b604081016139b98285612e40565b818103602083015261369b8184612d62565b6040810161373b8285612e40565b606081016139e78286612e40565b61368e6020830185612e40565b60808101613a028287612e40565b613a0f6020830186612e40565b613a1c6040830185612e40565b6137986060830184612e40565b60608101613a378286612e40565b613a446020830185612e40565b61369b6040830184613628565b6040810161373b8285613631565b6040518181016001600160401b0381118282101715613a7d57600080fd5b604052919050565b60006001600160401b03821115613a9b57600080fd5b5060200290565b60200190565b5190565b90815260200190565b919050565b60006108be82613aca565b151590565b6001600160a01b031690565b6001600160401b031690565b60006108be825b60006108be82613aba565b60006108be82613ad6565b82818337506000910152565b60005b83811015613b26578181015183820152602001613b0e565b83811115611a295750506000910152565b601f01601f191690565b613b4a81613aba565b811461116b57600080fd5b613b4a81613ac5565b613b4a8161061756fea365627a7a72315820404c023687c3eccc76a3495f222a50160de2b80f3764768c257ad8ff6451993d6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0xbdc1a59f58dfa8c8c12ace405ab20804838a3016ce37d0d80eec870406e35089",
				"urls": [
					"bzz-raw://8a33d4818ea7f660c9ce3ac90609ecf8d7a99ebbde2125fc10b296659373fcc9",
					"dweb:/ipfs/Qmak6oMXcePBKZvEUntAFwEf6VgBQBoqpK1H5NJApAkpJb"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"RewardEscrowV2.sol": "RewardEscrowV2"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"RewardEscrowV2.sol": {
						"keccak256": "0xbdc1a59f58dfa8c8c12ace405ab20804838a3016ce37d0d80eec870406e35089",
						"urls": [
							"bzz-raw://8a33d4818ea7f660c9ce3ac90609ecf8d7a99ebbde2125fc10b296659373fcc9",
							"dweb:/ipfs/Qmak6oMXcePBKZvEUntAFwEf6VgBQBoqpK1H5NJApAkpJb"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceBridgeToOptimism": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200238038038062002380833981016040819052620000349162000108565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001c4565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b69184906200019e565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550506004805460ff19166001179055506200021f565b8051620001028162000205565b92915050565b600080604083850312156200011c57600080fd5b60006200012a8585620000f5565b92505060206200013d85828601620000f5565b9150509250929050565b6200015281620001f1565b82525050565b6200015281620001df565b600062000172601983620001d6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001ae828562000147565b620001bd602083018462000158565b9392505050565b60208082528101620001028162000163565b90815260200190565b60006001600160a01b03821662000102565b6000620001028260006200010282620001df565b6200021081620001df565b81146200021c57600080fd5b50565b612151806200022f6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806379ba509711610097578063cb82747411610066578063cb827474146101d0578063ccce9506146101e3578063d7f5b359146101f6578063e2ff2d431461020957610100565b806379ba509714610198578063899ffef4146101a05780638da5cb5b146101b5578063a18e2307146101bd57610100565b80633c6b16ab116100d35780633c6b16ab1461015557806353a47bb7146101685780636bfd78351461017d578063741853601461019057610100565b806304f3bcec146101055780631627540c14610123578063186601ca146101385780632af64bd31461014d575b600080fd5b61010d61021c565b60405161011a9190611f2b565b60405180910390f35b61013661013136600461170a565b61022b565b005b610140610289565b60405161011a9190611ed3565b610140610292565b6101366101633660046117db565b6103aa565b6101706103ff565b60405161011a9190611da2565b61013661018b366004611788565b61040e565b610136610427565b61013661057d565b6101a8610619565b60405161011a9190611ec2565b610170610766565b6101366101cb366004611817565b610775565b6101366101de3660046117db565b6107a4565b6101366101f13660046117db565b6107bd565b61013661020436600461170a565b610858565b61013661021736600461174e565b6109e6565b6002546001600160a01b031681565b610233610ba2565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061027e908390611da2565b60405180910390a150565b60045460ff1681565b6000606061029e610619565b905060005b81518110156103a05760008282815181106102ba57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061030b908590600401611ee1565b60206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061035b9190810190611730565b6001600160a01b031614158061038657506000818152600360205260409020546001600160a01b0316155b1561039757600093505050506103a7565b506001016102a3565b5060019150505b90565b6103b2610bce565b6103ba610bf0565b6001600160a01b0316336001600160a01b0316146103f35760405162461bcd60e51b81526004016103ea90611fba565b60405180910390fd5b6103fc81610c16565b50565b6001546001600160a01b031681565b610416610bce565b61041e610d29565b6103fc81610dc9565b6060610431610619565b905060005b815181101561057957600082828151811061044d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161048f9190611d97565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104bb929190611f0b565b60206040518083038186803b1580156104d357600080fd5b505afa1580156104e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061050b9190810190611730565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105679084908490611eef565b60405180910390a15050600101610436565b5050565b6001546001600160a01b031633146105a75760405162461bcd60e51b81526004016103ea90611f4a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105ea926001600160a01b0391821692911690611e6a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610624610fdb565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061066957fe5b6020026020010181815250506a5065726946696e616e636560a81b8160018151811061069157fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106106b457fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b816003815181106106e457fe5b6020026020010181815250507f6f766d3a5065726946696e616e6365427269646765546f4261736500000000008160048151811061071e57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160058151811061074957fe5b60200260200101818152505061075f828261102c565b9250505090565b6000546001600160a01b031681565b61077d610bce565b610785610d29565b8051156107955761079581610dc9565b811561057957610579826110e8565b6107ac610bce565b6107b4610d29565b6103fc816110e8565b6107c5610bce565b6107cd61127a565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b81526004016107fc93929190611db0565b602060405180830381600087803b15801561081657600080fd5b505af115801561082a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084e91908101906117bd565b506103fc81610c16565b610860610ba2565b610868610bce565b6001600160a01b03811661088e5760405162461bcd60e51b81526004016103ea90611fca565b6004805460ff1916905560006108a261127a565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016108d29190611da2565b60206040518083038186803b1580156108ea57600080fd5b505afa1580156108fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061092291908101906117f9565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb906109539086908590600401611e12565b602060405180830381600087803b15801561096d57600080fd5b505af1158015610981573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109a591908101906117bd565b507fa1bbeeb6860c5db529c582b6bdbc57a2e9862ef771e5bed3a082f7d9da54904a3084836040516109d993929190611e85565b60405180910390a1505050565b6109ee610bce565b6109f6611293565b6001600160a01b0316336001600160a01b031614610a265760405162461bcd60e51b81526004016103ea90611faa565b610a2e6112ae565b6001600160a01b0316610a3f611293565b6001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aaf9190810190611730565b6001600160a01b031614610ad55760405162461bcd60e51b81526004016103ea90611f5a565b610add61127a565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b8152600401610b0a929190611e12565b602060405180830381600087803b158015610b2457600080fd5b505af1158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b5c91908101906117bd565b50816001600160a01b03167f1a39b9c5044b9f0ff56c5951e30c1ebe24911353aafcceb9250e83a24fe158c482604051610b969190611ee1565b60405180910390a25050565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b81526004016103ea90611f9a565b565b60045460ff16610bcc5760405162461bcd60e51b81526004016103ea90611f7a565b6000610c11722932bbb0b93239a234b9ba3934b13aba34b7b760691b6112d5565b905090565b60405160009060609063f69053c560e01b90610c36908590602401611ee1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610c72611293565b6001600160a01b0316633dbb202b610c886112ae565b83610c93600261133b565b6040518463ffffffff1660e01b8152600401610cb193929190611e93565b600060405180830381600087803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b50505050336001600160a01b03167f95bf5847357310d24f8d03d8bad76c8ee329dfd3a3cb200df21c7bd1619e93bd84604051610d1c9190611ee1565b60405180910390a2505050565b610d316113e1565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b8152600401610d5c9190611df8565b60206040518083038186803b158015610d7457600080fd5b505afa158015610d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dac91908101906117f9565b15610bcc5760405162461bcd60e51b81526004016103ea90611f8a565b60005b815181101561057957601a60ff16828281518110610de657fe5b6020026020010151511115610e0d5760405162461bcd60e51b81526004016103ea90611f6a565b60006060610e196113f5565b6001600160a01b03166380d46f5833868681518110610e3457fe5b60200260200101516040518363ffffffff1660e01b8152600401610e59929190611dd8565b600060405180830381600087803b158015610e7357600080fd5b505af1158015610e87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eaf919081019061185f565b90925090508115610fd15760405160009060609063355bf0e160e11b90610ede90339087908790602401611e34565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610f1a611293565b6001600160a01b0316633dbb202b610f306112ae565b83610f3b600161133b565b6040518463ffffffff1660e01b8152600401610f5993929190611e93565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b50505050336001600160a01b03167f4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f56226968585604051610fc6929190611fea565b60405180910390a250505b5050600101610dcc565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061101d57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561105c578160200160208202803883390190505b50905060005b835181101561109e5783818151811061107757fe5b602002602001015182828151811061108b57fe5b6020908102919091010152600101611062565b5060005b82518110156110e1578281815181106110b757fe5b60200260200101518282865101815181106110ce57fe5b60209081029190910101526001016110a2565b5092915050565b6110f061127a565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b815260040161111f93929190611db0565b602060405180830381600087803b15801561113957600080fd5b505af115801561114d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117191908101906117bd565b506040516000906060906309853aff60e11b906111949033908690602401611e12565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506111d0611293565b6001600160a01b0316633dbb202b6111e66112ae565b836111f1600061133b565b6040518463ffffffff1660e01b815260040161120f93929190611e93565b600060405180830381600087803b15801561122957600080fd5b505af115801561123d573d6000803e3d6000fd5b50505050336001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c84604051610d1c9190611ee1565b6000610c116a5065726946696e616e636560a81b6112d5565b6000610c116c32bc3a1d26b2b9b9b2b733b2b960991b6112d5565b6000610c117f6f766d3a5065726946696e616e6365427269646765546f4261736500000000005b60008181526003602090815260408083205490516001600160a01b03909116918215159161130591869101611d77565b604051602081830303815290604052906113325760405162461bcd60e51b81526004016103ea9190611f39565b5090505b919050565b6000611345611411565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61136e8561142e565b6040518363ffffffff1660e01b815260040161138b929190611efd565b60206040518083038186803b1580156113a357600080fd5b505afa1580156113b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113db91908101906117f9565b92915050565b6000610c116524b9b9bab2b960d11b6112d5565b6000610c116d2932bbb0b93222b9b1b937bbab1960911b6112d5565b6000610c116e466c657869626c6553746f7261676560881b6112d5565b60008082600381111561143d57fe5b141561146a57507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000611336565b600182600381111561147857fe5b14156114a557507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000611336565b60028260038111156114b357fe5b14156114e057507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000611336565b60038260038111156114ee57fe5b141561151b57507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000611336565b60405162461bcd60e51b81526004016103ea90611fda565b80356113db816120df565b80516113db816120df565b600082601f83011261155a57600080fd5b813561156d61156882612031565b61200a565b81815260209384019390925082018360005b838110156115ab57813586016115958882611627565b845250602092830192919091019060010161157f565b5050505092915050565b600082601f8301126115c657600080fd5b81516115d461156882612031565b915081818352602084019350602081019050838560408402820111156115f957600080fd5b60005b838110156115ab578161160f88826116a2565b845250602090920191604091909101906001016115fc565b600082601f83011261163857600080fd5b813561164661156882612031565b9150818183526020840193506020810190508385602084028201111561166b57600080fd5b60005b838110156115ab578161168188826116e9565b845250602092830192919091019060010161166e565b80516113db816120f3565b6000604082840312156116b457600080fd5b6116be604061200a565b905060006116cc84846116ff565b82525060206116dd848483016116f4565b60208301525092915050565b80356113db816120fc565b80516113db816120fc565b80516113db81612105565b60006020828403121561171c57600080fd5b60006117288484611533565b949350505050565b60006020828403121561174257600080fd5b6000611728848461153e565b6000806040838503121561176157600080fd5b600061176d8585611533565b925050602061177e858286016116e9565b9150509250929050565b60006020828403121561179a57600080fd5b813567ffffffffffffffff8111156117b157600080fd5b61172884828501611549565b6000602082840312156117cf57600080fd5b60006117288484611697565b6000602082840312156117ed57600080fd5b600061172884846116e9565b60006020828403121561180b57600080fd5b600061172884846116f4565b6000806040838503121561182a57600080fd5b600061183685856116e9565b925050602083013567ffffffffffffffff81111561185357600080fd5b61177e85828601611549565b6000806040838503121561187257600080fd5b600061187e85856116f4565b925050602083015167ffffffffffffffff81111561189b57600080fd5b61177e858286016115b5565b60006118b383836119e5565b505060200190565b60006118c78383611d3b565b505060400190565b6118d881612097565b82525050565b6118d881612065565b60006118f282612058565b6118fc818561205c565b935061190783612052565b8060005b8381101561193557815161191f88826118a7565b975061192a83612052565b92505060010161190b565b509495945050505050565b600061194b82612058565b611955818561205c565b935061196083612052565b8060005b8381101561193557815161197888826118bb565b975061198383612052565b925050600101611964565b600061199982612058565b6119a3818561205c565b93506119ae83612052565b8060005b838110156119355781516119c688826118a7565b97506119d183612052565b9250506001016119b2565b6118d881612070565b6118d8816103a7565b6118d86119fa826103a7565b6103a7565b6000611a0a82612058565b611a14818561205c565b9350611a248185602086016120a9565b611a2d816120d5565b9093019392505050565b6118d88161209e565b6000611a4d60358361205c565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611aa4601d8361205c565b7f4f6e6c7920746865204c32206272696467652063616e20696e766f6b65000000815260200192915050565b6000611add60218361205c565b7f45786365656473206d617820656e747269657320706572206d6967726174696f8152603760f91b602082015260400192915050565b6000611b2060148361205c565b73119d5b98dd1a5bdb8819195858dd1a5d985d195960621b815260200192915050565b6000611b50601183611336565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611b7d60238361205c565b7f43616e6e6f74206465706f736974206f72206d6967726174652077697468206481526219589d60ea1b602082015260400192915050565b6000611bc2602f8361205c565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631c1554d160e21b9052565b6000611c1f601e8361205c565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000611c58601983611336565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611c91602a8361205c565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b6000611cdd601b8361205c565b7f43616e6e6f74206d69677261746520746f206164647265737320300000000000815260200192915050565b6000611d1660168361205c565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b80516040830190611d4c8482611d6e565b506020820151611d5f60208501826119e5565b50505050565b6118d881612081565b6118d88161208a565b6000611d8282611b43565b9150611d8e82846119ee565b50602001919050565b6000611d8282611c4b565b602081016113db82846118de565b60608101611dbe82866118cf565b611dcb60208301856118de565b61172860408301846119e5565b60408101611de682856118cf565b8181036020830152611728818461198e565b60408101611e0682846118cf565b6113db60208301611c06565b60408101611e2082856118de565b611e2d60208301846119e5565b9392505050565b60608101611e4282866118de565b611e4f60208301856119e5565b8181036040830152611e618184611940565b95945050505050565b60408101611e7882856118de565b611e2d60208301846118de565b60608101611dbe82866118de565b60608101611ea182866118de565b8181036020830152611eb381856119ff565b90506117286040830184611d65565b60208082528101611e2d81846118e7565b602081016113db82846119dc565b602081016113db82846119e5565b60408101611e7882856119e5565b60408101611e2082856119e5565b60408101611f1982856119e5565b818103602083015261172881846119ff565b602081016113db8284611a37565b60208082528101611e2d81846119ff565b602080825281016113db81611a40565b602080825281016113db81611a97565b602080825281016113db81611ad0565b602080825281016113db81611b13565b602080825281016113db81611b70565b602080825281016113db81611bb5565b602080825281016113db81611c12565b602080825281016113db81611c84565b602080825281016113db81611cd0565b602080825281016113db81611d09565b60408101611ff882856119e5565b81810360208301526117288184611940565b60405181810167ffffffffffffffff8111828210171561202957600080fd5b604052919050565b600067ffffffffffffffff82111561204857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006113db82612075565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60006113db825b60006113db82612065565b60005b838110156120c45781810151838201526020016120ac565b83811115611d5f5750506000910152565b601f01601f191690565b6120e881612065565b81146103fc57600080fd5b6120e881612070565b6120e8816103a7565b6120e88161208a56fea365627a7a723158200f3f78fd92c33bf7cca90cbbd45605baa839647efa031efd2d20c3dfad0370616c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldBridge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newBridge",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "BridgeMigrated",
					"type": "event",
					"signature": "0xa1bbeeb6860c5db529c582b6bdbc57a2e9862ef771e5bed3a082f7d9da54904a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Deposit",
					"type": "event",
					"signature": "0xe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "escrowedAccountBalance",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "uint64",
									"name": "endTime",
									"type": "uint64"
								},
								{
									"internalType": "uint256",
									"name": "escrowAmount",
									"type": "uint256"
								}
							],
							"indexed": false,
							"internalType": "struct VestingEntries.VestingEntry[]",
							"name": "vestingEntries",
							"type": "tuple[]"
						}
					],
					"name": "ExportedVestingEntries",
					"type": "event",
					"signature": "0x4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f5622696"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "RewardDeposit",
					"type": "event",
					"signature": "0x95bf5847357310d24f8d03d8bad76c8ee329dfd3a3cb200df21c7bd1619e93bd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "WithdrawalCompleted",
					"type": "event",
					"signature": "0x1a39b9c5044b9f0ff56c5951e30c1ebe24911353aafcceb9250e83a24fe158c4"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "activated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x186601ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "completeWithdrawal",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe2ff2d43"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "depositAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256[][]",
							"name": "entryIDs",
							"type": "uint256[][]"
						}
					],
					"name": "depositAndMigrateEscrow",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa18e2307"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "depositAmount",
							"type": "uint256"
						}
					],
					"name": "initiateDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcb827474"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[][]",
							"name": "entryIDs",
							"type": "uint256[][]"
						}
					],
					"name": "initiateEscrowMigration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6bfd7835"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "initiateRewardDeposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xccce9506"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "newBridge",
							"type": "address"
						}
					],
					"name": "migrateBridge",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd7f5b359"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3c6b16ab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				}
			],
			"source": {
				"keccak256": "0x0b5b69e3512918cbb10d08d8a9bd81cc3e82366b649568cca86be9296e714f1c",
				"urls": [
					"bzz-raw://34530099c2d92759c085b4390633cb86fa19c48789a3fccc0fefd50299e791cf",
					"dweb:/ipfs/QmXxg4eGBhxi3oHkWq6A5FRHTomLpoXrPQ98MArFoaBSKt"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceBridgeToOptimism.sol": "PeriFinanceBridgeToOptimism"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceBridgeToOptimism.sol": {
						"keccak256": "0x0b5b69e3512918cbb10d08d8a9bd81cc3e82366b649568cca86be9296e714f1c",
						"urls": [
							"bzz-raw://34530099c2d92759c085b4390633cb86fa19c48789a3fccc0fefd50299e791cf",
							"dweb:/ipfs/QmXxg4eGBhxi3oHkWq6A5FRHTomLpoXrPQ98MArFoaBSKt"
						]
					}
				},
				"version": 1
			}
		},
		"ShortingRewards": {
			"bytecode": "608060405260006009556000600a5562093a80600b553480156200002257600080fd5b50604051620020df380380620020df833981016040819052620000459162000174565b83856001600160a01b038116620000795760405162461bcd60e51b81526004016200007090620002b2565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c69184906200027a565b60405180910390a15060016003556000546001600160a01b0316620000ff5760405162461bcd60e51b81526004016200007090620002a0565b60058054610100600160a81b0319166101006001600160a01b0393841602179055600780546001600160a01b031990811694831694909417905560028054909316931692909217905560085550620003229050565b80516200016181620002fd565b92915050565b8051620001618162000317565b600080600080600060a086880312156200018d57600080fd5b60006200019b888862000154565b9550506020620001ae8882890162000154565b9450506040620001c18882890162000154565b9350506060620001d48882890162000154565b9250506080620001e78882890162000167565b9150509295509295909350565b620001ff81620002e9565b82525050565b620001ff81620002cd565b60006200021f601183620002c4565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b60006200024e601983620002c4565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200028a8285620001f4565b62000299602083018462000205565b9392505050565b60208082528101620001618162000210565b6020808252810162000161816200023f565b90815260200190565b60006200016182620002dd565b90565b6001600160a01b031690565b6000620001618260006200016182620002cd565b6200030881620002cd565b81146200031457600080fd5b50565b6200030881620002da565b611dad80620003326000396000f3fe608060405234801561001057600080fd5b50600436106101fa5760003560e01c8063741853601161011a578063c00007b0116100ad578063d1af0c7d1161007c578063d1af0c7d14610399578063db454a51146103a1578063df136d65146103b4578063ebe2b12b146103bc578063f3fef3a3146103c4576101fa565b8063c00007b014610363578063c8f33c9114610376578063cc1a378f1461037e578063cd3daf9d14610391576101fa565b8063899ffef4116100e9578063899ffef41461032b5780638b876347146103405780638da5cb5b1461035357806391b4ded91461035b576101fa565b8063741853601461030b57806379ba5097146103135780637b0a47ee1461031b57806380faa57d14610323576101fa565b80631c1f78eb116101925780633fc6df6e116101615780633fc6df6e146102d357806353a47bb7146102e85780635c975abb146102f057806370a08231146102f8576101fa565b80631c1f78eb1461029b5780632af64bd3146102a3578063386a9525146102b85780633c6b16ab146102c0576101fa565b80631627540c116101ce5780631627540c1461025857806316c38b3c1461026d57806318160ddd146102805780631976214314610288576101fa565b80628cc262146101ff57806304f3bcec146102285780630700037d1461023d578063115f4fee14610250575b600080fd5b61021261020d3660046113e3565b6103d7565b60405161021f9190611b64565b60405180910390f35b61023061046d565b60405161021f9190611ba0565b61021261024b3660046113e3565b610481565b610212610493565b61026b6102663660046113e3565b610499565b005b61026b61027b366004611461565b6104f7565b61021261056c565b61026b6102963660046113e3565b610573565b61021261059d565b6102ab6105bb565b60405161021f9190611b56565b6102126106d7565b61026b6102ce36600461149d565b6106dd565b6102db6108f2565b60405161021f9190611b01565b6102db610901565b6102ab610910565b6102126103063660046113e3565b610919565b61026b610934565b61026b610a8a565b610212610b26565b610212610b2c565b610333610b3a565b60405161021f9190611b45565b61021261034e3660046113e3565b610b8b565b6102db610b9d565b610212610bac565b61026b6103713660046113e3565b610bb2565b610212610d0d565b61026b61038c36600461149d565b610d13565b610212610d71565b610230610dcb565b61026b6103af366004611427565b610dda565b610212610f7c565b610212610f82565b61026b6103d2366004611427565b610f88565b6001600160a01b0381166000908152600f6020908152604080832054600e909252822054610467919061045b90670de0b6b3a76400009061044f9061042a9061041e610d71565b9063ffffffff6110d716565b6001600160a01b0388166000908152601160205260409020549063ffffffff6110ff16565b9063ffffffff61114016565b9063ffffffff61117516565b92915050565b60055461010090046001600160a01b031681565b600f6020526000908152604090205481565b60085481565b6104a161119a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906104ec908390611b01565b60405180910390a150565b6104ff61119a565b60055460ff161515811515141561051557610569565b6005805460ff1916821515179081905560ff161561053257426004555b6005546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916104ec9160ff90911690611b56565b50565b6010545b90565b61057b61119a565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b60006105b6600b54600a546110ff90919063ffffffff16565b905090565b600060606105c7610b3a565b905060005b81518110156106ce5760008282815181106105e357fe5b602090810291909101810151600081815260069092526040918290205460055492516321f8a72160e01b81529193506001600160a01b0390811692610100900416906321f8a72190610639908590600401611b64565b60206040518083038186803b15801561065157600080fd5b505afa158015610665573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106899190810190611409565b6001600160a01b03161415806106b457506000818152600660205260409020546001600160a01b0316155b156106c55760009350505050610570565b506001016105cc565b50600191505090565b600b5481565b6002546001600160a01b031633146107105760405162461bcd60e51b815260040161070790611c7f565b60405180910390fd5b600061071a610d71565b600d55610725610b2c565b600c556001600160a01b0381161561076c57610740816103d7565b6001600160a01b0382166000908152600f6020908152604080832093909355600d54600e909152919020555b600954421061079157600b5461078990839063ffffffff61114016565b600a556107e0565b6009546000906107a7904263ffffffff6110d716565b905060006107c0600a54836110ff90919063ffffffff16565b600b549091506107da9061044f868463ffffffff61117516565b600a5550505b6007546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610811903090600401611b01565b60206040518083038186803b15801561082957600080fd5b505afa15801561083d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061086191908101906114bb565b9050610878600b548261114090919063ffffffff16565b600a5411156108995760405162461bcd60e51b815260040161070790611c5f565b42600c819055600b546108b2919063ffffffff61117516565b6009556040517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d906108e5908590611b64565b60405180910390a1505050565b6002546001600160a01b031681565b6001546001600160a01b031681565b60055460ff1681565b6001600160a01b031660009081526011602052604090205490565b606061093e610b3a565b905060005b8151811015610a8657600082828151811061095a57fe5b602002602001015190506000600560019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161099c9190611af6565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016109c8929190611b80565b60206040518083038186803b1580156109e057600080fd5b505afa1580156109f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a189190810190611409565b6000838152600660205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610a749084908490611b72565b60405180910390a15050600101610943565b5050565b6001546001600160a01b03163314610ab45760405162461bcd60e51b815260040161070790611bcf565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610af7926001600160a01b0391821692911690611b0f565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600a5481565b60006105b6426009546111c6565b604080516001808252818301909252606091602080830190803883390190505090506e10dbdb1b185d195c985b14da1bdc9d608a1b81600081518110610b7c57fe5b60200260200101818152505090565b600e6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b6000610bbc6111dc565b6001600160a01b0316336001600160a01b031614905080610bef5760405162461bcd60e51b815260040161070790611cbf565b600380546001019081905582610c03610d71565b600d55610c0e610b2c565b600c556001600160a01b03811615610c5557610c29816103d7565b6001600160a01b0382166000908152600f6020908152604080832093909355600d54600e909152919020555b6001600160a01b0384166000908152600f60205260409020548015610ce5576001600160a01b038086166000908152600f6020526040812055600754610ca39116868363ffffffff6111f916565b846001600160a01b03167fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e048682604051610cdc9190611b64565b60405180910390a25b50506003548114610d085760405162461bcd60e51b815260040161070790611c9f565b505050565b600c5481565b610d1b61119a565b6009544211610d3c5760405162461bcd60e51b815260040161070790611bbf565b600b8190556040517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3906104ec908390611b64565b600060105460001415610d875750600d54610570565b6105b6610dbc60105461044f670de0b6b3a7640000610db0600a54610db0600c5461041e610b2c565b9063ffffffff6110ff16565b600d549063ffffffff61117516565b6007546001600160a01b031681565b6000610de46111dc565b6001600160a01b0316336001600160a01b031614905080610e175760405162461bcd60e51b815260040161070790611cbf565b600380546001019081905560055460ff1615610e455760405162461bcd60e51b815260040161070790611c6f565b83610e4e610d71565b600d55610e59610b2c565b600c556001600160a01b03811615610ea057610e74816103d7565b6001600160a01b0382166000908152600f6020908152604080832093909355600d54600e909152919020555b60008411610ec05760405162461bcd60e51b815260040161070790611bdf565b601054610ed3908563ffffffff61117516565b6010556001600160a01b038516600090815260116020526040902054610eff908563ffffffff61117516565b6001600160a01b038616600081815260116020526040908190209290925590517fc3d87d134210f5b3ee2418004c5f887bf335f79829d32e72ba5f282baccc859190610f4c908790611b64565b60405180910390a2506003548114610f765760405162461bcd60e51b815260040161070790611c9f565b50505050565b600d5481565b60095481565b6000610f926111dc565b6001600160a01b0316336001600160a01b031614905080610fc55760405162461bcd60e51b815260040161070790611cbf565b600380546001019081905583610fd9610d71565b600d55610fe4610b2c565b600c556001600160a01b0381161561102b57610fff816103d7565b6001600160a01b0382166000908152600f6020908152604080832093909355600d54600e909152919020555b6000841161104b5760405162461bcd60e51b815260040161070790611c3f565b60105461105e908563ffffffff6110d716565b6010556001600160a01b03851660009081526011602052604090205461108a908563ffffffff6110d716565b6001600160a01b038616600081815260116020526040908190209290925590517f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d590610f4c908790611b64565b6000828211156110f95760405162461bcd60e51b815260040161070790611c0f565b50900390565b60008261110e57506000610467565b8282028284828161111b57fe5b04146111395760405162461bcd60e51b815260040161070790611c4f565b9392505050565b60008082116111615760405162461bcd60e51b815260040161070790611c1f565b600082848161116c57fe5b04949350505050565b6000828201838110156111395760405162461bcd60e51b815260040161070790611bef565b6000546001600160a01b031633146111c45760405162461bcd60e51b815260040161070790611c2f565b565b60008183106111d55781611139565b5090919050565b60006105b66e10dbdb1b185d195c985b14da1bdc9d608a1b611252565b604051610d0890849063a9059cbb60e01b9061121b9086908690602401611b2a565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091526112b6565b60008181526006602090815260408083205490516001600160a01b03909116918215159161128291869101611ad6565b604051602081830303815290604052906112af5760405162461bcd60e51b81526004016107079190611bae565b5092915050565b6112c8826001600160a01b031661139b565b6112e45760405162461bcd60e51b815260040161070790611caf565b60006060836001600160a01b0316836040516113009190611aca565b6000604051808303816000865af19150503d806000811461133d576040519150601f19603f3d011682016040523d82523d6000602084013e611342565b606091505b5091509150816113645760405162461bcd60e51b815260040161070790611bff565b805115610f76578080602001905161137f919081019061147f565b610f765760405162461bcd60e51b815260040161070790611c8f565b3b151590565b803561046781611d44565b805161046781611d44565b803561046781611d58565b805161046781611d58565b803561046781611d61565b805161046781611d61565b6000602082840312156113f557600080fd5b600061140184846113a1565b949350505050565b60006020828403121561141b57600080fd5b600061140184846113ac565b6000806040838503121561143a57600080fd5b600061144685856113a1565b9250506020611457858286016113cd565b9150509250929050565b60006020828403121561147357600080fd5b600061140184846113b7565b60006020828403121561149157600080fd5b600061140184846113c2565b6000602082840312156114af57600080fd5b600061140184846113cd565b6000602082840312156114cd57600080fd5b600061140184846113d8565b60006114e5838361155e565b505060200190565b6114f681611ce7565b82525050565b600061150782611cd5565b6115118185611cd9565b935061151c83611ccf565b8060005b8381101561154a57815161153488826114d9565b975061153f83611ccf565b925050600101611520565b509495945050505050565b6114f681611cf2565b6114f681610570565b6114f661157382610570565b610570565b600061158382611cd5565b61158d8185611ce2565b935061159d818560208601611d0e565b9290920192915050565b6114f681611d03565b60006115bb82611cd5565b6115c58185611cd9565b93506115d5818560208601611d0e565b6115de81611d3a565b9093019392505050565b60006115f5605883611cd9565b7f50726576696f7573207265776172647320706572696f64206d7573742062652081527f636f6d706c657465206265666f7265206368616e67696e67207468652064757260208201527f6174696f6e20666f7220746865206e657720706572696f640000000000000000604082015260600192915050565b600061167a603583611cd9565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006116d1600e83611cd9565b6d043616e6e6f74207374616b6520360941b815260200192915050565b60006116fb601b83611cd9565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000611734602083611cd9565b7f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815260200192915050565b600061176d601e83611cd9565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006117a6601a83611cd9565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006117df601183611ce2565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b600061180c602f83611cd9565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061185d601183611cd9565b70043616e6e6f74207769746864726177203607c1b815260200192915050565b600061188a602183611cd9565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b60006118cd601883611cd9565b7f50726f76696465642072657761726420746f6f20686967680000000000000000815260200192915050565b6000611906603c83611cd9565b7f5468697320616374696f6e2063616e6e6f7420626520706572666f726d65642081527f7768696c652074686520636f6e74726163742069732070617573656400000000602082015260400192915050565b6000611965601983611ce2565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061199e602a83611cd9565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b60006119ea602a83611cd9565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e8152691bdd081cdd58d8d9595960b21b602082015260400192915050565b6000611a36601f83611cd9565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b6000611a6f601f83611cd9565b7f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400815260200192915050565b6000611aa8601383611cd9565b7213db9b1e4814da1bdc9d0810dbdb9d1c9858dd606a1b815260200192915050565b60006111398284611578565b6000611ae1826117d2565b9150611aed8284611567565b50602001919050565b6000611ae182611958565b6020810161046782846114ed565b60408101611b1d82856114ed565b61113960208301846114ed565b60408101611b3882856114ed565b611139602083018461155e565b6020808252810161113981846114fc565b602081016104678284611555565b60208101610467828461155e565b60408101611b1d828561155e565b60408101611b8e828561155e565b818103602083015261140181846115b0565b6020810161046782846115a7565b6020808252810161113981846115b0565b60208082528101610467816115e8565b602080825281016104678161166d565b60208082528101610467816116c4565b60208082528101610467816116ee565b6020808252810161046781611727565b6020808252810161046781611760565b6020808252810161046781611799565b60208082528101610467816117ff565b6020808252810161046781611850565b602080825281016104678161187d565b60208082528101610467816118c0565b60208082528101610467816118f9565b6020808252810161046781611991565b60208082528101610467816119dd565b6020808252810161046781611a29565b6020808252810161046781611a62565b6020808252810161046781611a9b565b60200190565b5190565b90815260200190565b919050565b600061046782611cf7565b151590565b6001600160a01b031690565b600061046782611ce7565b60005b83811015611d29578181015183820152602001611d11565b83811115610f765750506000910152565b601f01601f191690565b611d4d81611ce7565b811461056957600080fd5b611d4d81611cf2565b611d4d8161057056fea365627a7a72315820faf6eb9c69974f7d3f8d43e4763c19460a56774ee8204f096438f74f4615762c6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsToken",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_pynth",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Enrol",
					"type": "event",
					"signature": "0xc3d87d134210f5b3ee2418004c5f887bf335f79829d32e72ba5f282baccc8591"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "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": "Withdrawn",
					"type": "event",
					"signature": "0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x008cc262"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "enrol",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdb454a51"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc00007b0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardForDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1c1f78eb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x80faa57d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8f33c91"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3c6b16ab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xebe2b12b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd3daf9d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdf136d65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7b0a47ee"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0700037d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fc6df6e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x386a9525"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd1af0c7d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19762143"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rewardsDuration",
							"type": "uint256"
						}
					],
					"name": "setRewardsDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcc1a378f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "pynth",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x115f4fee"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b876347"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf3fef3a3"
				}
			],
			"source": {
				"keccak256": "0x1dabc74a1d766a3b9d4e4d4621a810e226a306dc2a7d9de9a7f0879e4a197456",
				"urls": [
					"bzz-raw://ed58b298f470566519e7372d35c5f02215c8cf9785496a5c9a522cd464ef31b6",
					"dweb:/ipfs/Qmbhowt2bCzUEEgsjmNDm3tq4XidTHBieA3rTfw8nBYm6N"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ShortingRewards.sol": "ShortingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ShortingRewards.sol": {
						"keccak256": "0x1dabc74a1d766a3b9d4e4d4621a810e226a306dc2a7d9de9a7f0879e4a197456",
						"urls": [
							"bzz-raw://ed58b298f470566519e7372d35c5f02215c8cf9785496a5c9a522cd464ef31b6",
							"dweb:/ipfs/Qmbhowt2bCzUEEgsjmNDm3tq4XidTHBieA3rTfw8nBYm6N"
						]
					}
				},
				"version": 1
			}
		},
		"StakeState": {
			"bytecode": "608060405234801561001057600080fd5b506040516112d43803806112d48339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061112e806101a66000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c806367ec4102116100de578063aefc4ccb11610097578063cf6a983011610071578063cf6a9830146103f5578063d66bb43514610421578063eca5113914610447578063f2bc4c9c146104865761018e565b8063aefc4ccb146103ab578063c93c8f34146103b3578063cd92eba9146103ed5761018e565b806367ec41021461031b57806379ba50971461034757806381bb42a51461034f5780638da5cb5b146103755780638e9cfbc91461037d578063a311c7c2146103855761018e565b806352f445ca1161014b57806357f0ebd61161012557806357f0ebd6146102955780635c44e2b0146102c15780635fcdad91146102ed5780636747da81146103135761018e565b806352f445ca1461024357806353a47bb714610269578063567e98f91461028d5761018e565b806308d95cd5146101935780630eb4bb35146101c2578063122ea6f2146101f05780631627540c146101f85780633d31e97b1461021e578063463177121461023b575b600080fd5b6101b0600480360360208110156101a957600080fd5b503561048e565b60408051918252519081900360200190f35b6101ee600480360360408110156101d857600080fd5b506001600160a01b0381351690602001356104ac565b005b6101ee61051c565b6101ee6004803603602081101561020e57600080fd5b50356001600160a01b031661057e565b6101ee6004803603602081101561023457600080fd5b50356105da565b6101b0610658565b6101ee6004803603602081101561025957600080fd5b50356001600160a01b031661068d565b6102716106e9565b604080516001600160a01b039092168252519081900360200190f35b6101b06106f8565b6101ee600480360360408110156102ab57600080fd5b506001600160a01b0381351690602001356106fe565b6101ee600480360360408110156102d757600080fd5b506001600160a01b0381351690602001356107ed565b6101b06004803603602081101561030357600080fd5b50356001600160a01b0316610881565b6101b0610893565b6101ee6004803603604081101561033157600080fd5b506001600160a01b038135169060200135610899565b6101ee61093e565b6101b06004803603602081101561036557600080fd5b50356001600160a01b03166109fa565b610271610a0c565b6101ee610a1b565b6101b06004803603602081101561039b57600080fd5b50356001600160a01b0316610a78565b610271610afc565b6103d9600480360360208110156103c957600080fd5b50356001600160a01b0316610b0b565b604080519115158252519081900360200190f35b6101b0610b28565b6101ee6004803603604081101561040b57600080fd5b506001600160a01b038135169060200135610b2e565b6101ee6004803603602081101561043757600080fd5b50356001600160a01b0316610c30565b61046d6004803603602081101561045d57600080fd5b50356001600160a01b0316610c99565b6040805192835260208301919091528051918290030190f35b6101b0610cb2565b6009818154811061049b57fe5b600091825260209091200154905081565b6002546001600160a01b031633146104f55760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b6001600160a01b039091166000908152600560205260409020908155600954600190910155565b6002546001600160a01b031633146105655760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b60065461057990600163ffffffff610cb816565b600655565b610586610d1b565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146106235760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af0155565b60095460009061066a5750600061068a565b60098054600019810190811061067c57fe5b906000526020600020015490505b90565b610695610d1b565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60075481565b6002546001600160a01b031633146107475760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b6001600160a01b03821660009081526004602052604090205481111561079e5760405162461bcd60e51b81526004018080602001828103825260248152602001806110d66024913960400191505060405180910390fd5b6001600160a01b0382166000908152600460205260409020546107c7908263ffffffff610d6616565b6001600160a01b0383166000908152600460205260409020556107e981610dc3565b5050565b6002546001600160a01b031633146108365760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b6001600160a01b03821660009081526004602052604090205461085f908263ffffffff610cb816565b6001600160a01b0383166000908152600460205260409020556107e981610e66565b60036020526000908152604090205481565b60085481565b6002546001600160a01b031633146108e25760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090205461090b908263ffffffff610cb816565b6001600160a01b038316600090815260036020526040902055600754610937908263ffffffff610cb816565b6007555050565b6001546001600160a01b031633146109875760405162461bcd60e51b8152600401808060200182810382526035815260200180610fd76035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b6000546001600160a01b031681565b6002546001600160a01b03163314610a645760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b60065461057990600163ffffffff610d6616565b6001600160a01b0381166000908152600360205260408120541580610ab357506001600160a01b038216600090815260046020526040902054155b15610ac057506000610af7565b6001600160a01b038216600090815260046020908152604080832054600390925290912054610af49163ffffffff610ec216565b90505b919050565b6002546001600160a01b031681565b6001600160a01b0316600090815260056020526040902054151590565b60095490565b6002546001600160a01b03163314610b775760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602052604090205481111580610ba057508060075410155b610bdb5760405162461bcd60e51b815260040180806020018281038252602381526020018061102f6023913960400191505060405180910390fd5b6001600160a01b038216600090815260036020526040902054610c04908263ffffffff610d6616565b6001600160a01b038316600090815260036020526040902055600754610937908263ffffffff610d6616565b6002546001600160a01b03163314610c795760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b6001600160a01b0316600090815260056020526040812081815560010155565b6005602052600090815260409020805460019091015482565b60065481565b600082820183811015610d12576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b90505b92915050565b6000546001600160a01b03163314610d645760405162461bcd60e51b815260040180806020018281038252602f815260200180611052602f913960400191505060405180910390fd5b565b600082821115610dbd576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6002546001600160a01b03163314610e0c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b806008541015610e4d5760405162461bcd60e51b815260040180806020018281038252602381526020018061100c6023913960400191505060405180910390fd5b600854610e60908263ffffffff610d6616565b60085550565b6002546001600160a01b03163314610eaf5760405162461bcd60e51b81526004018080602001828103825260348152602001806110a26034913960400191505060405180910390fd5b600854610e60908263ffffffff610cb816565b6000610d128383670de0b6b3a76400008480610ef684610eea87678ac7230489e80000610f13565b9063ffffffff610f6c16565b90506005600a820610610f0757600a015b600a9004949350505050565b600082610f2257506000610d15565b82820282848281610f2f57fe5b0414610d125760405162461bcd60e51b81526004018080602001828103825260218152602001806110816021913960400191505060405180910390fd5b6000808211610fc2576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610fcd57fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704e6f7420656e6f7567682069737375656420646562747320746f2077697468647261774e6f7420656e6f75676820746f206465637265617365207374616b6520616d6f756e744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e4e6f7420656e6f75676820746f2064656372656173652069737375656420616d6f756e74a265627a7a723158203e4c6cad3b8b2ae5a63d38e3a286c5c25c694d4458c695c9934c1a1ed1047b6b64736f6c63430005110032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "addIssuedAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5c44e2b0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "addStakeAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x67ec4102"
				},
				{
					"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": "clearStakingData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd66bb435"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"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": "decrementTotalStakerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8e9cfbc9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "hasStaked",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc93c8f34"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "incrementTotalStakerCount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x122ea6f2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "issuedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x81bb42a5"
				},
				{
					"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": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "removeIssuedAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x57f0ebd6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "removeStakeAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcf6a9830"
				},
				{
					"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": "setCurrentStakingData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0eb4bb35"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "stakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5fcdad91"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "stakingData",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "initialDebtOwnership",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtEntryIndex",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeca51139"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalDebtIssued",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6747da81"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalStakedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x567e98f9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalStakerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf2bc4c9c"
				}
			],
			"source": {
				"keccak256": "0x0815cfa51b5455725791819ddd2377d2205b6cc3d851eb63fc780246267b8c3c",
				"urls": [
					"bzz-raw://91f61669b74f6d7b180b8f8a9a83cd2862dd1d001c6ee153f1b96de358618891",
					"dweb:/ipfs/QmQS2Snu4hGbjS8HUnixkckBt637ZnpQitLLccy4fwxjGn"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.17+commit.d19bba13"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"StakeState.sol": "StakeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"StakeState.sol": {
						"keccak256": "0x0815cfa51b5455725791819ddd2377d2205b6cc3d851eb63fc780246267b8c3c",
						"urls": [
							"bzz-raw://91f61669b74f6d7b180b8f8a9a83cd2862dd1d001c6ee153f1b96de358618891",
							"dweb:/ipfs/QmQS2Snu4hGbjS8HUnixkckBt637ZnpQitLLccy4fwxjGn"
						]
					}
				},
				"version": 1
			}
		},
		"MockToken": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162000f7b38038062000f7b833981810160405260608110156200003757600080fd5b81019080805160405193929190846401000000008211156200005857600080fd5b9083019060208201858111156200006e57600080fd5b82516401000000008111828201881017156200008957600080fd5b82525081516020918201929091019080838360005b83811015620000b85781810151838201526020016200009e565b50505050905090810190601f168015620000e65780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200010a57600080fd5b9083019060208201858111156200012057600080fd5b82516401000000008111828201881017156200013b57600080fd5b82525081516020918201929091019080838360005b838110156200016a57818101518382015260200162000150565b50505050905090810190601f168015620001985780820380516001836020036101000a031916815260200191505b50604052602090810151855190935085925084918491620001c091600391908601906200036e565b508151620001d69060049060208501906200036e565b506005805460ff191660ff9283161790556200020292503391508316600a0a6402540be400026200020b565b50505062000413565b6001600160a01b03821662000267576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b62000283816002546200030c60201b620009021790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620002b6918390620009026200030c821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101562000367576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620003b157805160ff1916838001178555620003e1565b82800160010185558215620003e1579182015b82811115620003e1578251825591602001919060010190620003c4565b50620003ef929150620003f3565b5090565b6200041091905b80821115620003ef5760008155600101620003fa565b90565b610b5880620004236000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a082311461021057806395d89b4114610236578063a457c2d71461023e578063a9059cbb1461026a578063b86d1d6314610296578063dd62ed3e146102be576100b4565b806306fdde03146100b9578063095ea7b31461013657806318160ddd1461017657806323b872dd14610190578063313ce567146101c657806339509351146101e4575b600080fd5b6100c16102ec565b6040805160208082528351818301528351919283929083019185019080838360005b838110156100fb5781810151838201526020016100e3565b50505050905090810190601f1680156101285780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101626004803603604081101561014c57600080fd5b506001600160a01b038135169060200135610382565b604080519115158252519081900360200190f35b61017e610398565b60408051918252519081900360200190f35b610162600480360360608110156101a657600080fd5b506001600160a01b0381358116916020810135909116906040013561039e565b6101ce610457565b6040805160ff9092168252519081900360200190f35b610162600480360360408110156101fa57600080fd5b506001600160a01b038135169060200135610460565b61017e6004803603602081101561022657600080fd5b50356001600160a01b031661049c565b6100c16104b7565b6101626004803603604081101561025457600080fd5b506001600160a01b038135169060200135610518565b6101626004803603604081101561028057600080fd5b506001600160a01b0381351690602001356105b5565b6102bc600480360360208110156102ac57600080fd5b50356001600160a01b03166105c2565b005b61017e600480360360408110156102d457600080fd5b506001600160a01b03813581169160200135166105df565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103785780601f1061034d57610100808354040283529160200191610378565b820191906000526020600020905b81548152906001019060200180831161035b57829003601f168201915b5050505050905090565b600061038f33848461060a565b50600192915050565b60025490565b60006103ab8484846106f6565b6001600160a01b038416600090815260016020908152604080832033845290915290205482111561040d5760405162461bcd60e51b8152600401808060200182810382526021815260200180610a996021913960400191505060405180910390fd5b6001600160a01b03841660009081526001602090815260408083203380855292529091205461044d918691610448908663ffffffff6108a516565b61060a565b5060019392505050565b60055460ff1690565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161038f918590610448908663ffffffff61090216565b6001600160a01b031660009081526020819052604090205490565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156103785780601f1061034d57610100808354040283529160200191610378565b3360009081526001602090815260408083206001600160a01b038616845290915281205482111561057a5760405162461bcd60e51b8152600401808060200182810382526021815260200180610b036021913960400191505060405180910390fd5b3360008181526001602090815260408083206001600160a01b038816845290915290205461038f91908590610448908663ffffffff6108a516565b600061038f3384846106f6565b6105dc816105ce610457565b60ff16600a0a606402610963565b50565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661064f5760405162461bcd60e51b8152600401808060200182810382526024815260200180610adf6024913960400191505060405180910390fd5b6001600160a01b0382166106945760405162461bcd60e51b8152600401808060200182810382526022815260200180610a776022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661073b5760405162461bcd60e51b8152600401808060200182810382526025815260200180610aba6025913960400191505060405180910390fd5b6001600160a01b0382166107805760405162461bcd60e51b8152600401808060200182810382526023815260200180610a546023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020548111156107ed576040805162461bcd60e51b815260206004820152601860248201527f5472616e7366657220657863656564732062616c616e63650000000000000000604482015290519081900360640190fd5b6001600160a01b038316600090815260208190526040902054610816908263ffffffff6108a516565b6001600160a01b03808516600090815260208190526040808220939093559084168152205461084b908263ffffffff61090216565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156108fc576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008282018381101561095c576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b0382166109be576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6002546109d1908263ffffffff61090216565b6002556001600160a01b0382166000908152602081905260409020546109fd908263ffffffff61090216565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f20616464726573735472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373446563726561736520616d6f756e74206578636565647320616c6c6f77616e6365a265627a7a72315820a0e5f185f6866fcf728659454e768c8114d3c27f69862b4264600c2747cb1c2b64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "string",
							"name": "name",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "symbol",
							"type": "string"
						},
						{
							"internalType": "uint8",
							"name": "decimals",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "subtractedValue",
							"type": "uint256"
						}
					],
					"name": "decreaseAllowance",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa457c2d7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "faucet",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb86d1d63"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "addedValue",
							"type": "uint256"
						}
					],
					"name": "increaseAllowance",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x39509351"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "symbol",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x95d89b41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				}
			],
			"source": {
				"keccak256": "0x316dcd9eec665e0abccaf2a4a59a59e3a6a3abea703d1d085aa23cea494169ea",
				"urls": [
					"bzz-raw://589615c221120c907c89b2b2707d520ff4dbcd8765b0e668a37de05fb0241cee",
					"dweb:/ipfs/QmcUp5pf52mfrF1UEHgtsuK2ouZyi5rqjfsAh55XkpvV3c"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"test-helpers/MockToken.sol": "MockToken"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"test-helpers/MockToken.sol": {
						"keccak256": "0x316dcd9eec665e0abccaf2a4a59a59e3a6a3abea703d1d085aa23cea494169ea",
						"urls": [
							"bzz-raw://589615c221120c907c89b2b2707d520ff4dbcd8765b0e668a37de05fb0241cee",
							"dweb:/ipfs/QmcUp5pf52mfrF1UEHgtsuK2ouZyi5rqjfsAh55XkpvV3c"
						]
					}
				},
				"version": 1
			}
		},
		"StakingStateUSDC": {
			"bytecode": "608060405234801561001057600080fd5b50604051610f40380380610f408339818101604052606081101561003357600080fd5b508051602082015160409092015190919081836001600160a01b0381166100a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031661014b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150600380546001600160a01b039092166001600160a01b03199092169190911790555050610d71806101cf6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806379ba509711610097578063aefc4ccb11610066578063aefc4ccb1461029d578063c2a672e0146102a5578063c93c8f34146102d1578063f2bc4c9c146102f757610100565b806379ba50971461023b5780638da5cb5b14610243578063aaf5bfc31461024b578063adc9772e1461027157610100565b806352f445ca116100d357806352f445ca146101c357806353a47bb7146101e9578063567e98f91461020d5780635fcdad911461021557610100565b80631627540c146101055780631f91ce031461012d578063313ce56714610165578063410085df14610183575b600080fd5b61012b6004803603602081101561011b57600080fd5b50356001600160a01b03166102ff565b005b6101536004803603602081101561014357600080fd5b50356001600160a01b031661035b565b60408051918252519081900360200190f35b61016d6103c0565b6040805160ff9092168252519081900360200190f35b6101af6004803603604081101561019957600080fd5b506001600160a01b0381351690602001356103c5565b604080519115158252519081900360200190f35b61012b600480360360208110156101d957600080fd5b50356001600160a01b03166104c1565b6101f161051d565b604080516001600160a01b039092168252519081900360200190f35b61015361052c565b6101536004803603602081101561022b57600080fd5b50356001600160a01b0316610532565b61012b610544565b6101f1610600565b61012b6004803603602081101561026157600080fd5b50356001600160a01b031661060f565b61012b6004803603604081101561028757600080fd5b506001600160a01b038135169060200135610694565b6101f16107b9565b61012b600480360360408110156102bb57600080fd5b506001600160a01b0381351690602001356107c8565b6101af600480360360208110156102e757600080fd5b50356001600160a01b031661096b565b610153610988565b61030761098e565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001600160a01b038116600090815260046020526040812054819015806103825750600654155b6103b6576006546001600160a01b0384166000908152600460205260409020546103b19163ffffffff6109d916565b6103b9565b60005b9392505050565b600690565b6002546000906001600160a01b031633146104115760405162461bcd60e51b8152600401808060200182810382526034815260200180610ce56034913960400191505060405180910390fd5b6104196109ee565b6001600160a01b031663a9059cbb8461043d8564e8d4a5100063ffffffff610a5616565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561048c57600080fd5b505af11580156104a0573d6000803e3d6000fd5b505050506040513d60208110156104b657600080fd5b505190505b92915050565b6104c961098e565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60065481565b60046020526000908152604090205481565b6001546001600160a01b0316331461058d5760405162461bcd60e51b8152600401808060200182810382526035815260200180610c3a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b61061761098e565b6001600160a01b038116610672576040805162461bcd60e51b815260206004820152601b60248201527f416464726573732073686f756c64206e6f7420626520656d7074790000000000604482015290519081900360640190fd5b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031633146106dd5760405162461bcd60e51b8152600401808060200182810382526034815260200180610ce56034913960400191505060405180910390fd5b6001600160a01b0382166000908152600460205260409020541580156107035750600081115b1561071057610710610ac0565b6001600160a01b038216600090815260046020526040902054610739908263ffffffff610ad916565b6001600160a01b038316600090815260046020526040902055600654610765908263ffffffff610ad916565b6006556001600160a01b0382167fa7cce4e8ff59a515dccbee3a6382e94deb1db79bdb43cf35a51251d41ea395f08261079d8561035b565b6040805192835260208301919091528051918290030190a25050565b6002546001600160a01b031681565b6002546001600160a01b031633146108115760405162461bcd60e51b8152600401808060200182810382526034815260200180610ce56034913960400191505060405180910390fd5b6001600160a01b0382166000908152600460205260409020548111156108685760405162461bcd60e51b8152600401808060200182810382526026815260200180610c6f6026913960400191505060405180910390fd5b8060065410156108a95760405162461bcd60e51b8152600401808060200182810382526024815260200180610d196024913960400191505060405180910390fd5b6001600160a01b0382166000908152600460205260409020546108d2908263ffffffff610b3316565b6108de576108de610b90565b6001600160a01b038216600090815260046020526040902054610907908263ffffffff610b3316565b6001600160a01b038316600090815260046020526040902055600654610933908263ffffffff610b3316565b6006556001600160a01b0382167f3b60256e821e357caf3d06e48635070876d10074a5b47de82d24b8df4fe217bc8261079d8561035b565b6001600160a01b0316600090815260046020526040902054151590565b60055481565b6000546001600160a01b031633146109d75760405162461bcd60e51b815260040180806020018281038252602f815260200180610c95602f913960400191505060405180910390fd5b565b60006103b98383670de0b6b3a7640000610ba4565b6003546000906001600160a01b0316610a46576040805162461bcd60e51b815260206004820152601560248201527455534443206164647265737320697320656d70747960581b604482015290519081900360640190fd5b506003546001600160a01b031690565b6000808211610aac576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610ab757fe5b04949350505050565b600554610ad490600163ffffffff610ad916565b600555565b6000828201838110156103b9576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610b8a576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600554610ad490600163ffffffff610b3316565b600080600a8304610bbb868663ffffffff610be016565b81610bc257fe5b0490506005600a820610610bd457600a015b600a9004949350505050565b600082610bef575060006104bb565b82820282848281610bfc57fe5b04146103b95760405162461bcd60e51b8152600401808060200182810382526021815260200180610cc46021913960400191505060405180910390fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869705573657220646f65736e2774206861766520656e6f756768207374616b656420616d6f756e744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e4e6f7420656e6f756768207374616b656420616d6f756e7420746f207769746864726177a265627a7a72315820a2396bfe50f70045b9f4eb29a3b9d0e826a1657d13a61e5cba1e451cc0db164664736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_usdcAddress",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "percentage",
							"type": "uint256"
						}
					],
					"name": "Staking",
					"type": "event",
					"signature": "0xa7cce4e8ff59a515dccbee3a6382e94deb1db79bdb43cf35a51251d41ea395f0"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "percentage",
							"type": "uint256"
						}
					],
					"name": "Unstaking",
					"type": "event",
					"signature": "0x3b60256e821e357caf3d06e48635070876d10074a5b47de82d24b8df4fe217bc"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "hasStaked",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc93c8f34"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "refund",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x410085df"
				},
				{
					"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": "_usdcAddress",
							"type": "address"
						}
					],
					"name": "setUSDCAddress",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xaaf5bfc3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xadc9772e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "stakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5fcdad91"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalStakedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x567e98f9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalStakerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf2bc4c9c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "unstake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc2a672e0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "userStakingShare",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1f91ce03"
				}
			],
			"source": {
				"keccak256": "0x9a15c7136294080551ad6c409965d9b3b3176dddd03942a333821c76bb2697f8",
				"urls": [
					"bzz-raw://17368d27e028bbdc8bd66af314a4468578d5de5afce781145bc370d63cc38100",
					"dweb:/ipfs/QmVNbzcNxfRTCixDxjuQeuY7UCrqMoqAMrE9YT6cXpmRoY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"StakingStateUSDC.sol": "StakingStateUSDC"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"StakingStateUSDC.sol": {
						"keccak256": "0x9a15c7136294080551ad6c409965d9b3b3176dddd03942a333821c76bb2697f8",
						"urls": [
							"bzz-raw://17368d27e028bbdc8bd66af314a4468578d5de5afce781145bc370d63cc38100",
							"dweb:/ipfs/QmVNbzcNxfRTCixDxjuQeuY7UCrqMoqAMrE9YT6cXpmRoY"
						]
					}
				},
				"version": 1
			}
		},
		"TempExchangeRateStorageKovan": {
			"bytecode": "608060405234801561001057600080fd5b5060405161059f38038061059f8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506104a5806100fa6000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c806379ba50971161005b57806379ba5097146100fa5780638da5cb5b14610102578063b32b56f91461010a578063dc726205146101505761007d565b80631627540c146100825780633168cc26146100aa57806353a47bb7146100d6575b600080fd5b6100a86004803603602081101561009857600080fd5b50356001600160a01b031661016d565b005b6100a8600480360360408110156100c057600080fd5b50803590602001356001600160d81b03166101c9565b6100de610229565b604080516001600160a01b039092168252519081900360200190f35b6100a8610238565b6100de6102f4565b6101276004803603602081101561012057600080fd5b5035610303565b604080516001600160d81b03909316835264ffffffffff90911660208301528051918290030190f35b6101276004803603602081101561016657600080fd5b5035610396565b6101756103c1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6040805180820182526001600160d81b0392831681524264ffffffffff9081166020808401918252600096875260029052929094209051815492516001600160d81b031990931690841617909216600160d81b9190931602919091179055565b6001546001600160a01b031681565b6001546001600160a01b031633146102815760405162461bcd60e51b815260040180806020018281038252603581526020018061040d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b60008181526002602052604081205481906001600160d81b031661032f57670de0b6b3a7640000610348565b6000838152600260205260409020546001600160d81b03165b600084815260026020526040902054600160d81b900464ffffffffff1661036f574261038d565b600084815260026020526040902054600160d81b900464ffffffffff165b91509150915091565b6002602052600090815260409020546001600160d81b03811690600160d81b900464ffffffffff1682565b6000546001600160a01b0316331461040a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610442602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158201d435dbbdb49fca8929d32c27083720d06227b3e23823b881dc8923b8940ac6964736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getRate",
					"outputs": [
						{
							"internalType": "uint216",
							"name": "",
							"type": "uint216"
						},
						{
							"internalType": "uint40",
							"name": "",
							"type": "uint40"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb32b56f9"
				},
				{
					"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": "rates",
					"outputs": [
						{
							"internalType": "uint216",
							"name": "rate",
							"type": "uint216"
						},
						{
							"internalType": "uint40",
							"name": "time",
							"type": "uint40"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdc726205"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint216",
							"name": "_rate",
							"type": "uint216"
						}
					],
					"name": "setRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3168cc26"
				}
			],
			"source": {
				"keccak256": "0xfc53b777abbee0c6b0a511d62d5d38ff3f74484fc8210b878d40314ccdbd9a17",
				"urls": [
					"bzz-raw://3321da27bc7c6312eef04179c85e2c01083a634b87dd6e2ab457bfaf98482308",
					"dweb:/ipfs/QmfXSL8W59GR9xT4HEjhM2xgyHZWoBT5ZjfsU1pxcPPHEJ"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TempExchangeRateStorageKovan.sol": "TempExchangeRateStorageKovan"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"TempExchangeRateStorageKovan.sol": {
						"keccak256": "0xfc53b777abbee0c6b0a511d62d5d38ff3f74484fc8210b878d40314ccdbd9a17",
						"urls": [
							"bzz-raw://3321da27bc7c6312eef04179c85e2c01083a634b87dd6e2ab457bfaf98482308",
							"dweb:/ipfs/QmfXSL8W59GR9xT4HEjhM2xgyHZWoBT5ZjfsU1pxcPPHEJ"
						]
					}
				},
				"version": 1
			}
		}
	}
}
