{
	"targets": {
		"SafeDecimalMath": {
			"name": "SafeDecimalMath",
			"address": "0x263b671648675Bda5263525ecA554e4d5697e210",
			"source": "SafeDecimalMath",
			"link": "https://polygonscan.com/address/0x263b671648675Bda5263525ecA554e4d5697e210",
			"timestamp": "2021-08-02T10:10:25.000Z",
			"txn": "https://polygonscan.com/tx/0x1cd7abb0d28ea6b05857406776f0d5259df298d388b8e638a5266bf28ea065b0",
			"network": "polygon"
		},
		"Math": {
			"name": "Math",
			"address": "0x68BF61cD7758AFc2cf1D596827601a0819D0749F",
			"source": "Math",
			"link": "https://polygonscan.com/address/0x68BF61cD7758AFc2cf1D596827601a0819D0749F",
			"timestamp": "2021-07-04T15:38:29.000Z",
			"txn": "https://polygonscan.com/tx/0x42db1e2d379340792896d3179b1b6076fcd173fbac8092c0080be354df08718e",
			"network": "polygon"
		},
		"AddressResolver": {
			"name": "AddressResolver",
			"address": "0x32968b00565993c7ff66834273649Cd1b36dc605",
			"source": "AddressResolver",
			"link": "https://polygonscan.com/address/0x32968b00565993c7ff66834273649Cd1b36dc605",
			"timestamp": "2021-07-04T16:47:51.000Z",
			"txn": "https://polygonscan.com/tx/0x82c6e568dcdb0ba8fe0ba6945bbd5e935416327daad92eb56fb21b130cb07b7e",
			"network": "polygon"
		},
		"ReadProxyAddressResolver": {
			"name": "ReadProxyAddressResolver",
			"address": "0x8104aE1843ecfE7c9dB330539e24e24555662356",
			"source": "ReadProxy",
			"link": "https://polygonscan.com/address/0x8104aE1843ecfE7c9dB330539e24e24555662356",
			"timestamp": "2021-07-04T16:49:55.000Z",
			"txn": "https://polygonscan.com/tx/0xaa3ee375c8da17d90761888cc9f4b17c5207ae0d8a4622eea9169ebdd0a22e73",
			"network": "polygon"
		},
		"FlexibleStorage": {
			"name": "FlexibleStorage",
			"address": "0xcaE93F84BcA6deF3c6f8a7F2b4974A66472Af6f3",
			"source": "FlexibleStorage",
			"link": "https://polygonscan.com/address/0xcaE93F84BcA6deF3c6f8a7F2b4974A66472Af6f3",
			"timestamp": "2021-07-04T15:39:35.000Z",
			"txn": "https://polygonscan.com/tx/0x5a64a89351499cc732ffb4a8cb5cfe0a1de05fbdfe9edd548b1147b3080cb860",
			"network": "polygon"
		},
		"SystemSettings": {
			"name": "SystemSettings",
			"address": "0x4028e5b49fE716113ab7e2483c4367A55BB84Afa",
			"source": "SystemSettings",
			"link": "https://polygonscan.com/address/0x4028e5b49fE716113ab7e2483c4367A55BB84Afa",
			"timestamp": "2024-04-21T03:04:21.000Z",
			"txn": "https://polygonscan.com/tx/0x0cc5284c2fa9f416c48cfde6f8ffd381e80951f34ab6494228e18dea11944871",
			"network": "polygon"
		},
		"SystemStatus": {
			"name": "SystemStatus",
			"address": "0x408a90A4dB6318B1EE4da5c0aCc9ec8E156980DF",
			"source": "SystemStatus",
			"link": "https://polygonscan.com/address/0x408a90A4dB6318B1EE4da5c0aCc9ec8E156980DF",
			"timestamp": "2021-07-04T15:39:47.000Z",
			"txn": "https://polygonscan.com/tx/0x993d50bd13ac9062e5591743b192e0e875233f249270b4dca4ec5252ab16e2f4",
			"network": "polygon"
		},
		"ExchangeRates": {
			"name": "ExchangeRates",
			"address": "0x930524D88431979A1f32F623Cd7c67Dc3E6F3a73",
			"source": "ExchangeRates",
			"link": "https://polygonscan.com/address/0x930524D88431979A1f32F623Cd7c67Dc3E6F3a73",
			"timestamp": "2021-09-09T01:02:04.000Z",
			"txn": "https://polygonscan.com/tx/0xeee5ce20a840463436c7ac946971f012a596b4aefec18cefc6d09630e050f047",
			"network": "polygon"
		},
		"RewardEscrow": {
			"name": "RewardEscrow",
			"address": "0x1E21E50999890E093B3525DA158877ddBda6DdBb",
			"source": "RewardEscrow",
			"link": "https://polygonscan.com/address/0x1E21E50999890E093B3525DA158877ddBda6DdBb",
			"timestamp": "2021-07-04T15:39:59.000Z",
			"txn": "https://polygonscan.com/tx/0x9b08737ae73c166a3a650de9d6f6554cf562a88d96ef89ebdf5a8ef8ecc02fe2",
			"network": "polygon"
		},
		"RewardEscrowV2": {
			"name": "RewardEscrowV2",
			"address": "0x69Cda6A078E6cb0C55d1f4FEC6544fb4B24aA967",
			"source": "RewardEscrowV2",
			"link": "https://polygonscan.com/address/0x69Cda6A078E6cb0C55d1f4FEC6544fb4B24aA967",
			"timestamp": "2021-07-04T15:40:05.000Z",
			"txn": "https://polygonscan.com/tx/0x6b1376cce4eca352a9097464b2de78938a878a6ed037c498aaee26f297d297c6",
			"network": "polygon"
		},
		"PeriFinanceEscrow": {
			"name": "PeriFinanceEscrow",
			"address": "0x23d2B65507066e1855E201DD1a7dd5c007ddA4b7",
			"source": "PeriFinanceEscrow",
			"link": "https://polygonscan.com/address/0x23d2B65507066e1855E201DD1a7dd5c007ddA4b7",
			"timestamp": "2021-07-04T15:40:11.000Z",
			"txn": "https://polygonscan.com/tx/0x7af0b00c7a7245b394dc1085eacd465b78c401437f55544c2706b5a6e2a072b1",
			"network": "polygon"
		},
		"PeriFinanceState": {
			"name": "PeriFinanceState",
			"address": "0xa2C8a0841202a3eD51e464140bFE206494384CB6",
			"source": "PeriFinanceState",
			"link": "https://polygonscan.com/address/0xa2C8a0841202a3eD51e464140bFE206494384CB6",
			"timestamp": "2021-07-04T15:40:17.000Z",
			"txn": "https://polygonscan.com/tx/0x8cea14aec911219a8385e58fa8b74fa130a449780c00d48cbd1efd79fb8b8c73",
			"network": "polygon"
		},
		"ProxyFeePool": {
			"name": "ProxyFeePool",
			"address": "0x036ec2Bc5352C66C0D56c2c42E1F4C09355a790f",
			"source": "Proxy",
			"link": "https://polygonscan.com/address/0x036ec2Bc5352C66C0D56c2c42E1F4C09355a790f",
			"timestamp": "2021-07-04T15:40:23.000Z",
			"txn": "https://polygonscan.com/tx/0xfcdbf905e6943177201f17b83a38c32225083b6c2a23bbf32b9fea900a9c13bf",
			"network": "polygon"
		},
		"DelegateApprovalsEternalStorage": {
			"name": "DelegateApprovalsEternalStorage",
			"address": "0x538e8e2157Db0487Df93D377438A45Cfa85a56c9",
			"source": "EternalStorage",
			"link": "https://polygonscan.com/address/0x538e8e2157Db0487Df93D377438A45Cfa85a56c9",
			"timestamp": "2021-07-04T15:40:31.000Z",
			"txn": "https://polygonscan.com/tx/0xb59383cb4017df1e217c634c76548f2b3dc12e0291f643c3d0d1f6af2cde07f9",
			"network": "polygon"
		},
		"DelegateApprovals": {
			"name": "DelegateApprovals",
			"address": "0x4637f7bA92b8e9aD51D6ef3700c5515eDF77Ed51",
			"source": "DelegateApprovals",
			"link": "https://polygonscan.com/address/0x4637f7bA92b8e9aD51D6ef3700c5515eDF77Ed51",
			"timestamp": "2021-07-04T15:40:37.000Z",
			"txn": "https://polygonscan.com/tx/0xe764dde4bf5b88c38a7a147a7d3794f3b0ce8ce83a0762c8bc33c00ef5747534",
			"network": "polygon"
		},
		"Liquidations": {
			"name": "Liquidations",
			"address": "0x741aAb879CBeA6beA8F167Db59317b6A9Da38940",
			"source": "Liquidations",
			"link": "https://polygonscan.com/address/0x741aAb879CBeA6beA8F167Db59317b6A9Da38940",
			"timestamp": "2024-04-23T04:58:44.000Z",
			"txn": "https://polygonscan.com/tx/0x8d998eae5f57943aa6b18447608f07b6df005e427ab913b305ff0b87933a26f8",
			"network": "polygon"
		},
		"EternalStorageLiquidations": {
			"name": "EternalStorageLiquidations",
			"address": "0xC23bED9D432358835eAC41e060676a89C27f338e",
			"source": "EternalStorage",
			"link": "https://polygonscan.com/address/0xC23bED9D432358835eAC41e060676a89C27f338e",
			"timestamp": "2021-07-04T15:40:56.685Z",
			"txn": "",
			"network": "polygon"
		},
		"FeePoolEternalStorage": {
			"name": "FeePoolEternalStorage",
			"address": "0x95bc99186B61168d093E1295d2221944813389D6",
			"source": "FeePoolEternalStorage",
			"link": "https://polygonscan.com/address/0x95bc99186B61168d093E1295d2221944813389D6",
			"timestamp": "2021-07-04T15:41:07.000Z",
			"txn": "https://polygonscan.com/tx/0x464e92f3f57728e7420853a38f39a6b2a28336acc144623d0bdd35a137e2ff45",
			"network": "polygon"
		},
		"FeePool": {
			"name": "FeePool",
			"address": "0x2e177816779E72C3D28d8745093B8370D9Ebdba6",
			"source": "FeePool",
			"link": "https://polygonscan.com/address/0x2e177816779E72C3D28d8745093B8370D9Ebdba6",
			"timestamp": "2024-09-07T02:06:47.358Z",
			"txn": "",
			"network": "polygon"
		},
		"FeePoolState": {
			"name": "FeePoolState",
			"address": "0x6dA90508E515DF133346b47be0176F7F9Ad48656",
			"source": "FeePoolState",
			"link": "https://polygonscan.com/address/0x6dA90508E515DF133346b47be0176F7F9Ad48656",
			"timestamp": "2021-07-04T15:41:31.000Z",
			"txn": "https://polygonscan.com/tx/0x6a78dff7f078d18f448c319ce18870ec9466d40ac5798b82e9863d7af4c00bbb",
			"network": "polygon"
		},
		"RewardsDistribution": {
			"name": "RewardsDistribution",
			"address": "0xf747063DA5721Cc9581D7D367aF58cc7ABd3077C",
			"source": "RewardsDistribution",
			"link": "https://polygonscan.com/address/0xf747063DA5721Cc9581D7D367aF58cc7ABd3077C",
			"timestamp": "2021-07-04T15:41:37.000Z",
			"txn": "https://polygonscan.com/tx/0x15ae36740660824e59c2ccf3027b93502ff23e1332fdf0782ce42cac38ea6628",
			"network": "polygon"
		},
		"ProxyERC20": {
			"name": "ProxyERC20",
			"address": "0xDC0E17eAE3B9651875030244b971fa0223a1764f",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xDC0E17eAE3B9651875030244b971fa0223a1764f",
			"timestamp": "2021-07-04T15:41:45.000Z",
			"txn": "https://polygonscan.com/tx/0xf174070063f2c4afe7acab74d3f6085066ee88e532df833a0dd5ce61972a56c1",
			"network": "polygon"
		},
		"TokenStatePeriFinance": {
			"name": "TokenStatePeriFinance",
			"address": "0x50A86f6abeb1c90719fF1F5d5B86A7e304B7593F",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x50A86f6abeb1c90719fF1F5d5B86A7e304B7593F",
			"timestamp": "2021-07-04T15:41:53.000Z",
			"txn": "https://polygonscan.com/tx/0x99e46138cb02a020db7fbf6902d7ce859f0263dfbe6327045026f0c319ba3ad1",
			"network": "polygon"
		},
		"PeriFinance": {
			"name": "PeriFinance",
			"address": "0x8f151e700772d6e8Dc7dA8B260c9e0C3eCbF4174",
			"source": "PeriFinanceToPolygon",
			"link": "https://polygonscan.com/address/0x8f151e700772d6e8Dc7dA8B260c9e0C3eCbF4174",
			"timestamp": "2024-04-21T03:05:17.000Z",
			"txn": "https://polygonscan.com/tx/0xb7642373f40a64e93f4ecd9004a2087056829909fbfcc550b2000ebe17cfae5f",
			"network": "polygon"
		},
		"DebtCache": {
			"name": "DebtCache",
			"address": "0x6E7Eb230712B69c30dF2BAE55a9D483b59309667",
			"source": "DebtCache",
			"link": "https://polygonscan.com/address/0x6E7Eb230712B69c30dF2BAE55a9D483b59309667",
			"timestamp": "2022-04-25T08:36:59.000Z",
			"txn": "https://polygonscan.com/tx/0xc0d10df328b3319f1493117af252ca2463762cd7acf3b0913b67cedadf38b19e",
			"network": "polygon"
		},
		"Exchanger": {
			"name": "Exchanger",
			"address": "0xACD30b5445620D4F9368bf4E104957294862Bb06",
			"source": "Exchanger",
			"link": "https://polygonscan.com/address/0xACD30b5445620D4F9368bf4E104957294862Bb06",
			"timestamp": "2024-04-21T03:30:53.000Z",
			"txn": "https://polygonscan.com/tx/0x4e0ef5e2fae5c2f1435b3ab45a085a72552642b7e1555f265f6cd09b30d52f5a",
			"network": "polygon"
		},
		"ExchangeState": {
			"name": "ExchangeState",
			"address": "0xeD0e19473B13aE62FACf016FFdCCC2bEa43c9a46",
			"source": "ExchangeState",
			"link": "https://polygonscan.com/address/0xeD0e19473B13aE62FACf016FFdCCC2bEa43c9a46",
			"timestamp": "2021-07-04T15:42:23.000Z",
			"txn": "https://polygonscan.com/tx/0x9166e00662018d9ad9d388e8fc9e3ff78ab3f231b46ab46ee930da8d996da457",
			"network": "polygon"
		},
		"Issuer": {
			"name": "Issuer",
			"address": "0x6063B1C1c55F075AD7602d602c04844668C875f1",
			"source": "Issuer",
			"link": "https://polygonscan.com/address/0x6063B1C1c55F075AD7602d602c04844668C875f1",
			"timestamp": "2024-04-23T04:33:40.000Z",
			"txn": "https://polygonscan.com/tx/0x27600b001c6757def416225f4982ab2ae3c960cba02c2029e6787df6000da92b",
			"network": "polygon"
		},
		"TradingRewards": {
			"name": "TradingRewards",
			"address": "0x5B8eF9CAe4473B3e5C870C6cd1A781e2B40B77ff",
			"source": "TradingRewards",
			"link": "https://polygonscan.com/address/0x5B8eF9CAe4473B3e5C870C6cd1A781e2B40B77ff",
			"timestamp": "2021-07-04T15:43:39.000Z",
			"txn": "https://polygonscan.com/tx/0x58962fbecd94649632b6d6ad509545012ad5378e7ba4103695c2e24f8f3b06d0",
			"network": "polygon"
		},
		"EscrowChecker": {
			"name": "EscrowChecker",
			"address": "0xE0430d8B3db51F33d206470150535D8D2dA8A8c5",
			"source": "EscrowChecker",
			"link": "https://polygonscan.com/address/0xE0430d8B3db51F33d206470150535D8D2dA8A8c5",
			"timestamp": "2021-07-04T15:44:49.000Z",
			"txn": "https://polygonscan.com/tx/0xfe9a874da6eb4e681943d40eeb57aea112ad856d252e8d0d0e382dbfc57def9a",
			"network": "polygon"
		},
		"SupplySchedule": {
			"name": "SupplySchedule",
			"address": "0xf31E4177332b135250fbd986A57C6c488df1c143",
			"source": "SupplySchedule",
			"link": "https://polygonscan.com/address/0xf31E4177332b135250fbd986A57C6c488df1c143",
			"timestamp": "2021-07-18T02:00:47.000Z",
			"txn": "https://polygonscan.com/tx/0x923871258d3b4030cd8e2db5dee148c6b01ac70a3f37072eb2a755d3ccf935c4",
			"network": "polygon"
		},
		"TokenStatepUSD": {
			"name": "TokenStatepUSD",
			"address": "0xC5dC6240f48268Ce285f46E4cF37d1dEf5347845",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xC5dC6240f48268Ce285f46E4cF37d1dEf5347845",
			"timestamp": "2021-07-04T15:45:29.841Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pUSD": {
			"name": "ProxyERC20pUSD",
			"address": "0xA590C980050d934c046920f8a9e0d9567536eDce",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xA590C980050d934c046920f8a9e0d9567536eDce",
			"timestamp": "2021-07-04T15:48:49.705Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpUSD": {
			"name": "PynthpUSD",
			"address": "0x81E593716DC004115E4Cd096237A24FAfe75b4C6",
			"source": "MultiCollateralPynth",
			"link": "https://polygonscan.com/address/0x81E593716DC004115E4Cd096237A24FAfe75b4C6",
			"timestamp": "2022-04-25T08:09:32.000Z",
			"txn": "https://polygonscan.com/tx/0x963166b848997edd4ecde36dbcd6cfb41006f0c4033c69f07955c0cd19ee0ccc",
			"network": "polygon"
		},
		"StakingStateUSDC": {
			"name": "StakingStateUSDC",
			"address": "0x5383242e3062fA1CBc861f7702F8509bb719aF11",
			"source": "StakingStateUSDC",
			"link": "https://polygonscan.com/address/0x5383242e3062fA1CBc861f7702F8509bb719aF11",
			"timestamp": "2021-07-04T15:49:09.000Z",
			"txn": "https://polygonscan.com/tx/0x17576bce060f3bdb9aac14d5648459e87534fd14dfbafea787f46df391715558",
			"network": "polygon"
		},
		"ExternalRateAggregator": {
			"name": "ExternalRateAggregator",
			"address": "0xA83De000763e494D719e92476282e1cfF219c104",
			"source": "ExternalRateAggregator",
			"link": "https://polygonscan.com/address/0xA83De000763e494D719e92476282e1cfF219c104",
			"timestamp": "2021-07-04T15:49:15.000Z",
			"txn": "https://polygonscan.com/tx/0xcca8c1782ca806769b8523e29b1e4a51e7c4adf8df29c9866207edd090ac5bfd",
			"network": "polygon"
		},
		"Depot": {
			"name": "Depot",
			"address": "0x0c700b7f9221e3511C61a9a5F2f7C22BDc9daF2d",
			"source": "Depot",
			"link": "https://polygonscan.com/address/0x0c700b7f9221e3511C61a9a5F2f7C22BDc9daF2d",
			"timestamp": "2021-07-04T15:49:21.000Z",
			"txn": "https://polygonscan.com/tx/0x1273cae7d42eeb0dc1fa3874d247adbcf2db16c79acc7f6f9c0bdaa82f2116a0",
			"network": "polygon"
		},
		"EtherCollateral": {
			"name": "EtherCollateral",
			"address": "0x64d2B703948e84923d721697B05567485F9BF868",
			"source": "EtherCollateral",
			"link": "https://polygonscan.com/address/0x64d2B703948e84923d721697B05567485F9BF868",
			"timestamp": "2021-07-04T15:49:27.000Z",
			"txn": "https://polygonscan.com/tx/0xdf6fa1c030bd9d7062be386e03c34ce47a0ef2257b1365d08b7b4bf7d82afb21",
			"network": "polygon"
		},
		"EtherCollateralpUSD": {
			"name": "EtherCollateralpUSD",
			"address": "0x1AA791b12789Bff0228d239789e9eC00Be7dcEC7",
			"source": "EtherCollateralpUSD",
			"link": "https://polygonscan.com/address/0x1AA791b12789Bff0228d239789e9eC00Be7dcEC7",
			"timestamp": "2021-07-04T15:49:33.000Z",
			"txn": "https://polygonscan.com/tx/0x8c836693ac73eb03cca48e349fa6784a09e78a093ab91ebb9ae9f2eb94d1d086",
			"network": "polygon"
		},
		"PeriFinanceBridgeToOptimism": {
			"name": "PeriFinanceBridgeToOptimism",
			"address": "0x10E5c39927F389542b25a829580c07f0f1Be626E",
			"source": "PeriFinanceBridgeToOptimism",
			"link": "https://polygonscan.com/address/0x10E5c39927F389542b25a829580c07f0f1Be626E",
			"timestamp": "2021-07-04T15:49:39.000Z",
			"txn": "https://polygonscan.com/tx/0x2fce5e9708a4b6e1bd04862120353a4b52c5a1cf00ce1d1019a1e9d5db4d7648",
			"network": "polygon"
		},
		"PynthUtil": {
			"name": "PynthUtil",
			"address": "0x0BCcaEFAde18e429A978093D2E937b782f64E7B7",
			"source": "PynthUtil",
			"link": "https://polygonscan.com/address/0x0BCcaEFAde18e429A978093D2E937b782f64E7B7",
			"timestamp": "2021-07-04T15:49:45.000Z",
			"txn": "https://polygonscan.com/tx/0x2238761f089128f86608057f731fc17ce8f7dcdbfb39ca2b5624c49c74008550",
			"network": "polygon"
		},
		"DappMaintenance": {
			"name": "DappMaintenance",
			"address": "0x0704D536B9DA0c85B0AF9BA73842ff5d978c79e1",
			"source": "DappMaintenance",
			"link": "https://polygonscan.com/address/0x0704D536B9DA0c85B0AF9BA73842ff5d978c79e1",
			"timestamp": "2021-07-04T15:49:49.000Z",
			"txn": "https://polygonscan.com/tx/0x9a60b31ee2e1ea9909c56b5cccf7baad35abbc150ff3b15dec6f7da8b71b0cdc",
			"network": "polygon"
		},
		"BinaryOptionMarketData": {
			"name": "BinaryOptionMarketData",
			"address": "0xf1880f6826d2843253d3bE12D57A641Ab169933e",
			"source": "BinaryOptionMarketData",
			"link": "https://polygonscan.com/address/0xf1880f6826d2843253d3bE12D57A641Ab169933e",
			"timestamp": "2021-07-04T15:49:55.856Z",
			"txn": "",
			"network": "polygon"
		},
		"CollateralManagerState": {
			"name": "CollateralManagerState",
			"address": "0x843E7773A4cb3295Ed7f155d066286c64F5461F0",
			"source": "CollateralManagerState",
			"link": "https://polygonscan.com/address/0x843E7773A4cb3295Ed7f155d066286c64F5461F0",
			"timestamp": "2021-07-04T15:50:25.000Z",
			"txn": "https://polygonscan.com/tx/0xfbe3a34ff53c9367cbb4841261a4290b9fbb56b23bbb8b69b9e58638c6735887",
			"network": "polygon"
		},
		"CollateralManager": {
			"name": "CollateralManager",
			"address": "0xc39C550C94E65740e02Ea2ee80Ec41E12Ad95ff7",
			"source": "CollateralManager",
			"link": "https://polygonscan.com/address/0xc39C550C94E65740e02Ea2ee80Ec41E12Ad95ff7",
			"timestamp": "2021-07-04T15:50:35.000Z",
			"txn": "https://polygonscan.com/tx/0x812f58741604e9666b9122e5c37d5d3b74fae566829e72760648ef1aea444945",
			"network": "polygon"
		},
		"CollateralStateEth": {
			"name": "CollateralStateEth",
			"address": "0x309f68fB3D924b4692C0b3624727005fcBB28ee6",
			"source": "CollateralState",
			"link": "https://polygonscan.com/address/0x309f68fB3D924b4692C0b3624727005fcBB28ee6",
			"timestamp": "2021-07-04T15:50:48.818Z",
			"txn": "",
			"network": "polygon"
		},
		"CollateralEth": {
			"name": "CollateralEth",
			"address": "0x30e60BBeE52b3FEC980fE4C251D9c0747E8eb289",
			"source": "CollateralEth",
			"link": "https://polygonscan.com/address/0x30e60BBeE52b3FEC980fE4C251D9c0747E8eb289",
			"timestamp": "2021-07-04T15:50:55.000Z",
			"txn": "https://polygonscan.com/tx/0x35f54e0f47e23c671c0206800418ab1711013d4d99100505fa1dec2b74320450",
			"network": "polygon"
		},
		"CollateralStateErc20": {
			"name": "CollateralStateErc20",
			"address": "0xaBC49411fa5852313533c674cacfeD1727B7b2CC",
			"source": "CollateralState",
			"link": "https://polygonscan.com/address/0xaBC49411fa5852313533c674cacfeD1727B7b2CC",
			"timestamp": "2021-07-04T15:51:07.000Z",
			"txn": "https://polygonscan.com/tx/0xbabb60a1ae31e3f1974aec982c8cfa261a4cf6b45c61e8408d112886141f0e23",
			"network": "polygon"
		},
		"CollateralErc20": {
			"name": "CollateralErc20",
			"address": "0x04ACF8cc25eB0547Aa777Eb07d1A6325a08AA0EC",
			"source": "CollateralErc20",
			"link": "https://polygonscan.com/address/0x04ACF8cc25eB0547Aa777Eb07d1A6325a08AA0EC",
			"timestamp": "2021-07-04T15:57:13.000Z",
			"txn": "https://polygonscan.com/tx/0x880155ee79eb67e17d7caaf0035086bb375299036a876f922435f728cd14ade6",
			"network": "polygon"
		},
		"CollateralStateShort": {
			"name": "CollateralStateShort",
			"address": "0x87F87D2037035DA1eB41235C770019FDfDF76b9a",
			"source": "CollateralState",
			"link": "https://polygonscan.com/address/0x87F87D2037035DA1eB41235C770019FDfDF76b9a",
			"timestamp": "2021-07-04T15:57:26.631Z",
			"txn": "",
			"network": "polygon"
		},
		"CollateralShort": {
			"name": "CollateralShort",
			"address": "0x2Ed4000F7A041D2CBf45F4346d3EF6fD2416dd9B",
			"source": "CollateralShort",
			"link": "https://polygonscan.com/address/0x2Ed4000F7A041D2CBf45F4346d3EF6fD2416dd9B",
			"timestamp": "2021-07-04T15:57:31.000Z",
			"txn": "https://polygonscan.com/tx/0x559200d8504d0897dd7c5fab41cb79c5d8c8df27bb7ead3ab4bdd5703c221457",
			"network": "polygon"
		},
		"BlacklistManager": {
			"name": "BlacklistManager",
			"address": "0x40757D827022E37ef1fBB7E24dcb325104be1621",
			"source": "BlacklistManager",
			"link": "https://polygonscan.com/address/0x40757D827022E37ef1fBB7E24dcb325104be1621",
			"timestamp": "2021-08-02T10:10:55.000Z",
			"txn": "https://polygonscan.com/tx/0x79a39b58996c6fd52791f04374b777a832943bccedcc1b5a61c9469d18ba7c6b",
			"network": "polygon"
		},
		"StakingState": {
			"name": "StakingState",
			"address": "0xE30420761AB427044e45b681795f4248060C7909",
			"source": "StakingState",
			"link": "https://polygonscan.com/address/0xE30420761AB427044e45b681795f4248060C7909",
			"timestamp": "2021-08-02T10:12:23.000Z",
			"txn": "https://polygonscan.com/tx/0xde033fe9517e8698066a16d3334126ecbad9e4e59345c4a63eda99669051ef80",
			"network": "polygon"
		},
		"ExternalTokenStakeManager": {
			"name": "ExternalTokenStakeManager",
			"address": "0xDFd6ad1EbB1f44d8C014b3B793F723B5DFE6830f",
			"source": "ExternalTokenStakeManager",
			"link": "https://polygonscan.com/address/0xDFd6ad1EbB1f44d8C014b3B793F723B5DFE6830f",
			"timestamp": "2024-04-21T13:50:24.000Z",
			"txn": "https://polygonscan.com/tx/0xa35916ea813b93a4881457d61cc2a808b42385cb1c5d20299545f293c8c84199",
			"network": "polygon"
		},
		"StakingRewardsPeriMaticQuickSwap": {
			"name": "StakingRewardsPeriMaticQuickSwap",
			"address": "0xeFf7642144991B11DedD4c0a7e353386952fe9A5",
			"source": "StakingRewards",
			"link": "https://polygonscan.com/address/0xeFf7642144991B11DedD4c0a7e353386952fe9A5",
			"timestamp": "2021-08-02T14:38:45.000Z",
			"txn": "https://polygonscan.com/tx/0xd330e30d530485ad23c440e980700095bd374b3a596d4fde121b72ffeb25be51",
			"network": "polygon"
		},
		"BridgeState": {
			"name": "BridgeState",
			"address": "0x1B2635BEF448C611e1211677afe72ebfe6e51193",
			"source": "BridgeState",
			"link": "https://polygonscan.com/address/0x1B2635BEF448C611e1211677afe72ebfe6e51193",
			"timestamp": "2022-04-25T08:07:52.000Z",
			"txn": "https://polygonscan.com/tx/0x95d1baa08878e7aa043d73dc11c6020db2a05c27a8afd66af7a8b21002da4a0a",
			"network": "polygon"
		},
		"BridgeStatepUSD": {
			"name": "BridgeStatepUSD",
			"address": "0x472197da1AE823A3e68b717811962C18d252d204",
			"source": "BridgeState",
			"link": "https://polygonscan.com/address/0x472197da1AE823A3e68b717811962C18d252d204",
			"timestamp": "2022-04-25T08:27:39.000Z",
			"txn": "https://polygonscan.com/tx/0x4886000f8ab9d1b4ef078e06c6d18641ea0f07cdd36b08198dfcc1f3912a3051",
			"network": "polygon"
		},
		"CrossChainState": {
			"name": "CrossChainState",
			"address": "0xB9Da1c78484F5FEa758AC5371126D939Caa6478c",
			"source": "CrossChainState",
			"link": "https://polygonscan.com/address/0xB9Da1c78484F5FEa758AC5371126D939Caa6478c",
			"timestamp": "2024-04-21T03:42:39.000Z",
			"txn": "https://polygonscan.com/tx/0x7bada9806dd0bf3e8d1d2817bd2baed5dba0c52b09f13a1a6e4e224d5d2e52e6",
			"network": "polygon"
		},
		"CrossChainManager": {
			"name": "CrossChainManager",
			"address": "0x98A173A7E683973227f86039E4e0cbC856D372c3",
			"source": "CrossChainManager",
			"link": "https://polygonscan.com/address/0x98A173A7E683973227f86039E4e0cbC856D372c3",
			"timestamp": "2024-04-21T03:42:47.000Z",
			"txn": "https://polygonscan.com/tx/0x3ce2839f2a60669ab3aa94d9bc7b244259d708b004beee8acd3051d7f783d338",
			"network": "polygon"
		},
		"TokenStatepBTC": {
			"name": "TokenStatepBTC",
			"address": "0xE3F2537C139C0d058a8654c738685326B876301e",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xE3F2537C139C0d058a8654c738685326B876301e",
			"timestamp": "2023-11-19T12:48:09.000Z",
			"txn": "https://polygonscan.com/tx/0xec459f417f1e480c4d4a4c4f8a71f78f481e964e025f5fc4be9fa2349d07c42c",
			"network": "polygon"
		},
		"ProxyERC20pBTC": {
			"name": "ProxyERC20pBTC",
			"address": "0x2d4Ae3BC90D6E627266Aa3d35c1bccd7ee998201",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x2d4Ae3BC90D6E627266Aa3d35c1bccd7ee998201",
			"timestamp": "2023-11-19T12:48:15.000Z",
			"txn": "https://polygonscan.com/tx/0xf530bd9f3b3e1733e2405809f06a79e1ec641c6d1e1da81d38b7c377e984df40",
			"network": "polygon"
		},
		"PynthpBTC": {
			"name": "PynthpBTC",
			"address": "0x37EE2018a1dE2cB3081fa7B8E36bEA6B6afc6c4C",
			"source": "MultiCollateralPynth",
			"link": "https://polygonscan.com/address/0x37EE2018a1dE2cB3081fa7B8E36bEA6B6afc6c4C",
			"timestamp": "2023-11-19T12:48:21.000Z",
			"txn": "https://polygonscan.com/tx/0x3bc8903aa5b0f8e430725def1adec73d67b3f61becb01b4a8e72ce4bb5ab8c5e",
			"network": "polygon"
		},
		"TokenStatepETH": {
			"name": "TokenStatepETH",
			"address": "0x59975be68E87138094365B7043A1dC64BA4129EA",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x59975be68E87138094365B7043A1dC64BA4129EA",
			"timestamp": "2023-11-19T12:48:41.039Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pETH": {
			"name": "ProxyERC20pETH",
			"address": "0xb6B87d400ED27EEc3fe7D796AbC36658D775Ad85",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xb6B87d400ED27EEc3fe7D796AbC36658D775Ad85",
			"timestamp": "2023-11-19T13:12:58.034Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpETH": {
			"name": "PynthpETH",
			"address": "0x5687Fa980F968684cd756D5dF0a62a634EFcAec3",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x5687Fa980F968684cd756D5dF0a62a634EFcAec3",
			"timestamp": "2023-11-19T13:13:01.000Z",
			"txn": "https://polygonscan.com/tx/0xf2455c70a6bfd189e13c19b16f185ec71f7d5a252cf6931b2bb42d12f784d312",
			"network": "polygon"
		},
		"TokenStatepBNB": {
			"name": "TokenStatepBNB",
			"address": "0xF7BC6eC93BCd79c78CDFDe84bdBe1Ca31f449535",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xF7BC6eC93BCd79c78CDFDe84bdBe1Ca31f449535",
			"timestamp": "2023-11-19T13:32:17.040Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pBNB": {
			"name": "ProxyERC20pBNB",
			"address": "0x5b44D511B0E6fd0182642058AD9C4F99f27B940E",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x5b44D511B0E6fd0182642058AD9C4F99f27B940E",
			"timestamp": "2023-11-19T13:32:25.414Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpBNB": {
			"name": "PynthpBNB",
			"address": "0xE2c75130E10eA5A3C618eAcA2177772963B2A9cE",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xE2c75130E10eA5A3C618eAcA2177772963B2A9cE",
			"timestamp": "2023-11-19T13:32:32.800Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepAVAX": {
			"name": "TokenStatepAVAX",
			"address": "0xDCff5d5fC6c968D90B52B17322E00c9791E10F63",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xDCff5d5fC6c968D90B52B17322E00c9791E10F63",
			"timestamp": "2023-11-19T13:32:51.233Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pAVAX": {
			"name": "ProxyERC20pAVAX",
			"address": "0xb9740b8BD4f996D26dDABF5696453A7Cd2b67F38",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xb9740b8BD4f996D26dDABF5696453A7Cd2b67F38",
			"timestamp": "2023-11-19T13:32:57.593Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpAVAX": {
			"name": "PynthpAVAX",
			"address": "0x33B3Fb81C2a9cC5903C67F4Ec8aF88f961d48F8C",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x33B3Fb81C2a9cC5903C67F4Ec8aF88f961d48F8C",
			"timestamp": "2023-11-19T13:33:02.959Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepUNI": {
			"name": "TokenStatepUNI",
			"address": "0xE08f9DE0A3086d0f0E6dD9334e0fA93955F64Afa",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xE08f9DE0A3086d0f0E6dD9334e0fA93955F64Afa",
			"timestamp": "2023-11-19T13:33:19.167Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pUNI": {
			"name": "ProxyERC20pUNI",
			"address": "0xf23d4A7570C1f62488712d480dd6540F134945fC",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xf23d4A7570C1f62488712d480dd6540F134945fC",
			"timestamp": "2023-11-19T13:33:25.367Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpUNI": {
			"name": "PynthpUNI",
			"address": "0x1410232232FaD23ff40FB248407E45d2A4c96746",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x1410232232FaD23ff40FB248407E45d2A4c96746",
			"timestamp": "2023-11-19T13:33:31.689Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepMKR": {
			"name": "TokenStatepMKR",
			"address": "0x4e125a112B4059fd896e33FB21bF8d81f0586108",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x4e125a112B4059fd896e33FB21bF8d81f0586108",
			"timestamp": "2023-11-19T13:33:49.202Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pMKR": {
			"name": "ProxyERC20pMKR",
			"address": "0xb5D3064595D5BDCeB2a9f87CEAeE5Ca1986089cf",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xb5D3064595D5BDCeB2a9f87CEAeE5Ca1986089cf",
			"timestamp": "2023-11-19T13:33:55.551Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpMKR": {
			"name": "PynthpMKR",
			"address": "0xB284699F47Eb3dfc93693c7E08279A65a908BC05",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xB284699F47Eb3dfc93693c7E08279A65a908BC05",
			"timestamp": "2023-11-19T13:34:01.812Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepAAVE": {
			"name": "TokenStatepAAVE",
			"address": "0x027b717b277D792ac7D0A922F01f8225087Ab008",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x027b717b277D792ac7D0A922F01f8225087Ab008",
			"timestamp": "2023-11-19T13:34:51.885Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pAAVE": {
			"name": "ProxyERC20pAAVE",
			"address": "0x2af8e54D17f4cb9C687252E3CdBEEeD959395be3",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x2af8e54D17f4cb9C687252E3CdBEEeD959395be3",
			"timestamp": "2023-11-19T13:34:56.149Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpAAVE": {
			"name": "PynthpAAVE",
			"address": "0x0c348964066b671e7ACF4f37D886115fE475bFCd",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x0c348964066b671e7ACF4f37D886115fE475bFCd",
			"timestamp": "2023-11-19T13:35:02.623Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepCOMP": {
			"name": "TokenStatepCOMP",
			"address": "0xE87515d118673aA41D54b09cb695527810673AB2",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xE87515d118673aA41D54b09cb695527810673AB2",
			"timestamp": "2023-11-19T13:35:17.986Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pCOMP": {
			"name": "ProxyERC20pCOMP",
			"address": "0xC216f52B3bc6265aeD6d18b7d4d30643797051A9",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xC216f52B3bc6265aeD6d18b7d4d30643797051A9",
			"timestamp": "2023-11-19T13:35:22.282Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpCOMP": {
			"name": "PynthpCOMP",
			"address": "0xb66Ac4150e9b68AaEeEC52C5d195282270f6b221",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xb66Ac4150e9b68AaEeEC52C5d195282270f6b221",
			"timestamp": "2023-11-19T13:35:28.634Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepSUSHI": {
			"name": "TokenStatepSUSHI",
			"address": "0xB06db9136A12530E5fe91b9E71b0835BC24c481e",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xB06db9136A12530E5fe91b9E71b0835BC24c481e",
			"timestamp": "2023-11-19T13:35:46.037Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pSUSHI": {
			"name": "ProxyERC20pSUSHI",
			"address": "0xF4eF07E9E2A2dd35B7ff0048772eA1FA97c4C6c7",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xF4eF07E9E2A2dd35B7ff0048772eA1FA97c4C6c7",
			"timestamp": "2023-11-19T13:35:50.440Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpSUSHI": {
			"name": "PynthpSUSHI",
			"address": "0x08ffa9B2B821d03e5983D6a519fdb3ad286243Ca",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x08ffa9B2B821d03e5983D6a519fdb3ad286243Ca",
			"timestamp": "2023-11-19T13:35:53.711Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepSNX": {
			"name": "TokenStatepSNX",
			"address": "0xd22945328a8d8ab206b110cC777e7cc4E3A82b67",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xd22945328a8d8ab206b110cC777e7cc4E3A82b67",
			"timestamp": "2023-11-19T13:36:12.151Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pSNX": {
			"name": "ProxyERC20pSNX",
			"address": "0x5f533cC501a8193C161f188A115712D1aAe653da",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x5f533cC501a8193C161f188A115712D1aAe653da",
			"timestamp": "2023-11-19T13:36:19.383Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpSNX": {
			"name": "PynthpSNX",
			"address": "0xD44f8bB4E3dC4dB7d9b1835872A66fa5caAbd4E8",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xD44f8bB4E3dC4dB7d9b1835872A66fa5caAbd4E8",
			"timestamp": "2023-11-19T13:36:24.635Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepCRV": {
			"name": "TokenStatepCRV",
			"address": "0xc1af7E4bB98965d5622A936935261D86fDfA4468",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xc1af7E4bB98965d5622A936935261D86fDfA4468",
			"timestamp": "2023-11-19T13:38:06.842Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pCRV": {
			"name": "ProxyERC20pCRV",
			"address": "0xb01b117FaE95B4848B2E63dDa06f72826C4aCE5D",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xb01b117FaE95B4848B2E63dDa06f72826C4aCE5D",
			"timestamp": "2023-11-19T13:38:12.371Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpCRV": {
			"name": "PynthpCRV",
			"address": "0x48A7aB01BB8D0847bB5D2a391b84f751668b12d0",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x48A7aB01BB8D0847bB5D2a391b84f751668b12d0",
			"timestamp": "2023-11-19T13:38:18.925Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepYFI": {
			"name": "TokenStatepYFI",
			"address": "0x496346b55a7b9D1c9dD0BBEb5287137eE2bd4b56",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x496346b55a7b9D1c9dD0BBEb5287137eE2bd4b56",
			"timestamp": "2023-11-19T13:40:43.641Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pYFI": {
			"name": "ProxyERC20pYFI",
			"address": "0x40E617348944Cc6811A4C8C5B8C5C1a96B926FF4",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x40E617348944Cc6811A4C8C5B8C5C1a96B926FF4",
			"timestamp": "2023-11-19T13:40:52.014Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpYFI": {
			"name": "PynthpYFI",
			"address": "0x6D4ED9b8D1Fe8e9F4437eDDBA6c86a1304F90f89",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x6D4ED9b8D1Fe8e9F4437eDDBA6c86a1304F90f89",
			"timestamp": "2023-11-19T13:41:02.267Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatep1INCH": {
			"name": "TokenStatep1INCH",
			"address": "0x2801696745823492A9E1d3D6B6835b5216Af6D58",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x2801696745823492A9E1d3D6B6835b5216Af6D58",
			"timestamp": "2023-11-19T13:41:16.510Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20p1INCH": {
			"name": "ProxyERC20p1INCH",
			"address": "0x9a70dA89b6898E1171f5a9aA5aA8D82E2814B0fe",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x9a70dA89b6898E1171f5a9aA5aA8D82E2814B0fe",
			"timestamp": "2023-11-19T14:00:27.785Z",
			"txn": "",
			"network": "polygon"
		},
		"Pynthp1INCH": {
			"name": "Pynthp1INCH",
			"address": "0xCEd7a239fd128A17B709c5FAECd7614cf7D984fA",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xCEd7a239fd128A17B709c5FAECd7614cf7D984fA",
			"timestamp": "2023-11-19T14:00:33.213Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepLINK": {
			"name": "TokenStatepLINK",
			"address": "0xB1fe493f97ce9205A7FA49E2c9D67d4cf80D47aB",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xB1fe493f97ce9205A7FA49E2c9D67d4cf80D47aB",
			"timestamp": "2023-11-19T14:08:38.429Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pLINK": {
			"name": "ProxyERC20pLINK",
			"address": "0xC3245A0d0c2289C3879CBADC8eD45cc49800cdf3",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xC3245A0d0c2289C3879CBADC8eD45cc49800cdf3",
			"timestamp": "2023-11-19T14:08:43.705Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpLINK": {
			"name": "PynthpLINK",
			"address": "0xCc0A54caFe778ed20D92e6c82f7De6813618761C",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xCc0A54caFe778ed20D92e6c82f7De6813618761C",
			"timestamp": "2023-11-19T14:08:50.937Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepDOT": {
			"name": "TokenStatepDOT",
			"address": "0xDe9324D88a171BF001D1bB073141aD9E5DaD45A7",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xDe9324D88a171BF001D1bB073141aD9E5DaD45A7",
			"timestamp": "2023-11-19T14:09:08.232Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pDOT": {
			"name": "ProxyERC20pDOT",
			"address": "0x1b0A0d114c362BbB65ffeE8595fff0714176d7eC",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x1b0A0d114c362BbB65ffeE8595fff0714176d7eC",
			"timestamp": "2023-11-19T14:09:50.619Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpDOT": {
			"name": "PynthpDOT",
			"address": "0x8F23846886eB7C3bAb5da516BE8696CF3eb4e15C",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x8F23846886eB7C3bAb5da516BE8696CF3eb4e15C",
			"timestamp": "2023-11-19T14:09:55.895Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepXRP": {
			"name": "TokenStatepXRP",
			"address": "0xAC1EF7F56491B1Ae1bE51c45ed43a9992CeeD67f",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xAC1EF7F56491B1Ae1bE51c45ed43a9992CeeD67f",
			"timestamp": "2023-11-19T14:10:12.534Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pXRP": {
			"name": "ProxyERC20pXRP",
			"address": "0x62a700Ec1Bc2F77a48d6B0129fae868a0B355013",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x62a700Ec1Bc2F77a48d6B0129fae868a0B355013",
			"timestamp": "2023-11-19T14:10:18.032Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpXRP": {
			"name": "PynthpXRP",
			"address": "0x845324B5612B756032acDFA1bD261c21408E7F82",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x845324B5612B756032acDFA1bD261c21408E7F82",
			"timestamp": "2023-11-19T14:10:22.370Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepAXS": {
			"name": "TokenStatepAXS",
			"address": "0x9eC282BBf28FeE4ED44c17bced0118fE66EeB199",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x9eC282BBf28FeE4ED44c17bced0118fE66EeB199",
			"timestamp": "2023-11-19T14:10:41.871Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pAXS": {
			"name": "ProxyERC20pAXS",
			"address": "0x176e6486Eb3f66F0498259e4C9f1E92A53c2B131",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x176e6486Eb3f66F0498259e4C9f1E92A53c2B131",
			"timestamp": "2023-11-19T14:10:47.095Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpAXS": {
			"name": "PynthpAXS",
			"address": "0x8b860D6A747c74b0130135297d6A1B8027ad4DF9",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x8b860D6A747c74b0130135297d6A1B8027ad4DF9",
			"timestamp": "2023-11-19T14:10:50.388Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepEUR": {
			"name": "TokenStatepEUR",
			"address": "0x20f30842E793ecF7C009EF58A27fc0b6baCd4e79",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x20f30842E793ecF7C009EF58A27fc0b6baCd4e79",
			"timestamp": "2023-11-19T14:12:39.100Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pEUR": {
			"name": "ProxyERC20pEUR",
			"address": "0xFbA3Ff8aFe745923B9496cc4460D82EBfe34Bef6",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xFbA3Ff8aFe745923B9496cc4460D82EBfe34Bef6",
			"timestamp": "2023-11-19T14:12:46.432Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpEUR": {
			"name": "PynthpEUR",
			"address": "0x20fBD0f600bFda5D0721Ddd805b08Ab358E60487",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x20fBD0f600bFda5D0721Ddd805b08Ab358E60487",
			"timestamp": "2023-11-19T14:12:51.700Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepSAND": {
			"name": "TokenStatepSAND",
			"address": "0x3AFfB0f3617b6B524b103eb732462b80B763C450",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x3AFfB0f3617b6B524b103eb732462b80B763C450",
			"timestamp": "2023-11-19T14:14:16.425Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pSAND": {
			"name": "ProxyERC20pSAND",
			"address": "0xaEE9A331C42C747333530BCD5bF1db8C500e72F2",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xaEE9A331C42C747333530BCD5bF1db8C500e72F2",
			"timestamp": "2023-11-19T14:14:20.620Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpSAND": {
			"name": "PynthpSAND",
			"address": "0x586C160aC62831ddD1f5e49070A20Ec9b5eEC2C5",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x586C160aC62831ddD1f5e49070A20Ec9b5eEC2C5",
			"timestamp": "2023-11-19T14:14:28.941Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepMANA": {
			"name": "TokenStatepMANA",
			"address": "0x4844754b5E43b365BF262043f697b8A86B50aB1C",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x4844754b5E43b365BF262043f697b8A86B50aB1C",
			"timestamp": "2023-11-19T14:14:46.560Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pMANA": {
			"name": "ProxyERC20pMANA",
			"address": "0x43883ffDb3d1835B75c4C3cdF26DE9B23a6B7C61",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x43883ffDb3d1835B75c4C3cdF26DE9B23a6B7C61",
			"timestamp": "2023-11-19T14:14:51.708Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpMANA": {
			"name": "PynthpMANA",
			"address": "0x291717289CebA5F13c90841eC11f247cb43262Bf",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x291717289CebA5F13c90841eC11f247cb43262Bf",
			"timestamp": "2023-11-19T14:14:55.971Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepSOL": {
			"name": "TokenStatepSOL",
			"address": "0x05A660e8419dB32A36831D0bA27E60220113A65a",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x05A660e8419dB32A36831D0bA27E60220113A65a",
			"timestamp": "2023-11-19T14:15:14.306Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pSOL": {
			"name": "ProxyERC20pSOL",
			"address": "0x2Cbf9d377b7540842A0DE09eEf4a1dd6A7577173",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x2Cbf9d377b7540842A0DE09eEf4a1dd6A7577173",
			"timestamp": "2023-11-19T14:15:20.451Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpSOL": {
			"name": "PynthpSOL",
			"address": "0x41709Ea05a75c85eDEF88a3A346dDc49715aFd96",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x41709Ea05a75c85eDEF88a3A346dDc49715aFd96",
			"timestamp": "2023-11-19T14:15:25.653Z",
			"txn": "",
			"network": "polygon"
		},
		"VirtualPynthIssuer": {
			"name": "VirtualPynthIssuer",
			"address": "0xc54b0CAB3603A5A4d621C8cE4eE33a5F39B6a6d9",
			"source": "VirtualPynthIssuer",
			"link": "https://polygonscan.com/address/0xc54b0CAB3603A5A4d621C8cE4eE33a5F39B6a6d9",
			"timestamp": "2024-04-21T03:30:59.000Z",
			"txn": "https://polygonscan.com/tx/0x82838d83f16bc0c44b4e4a0fa465bf754ac581d61bfaed609186bcb5cfed4cf9",
			"network": "polygon"
		},
		"TokenStatepADA": {
			"name": "TokenStatepADA",
			"address": "0xdD01256ef1eD46eB5b966494E45923ab6B073954",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xdD01256ef1eD46eB5b966494E45923ab6B073954",
			"timestamp": "2024-04-21T03:32:25.000Z",
			"txn": "https://polygonscan.com/tx/0xc4be5d9b29d491e074191566f46f6547d55303bae5e482a3800cddc4641c86cd",
			"network": "polygon"
		},
		"ProxyERC20pADA": {
			"name": "ProxyERC20pADA",
			"address": "0xF69B88ef2A91686dE2a1bF0dd2099448Fc21D053",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xF69B88ef2A91686dE2a1bF0dd2099448Fc21D053",
			"timestamp": "2024-04-21T03:32:31.000Z",
			"txn": "https://polygonscan.com/tx/0xdf8e66080a1916e5b4fbced8e77e8d3838b58ef96a9de6dffa41d682436ebd7d",
			"network": "polygon"
		},
		"PynthpADA": {
			"name": "PynthpADA",
			"address": "0x1B4f8A9065c4b83369eAef99B4473e9d7307158C",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x1B4f8A9065c4b83369eAef99B4473e9d7307158C",
			"timestamp": "2024-04-21T03:32:37.000Z",
			"txn": "https://polygonscan.com/tx/0x1942eff363279eeb83ea771949b5366c827b2d16f79faac2295ca8dc1b629916",
			"network": "polygon"
		},
		"TokenStatepBCH": {
			"name": "TokenStatepBCH",
			"address": "0xC30e228dcC425160A64089544535e94eb895d7fe",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xC30e228dcC425160A64089544535e94eb895d7fe",
			"timestamp": "2024-04-21T03:32:58.255Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pBCH": {
			"name": "ProxyERC20pBCH",
			"address": "0x75C4C3ee1d06F46B8698493f4D56D93f2f3f186D",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x75C4C3ee1d06F46B8698493f4D56D93f2f3f186D",
			"timestamp": "2024-04-21T03:33:04.159Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpBCH": {
			"name": "PynthpBCH",
			"address": "0x1Fde7043f6ABD5828Af794Fa15B39A0197e19445",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x1Fde7043f6ABD5828Af794Fa15B39A0197e19445",
			"timestamp": "2024-04-21T03:33:10.164Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepDOGE": {
			"name": "TokenStatepDOGE",
			"address": "0x4B637F1830238E5F01867222550D238125d391D8",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x4B637F1830238E5F01867222550D238125d391D8",
			"timestamp": "2024-04-21T03:33:34.360Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pDOGE": {
			"name": "ProxyERC20pDOGE",
			"address": "0x05557E7339Edc776226477994625B8c2278418c1",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x05557E7339Edc776226477994625B8c2278418c1",
			"timestamp": "2024-04-21T03:33:40.285Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpDOGE": {
			"name": "PynthpDOGE",
			"address": "0x005D9c6A75Cddc7cb56b798EB2406f623af109D5",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x005D9c6A75Cddc7cb56b798EB2406f623af109D5",
			"timestamp": "2024-04-21T03:33:46.214Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepEOS": {
			"name": "TokenStatepEOS",
			"address": "0x96f1113B6624d049C3E905b2Df25d92209Af7373",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x96f1113B6624d049C3E905b2Df25d92209Af7373",
			"timestamp": "2024-04-21T03:34:04.113Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pEOS": {
			"name": "ProxyERC20pEOS",
			"address": "0x1Cd0637b9476F2C92E06CC01E505D5B4581C6969",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x1Cd0637b9476F2C92E06CC01E505D5B4581C6969",
			"timestamp": "2024-04-21T03:34:11.525Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpEOS": {
			"name": "PynthpEOS",
			"address": "0x72E305b423f5BA7F3C35e6F747E92eE64B4D8A85",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x72E305b423f5BA7F3C35e6F747E92eE64B4D8A85",
			"timestamp": "2024-04-21T03:34:19.051Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepFTM": {
			"name": "TokenStatepFTM",
			"address": "0x00C5FD491aaEF789662464B929c34D4047aC8205",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x00C5FD491aaEF789662464B929c34D4047aC8205",
			"timestamp": "2024-04-21T03:34:38.318Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pFTM": {
			"name": "ProxyERC20pFTM",
			"address": "0x2d7Fd92Ef0BcE338d0C18f43B423DCb457072C8a",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x2d7Fd92Ef0BcE338d0C18f43B423DCb457072C8a",
			"timestamp": "2024-04-21T03:34:44.292Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpFTM": {
			"name": "PynthpFTM",
			"address": "0xE77e9f8AAFE0C3725185645488723243f96106A8",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xE77e9f8AAFE0C3725185645488723243f96106A8",
			"timestamp": "2024-04-21T03:34:50.280Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepGRT": {
			"name": "TokenStatepGRT",
			"address": "0xbCec221c38Ca3dD35Ea96450ea4C8266D7462622",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xbCec221c38Ca3dD35Ea96450ea4C8266D7462622",
			"timestamp": "2024-04-21T03:35:10.175Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pGRT": {
			"name": "ProxyERC20pGRT",
			"address": "0x9147541d1B5860FbCc93554c8868711F7e3a6E2b",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x9147541d1B5860FbCc93554c8868711F7e3a6E2b",
			"timestamp": "2024-04-21T03:35:16.017Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpGRT": {
			"name": "PynthpGRT",
			"address": "0xa1C24B5dF589Acd8B01456c7708610194231c08B",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xa1C24B5dF589Acd8B01456c7708610194231c08B",
			"timestamp": "2024-04-21T03:35:21.974Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepICP": {
			"name": "TokenStatepICP",
			"address": "0xFb58e6fF29504251489880e49e1120bdF4aa51BD",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xFb58e6fF29504251489880e49e1120bdF4aa51BD",
			"timestamp": "2024-04-21T03:35:39.722Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pICP": {
			"name": "ProxyERC20pICP",
			"address": "0x243505349E008b8418e3Fd2A291223AD1A377C11",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x243505349E008b8418e3Fd2A291223AD1A377C11",
			"timestamp": "2024-04-21T03:35:46.623Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpICP": {
			"name": "PynthpICP",
			"address": "0xd893745B9Cd15564A75aE28BEf869007D16d802F",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xd893745B9Cd15564A75aE28BEf869007D16d802F",
			"timestamp": "2024-04-21T03:35:52.629Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepLTC": {
			"name": "TokenStatepLTC",
			"address": "0x4EF3090C4A8FEd294B04cE82DA0bCDd5464bBf23",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x4EF3090C4A8FEd294B04cE82DA0bCDd5464bBf23",
			"timestamp": "2024-04-21T03:36:12.900Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pLTC": {
			"name": "ProxyERC20pLTC",
			"address": "0xeB6310833d5E094FF62aE0c181dc4e84f4fFA0e9",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xeB6310833d5E094FF62aE0c181dc4e84f4fFA0e9",
			"timestamp": "2024-04-21T03:36:18.377Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpLTC": {
			"name": "PynthpLTC",
			"address": "0x0456b63Fc446682A0D4D54C9Cb335702D6400E5c",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x0456b63Fc446682A0D4D54C9Cb335702D6400E5c",
			"timestamp": "2024-04-21T03:36:24.356Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepMATIC": {
			"name": "TokenStatepMATIC",
			"address": "0xC2DBC7E6bcF36341470d1b95C52e29867dA0D181",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xC2DBC7E6bcF36341470d1b95C52e29867dA0D181",
			"timestamp": "2024-04-21T03:36:41.872Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pMATIC": {
			"name": "ProxyERC20pMATIC",
			"address": "0xF1D70842ef266A3648E945C4d587103A8a468Dfd",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xF1D70842ef266A3648E945C4d587103A8a468Dfd",
			"timestamp": "2024-04-21T03:36:48.849Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpMATIC": {
			"name": "PynthpMATIC",
			"address": "0xB6a8B37DA809b2a1C3Cd804100C7fB3343e8dC02",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xB6a8B37DA809b2a1C3Cd804100C7fB3343e8dC02",
			"timestamp": "2024-04-21T03:36:53.834Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepPAXG": {
			"name": "TokenStatepPAXG",
			"address": "0x5D3836aF005a6914C831e3087c0C96C0f071C949",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x5D3836aF005a6914C831e3087c0C96C0f071C949",
			"timestamp": "2024-04-21T03:37:27.131Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pPAXG": {
			"name": "ProxyERC20pPAXG",
			"address": "0x7BA4D6DA06695f7D471A40cDBf476b89C5DF7677",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x7BA4D6DA06695f7D471A40cDBf476b89C5DF7677",
			"timestamp": "2024-04-21T03:37:34.060Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpPAXG": {
			"name": "PynthpPAXG",
			"address": "0x7492230f232A14c7f1588Cde8016fea8f0281ce1",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x7492230f232A14c7f1588Cde8016fea8f0281ce1",
			"timestamp": "2024-04-21T03:37:40.569Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepXAU": {
			"name": "TokenStatepXAU",
			"address": "0xaABCA6D08738230618Dd4Fdb33b421049AF5e19f",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xaABCA6D08738230618Dd4Fdb33b421049AF5e19f",
			"timestamp": "2024-04-21T03:38:06.255Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pXAU": {
			"name": "ProxyERC20pXAU",
			"address": "0x93484588cf2345E4b2D788a80CCE0b1646971F30",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x93484588cf2345E4b2D788a80CCE0b1646971F30",
			"timestamp": "2024-04-21T03:38:12.246Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpXAU": {
			"name": "PynthpXAU",
			"address": "0x13f872abfA72c8b676f24c11b7F6Bb3fB4651AD7",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x13f872abfA72c8b676f24c11b7F6Bb3fB4651AD7",
			"timestamp": "2024-04-21T03:38:18.154Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepGBP": {
			"name": "TokenStatepGBP",
			"address": "0x421d62FC0Bb2F66DeB7dBccCdF695F3aCcCdBeb2",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x421d62FC0Bb2F66DeB7dBccCdF695F3aCcCdBeb2",
			"timestamp": "2024-04-21T03:38:36.027Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pGBP": {
			"name": "ProxyERC20pGBP",
			"address": "0x1BFC0F1Db566DaAF4138981a7fe489133C0a142C",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x1BFC0F1Db566DaAF4138981a7fe489133C0a142C",
			"timestamp": "2024-04-21T03:38:41.970Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpGBP": {
			"name": "PynthpGBP",
			"address": "0xe0dEA7c3603394aBDfd052703cF887DD355d53d6",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xe0dEA7c3603394aBDfd052703cF887DD355d53d6",
			"timestamp": "2024-04-21T03:38:48.137Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepJPY": {
			"name": "TokenStatepJPY",
			"address": "0x31936CEDDe51b2e5a647A7A26763a108E2b107F4",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x31936CEDDe51b2e5a647A7A26763a108E2b107F4",
			"timestamp": "2024-04-21T03:39:07.994Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pJPY": {
			"name": "ProxyERC20pJPY",
			"address": "0xA7EF86Af25bf68F927a28ca2Ba10A503B78c611a",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0xA7EF86Af25bf68F927a28ca2Ba10A503B78c611a",
			"timestamp": "2024-04-21T03:39:14.777Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpJPY": {
			"name": "PynthpJPY",
			"address": "0x5e9477345B8d00c515aA74C3c678ae49639392EB",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x5e9477345B8d00c515aA74C3c678ae49639392EB",
			"timestamp": "2024-04-21T03:39:20.676Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepCHF": {
			"name": "TokenStatepCHF",
			"address": "0xa083A3A19dC7FA95262ab0560b6051ff4F3f5e2F",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xa083A3A19dC7FA95262ab0560b6051ff4F3f5e2F",
			"timestamp": "2024-04-21T03:39:38.513Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pCHF": {
			"name": "ProxyERC20pCHF",
			"address": "0x187cE6E180fc6F2677237c541E94Dbb37A9ea987",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x187cE6E180fc6F2677237c541E94Dbb37A9ea987",
			"timestamp": "2024-04-21T03:39:44.469Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpCHF": {
			"name": "PynthpCHF",
			"address": "0xcc26C4cd4409e13Cf2bBAa430b3f084e9D403922",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xcc26C4cd4409e13Cf2bBAa430b3f084e9D403922",
			"timestamp": "2024-04-21T03:39:50.396Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepAUD": {
			"name": "TokenStatepAUD",
			"address": "0x54050E98665ae9097D359C82D6feFeFf3FDb8254",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x54050E98665ae9097D359C82D6feFeFf3FDb8254",
			"timestamp": "2024-04-21T03:40:10.135Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pAUD": {
			"name": "ProxyERC20pAUD",
			"address": "0x79F46a20dfC657Bdd35233A5faa5EeBaE4362778",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x79F46a20dfC657Bdd35233A5faa5EeBaE4362778",
			"timestamp": "2024-04-21T03:40:16.043Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpAUD": {
			"name": "PynthpAUD",
			"address": "0x6B416f5E115C06867E307C5c82e03380E420cD7f",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x6B416f5E115C06867E307C5c82e03380E420cD7f",
			"timestamp": "2024-04-21T03:40:21.981Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepNZD": {
			"name": "TokenStatepNZD",
			"address": "0x5c36b5A4245B0cD32DB34aC1de75A852E11bDac9",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x5c36b5A4245B0cD32DB34aC1de75A852E11bDac9",
			"timestamp": "2024-04-21T03:40:39.728Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pNZD": {
			"name": "ProxyERC20pNZD",
			"address": "0x8E00eFaE197cc5C772A7c3660925e6dBB641D138",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x8E00eFaE197cc5C772A7c3660925e6dBB641D138",
			"timestamp": "2024-04-21T03:40:46.548Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpNZD": {
			"name": "PynthpNZD",
			"address": "0x880b9aE0d7568d884615FdFE0f486C20A50B913a",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x880b9aE0d7568d884615FdFE0f486C20A50B913a",
			"timestamp": "2024-04-21T03:40:52.128Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepCAD": {
			"name": "TokenStatepCAD",
			"address": "0x19fE395F8034a645AE3f318168C72551900E4984",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0x19fE395F8034a645AE3f318168C72551900E4984",
			"timestamp": "2024-04-21T03:41:10.363Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pCAD": {
			"name": "ProxyERC20pCAD",
			"address": "0x937F02A991976ea26681ea8C4009657Fa000F1C5",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x937F02A991976ea26681ea8C4009657Fa000F1C5",
			"timestamp": "2024-04-21T03:41:18.404Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpCAD": {
			"name": "PynthpCAD",
			"address": "0xA7C66d3A3352E62ACe49047e692C2357017631Af",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xA7C66d3A3352E62ACe49047e692C2357017631Af",
			"timestamp": "2024-04-21T03:41:24.323Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepDPI": {
			"name": "TokenStatepDPI",
			"address": "0xA767085ef8d6731B39c9731b53969B7bA62F8678",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xA767085ef8d6731B39c9731b53969B7bA62F8678",
			"timestamp": "2024-04-21T03:41:42.295Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pDPI": {
			"name": "ProxyERC20pDPI",
			"address": "0x10f20453aA46C806211064EE81776d4554946c65",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x10f20453aA46C806211064EE81776d4554946c65",
			"timestamp": "2024-04-21T03:41:48.264Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpDPI": {
			"name": "PynthpDPI",
			"address": "0x2f785bcA26F0D6901794a3504E7Fee14bD8bf350",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0x2f785bcA26F0D6901794a3504E7Fee14bD8bf350",
			"timestamp": "2024-04-21T03:41:55.131Z",
			"txn": "",
			"network": "polygon"
		},
		"TokenStatepXAG": {
			"name": "TokenStatepXAG",
			"address": "0xddEFa7B6b231D1E10FC551908313dC33172fB5F6",
			"source": "TokenState",
			"link": "https://polygonscan.com/address/0xddEFa7B6b231D1E10FC551908313dC33172fB5F6",
			"timestamp": "2024-04-21T04:19:07.195Z",
			"txn": "",
			"network": "polygon"
		},
		"ProxyERC20pXAG": {
			"name": "ProxyERC20pXAG",
			"address": "0x2e1Bb6ac76485B57deC8fF474a179927E415d758",
			"source": "ProxyERC20",
			"link": "https://polygonscan.com/address/0x2e1Bb6ac76485B57deC8fF474a179927E415d758",
			"timestamp": "2024-04-21T04:19:14.631Z",
			"txn": "",
			"network": "polygon"
		},
		"PynthpXAG": {
			"name": "PynthpXAG",
			"address": "0xc1b59226855B92736CCe9808Ed476c979A7B4456",
			"source": "Pynth",
			"link": "https://polygonscan.com/address/0xc1b59226855B92736CCe9808Ed476c979A7B4456",
			"timestamp": "2024-04-21T04:19:20.712Z",
			"txn": "",
			"network": "polygon"
		}
	},
	"sources": {
		"SafeDecimalMath": {
			"bytecode": "61012d610026600b82828239805160001a60731461001957fe5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060655760003560e01c8063313ce56714606a578063864029e7146086578063907af6c014609e5780639d8e21771460a4578063d5e5e6e61460aa578063def4419d1460b0575b600080fd5b607060b6565b6040805160ff9092168252519081900360200190f35b608c60bb565b60408051918252519081900360200190f35b608c60cb565b608c60d7565b608c60e3565b607060f3565b601281565b6b033b2e3c9fd0803ce800000081565b670de0b6b3a764000090565b670de0b6b3a764000081565b6b033b2e3c9fd0803ce800000090565b601b8156fea265627a7a72315820d7f3502142580fd75b2632f81cf1700dca68da475ee49c13fb0acd93fabaa19964736f6c63430005100032",
			"abi": [
				{
					"constant": true,
					"inputs": [],
					"name": "PRECISE_UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x864029e7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "UNIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9d8e2177"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "highPrecisionDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdef4419d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "preciseUnit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0xd5e5e6e6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "unit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "pure",
					"type": "function",
					"signature": "0x907af6c0"
				}
			],
			"source": {
				"keccak256": "0x817b946de41f6d3ebd548a04b488602bbfbe9a2f79465cde010eac639c28cef8",
				"urls": [
					"bzz-raw://47409944bb20c0cce9a3b5811ece0a7a472a4e70c74d5c40aa7ea3e9021e7e00",
					"dweb:/ipfs/QmasQFw6WA222YBuJaSeQxQw2NWc6NjjyWkQLLVS76MXQN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SafeDecimalMath.sol": "SafeDecimalMath"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SafeDecimalMath.sol": {
						"keccak256": "0x817b946de41f6d3ebd548a04b488602bbfbe9a2f79465cde010eac639c28cef8",
						"urls": [
							"bzz-raw://47409944bb20c0cce9a3b5811ece0a7a472a4e70c74d5c40aa7ea3e9021e7e00",
							"dweb:/ipfs/QmasQFw6WA222YBuJaSeQxQw2NWc6NjjyWkQLLVS76MXQN"
						]
					}
				},
				"version": 1
			}
		},
		"Math": {
			"bytecode": "60556023600b82828239805160001a607314601657fe5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea265627a7a72315820426335e6b4f27cbf9e9d7aa8980d0154bef3e19bcf65ccd6253dd53d37219fa164736f6c63430005100032",
			"abi": [],
			"source": {
				"keccak256": "0x0d9ac5a5943d8355d39ce632e408b325608ef9ebd6648c8263cf2fa01155ca4a",
				"urls": [
					"bzz-raw://9613269c0ff1047beaa11964607995db14ef046d4143938cc13292fcc7b90a00",
					"dweb:/ipfs/QmYbx662Zvenjky9PQnm1T5Th1yTTEMtLcDjVYgFiLm6DD"
				]
			},
			"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": "0x0d9ac5a5943d8355d39ce632e408b325608ef9ebd6648c8263cf2fa01155ca4a",
						"urls": [
							"bzz-raw://9613269c0ff1047beaa11964607995db14ef046d4143938cc13292fcc7b90a00",
							"dweb:/ipfs/QmYbx662Zvenjky9PQnm1T5Th1yTTEMtLcDjVYgFiLm6DD"
						]
					}
				},
				"version": 1
			}
		},
		"AddressResolver": {
			"bytecode": "608060405234801561001057600080fd5b50604051610ab9380380610ab98339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506109bf806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba5097146101a257806382b4c11c146101aa5780638da5cb5b146101c75780639f42102f146101cf578063ab0b8f77146102a1578063dacb2d011461035f576100a9565b80631627540c146100ae578063187f7935146100d657806321f8a7211461010f57806353a47bb71461012c578063766f781514610134575b600080fd5b6100d4600480360360208110156100c457600080fd5b50356001600160a01b03166103d4565b005b6100f3600480360360208110156100ec57600080fd5b5035610430565b604080516001600160a01b039092168252519081900360200190f35b6100f36004803603602081101561012557600080fd5b503561044b565b6100f3610466565b6100d46004803603602081101561014a57600080fd5b810190602081018135600160201b81111561016457600080fd5b82018360208201111561017657600080fd5b803590602001918460208302840111600160201b8311171561019757600080fd5b509092509050610475565b6100d46104ff565b6100f3600480360360208110156101c057600080fd5b50356105bb565b6100f36106c3565b61028d600480360360408110156101e557600080fd5b810190602081018135600160201b8111156101ff57600080fd5b82018360208201111561021157600080fd5b803590602001918460208302840111600160201b8311171561023257600080fd5b919390929091602081019035600160201b81111561024f57600080fd5b82018360208201111561026157600080fd5b803590602001918460208302840111600160201b8311171561028257600080fd5b5090925090506106d2565b604080519115158252519081900360200190f35b6100d4600480360360408110156102b757600080fd5b810190602081018135600160201b8111156102d157600080fd5b8201836020820111156102e357600080fd5b803590602001918460208302840111600160201b8311171561030457600080fd5b919390929091602081019035600160201b81111561032157600080fd5b82018360208201111561033357600080fd5b803590602001918460208302840111600160201b8311171561035457600080fd5b50909250905061075b565b6100f36004803603604081101561037557600080fd5b81359190810190604081016020820135600160201b81111561039657600080fd5b8201836020820111156103a857600080fd5b803590602001918460018302840111600160201b831117156103c957600080fd5b509092509050610867565b6103dc6108db565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002602052600090815260409020546001600160a01b031681565b6000908152600260205260409020546001600160a01b031690565b6001546001600160a01b031681565b60005b818110156104fa5782828281811061048c57fe5b905060200201356001600160a01b03166001600160a01b031663741853606040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104d657600080fd5b505af11580156104ea573d6000803e3d6000fd5b5050600190920191506104789050565b505050565b6001546001600160a01b031633146105485760405162461bcd60e51b81526004018080602001828103825260358152602001806109276035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6524b9b9bab2b960d11b600090815260026020527f0651498423135bdecab48e2d306f14d560a72d49179b71410fd95b5d25ce349a546001600160a01b03168061064c576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f742066696e64204973737565722061646472657373000000000000604482015290519081900360640190fd5b806001600160a01b03166357ad4663846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561069057600080fd5b505afa1580156106a4573d6000803e3d6000fd5b505050506040513d60208110156106ba57600080fd5b50519392505050565b6000546001600160a01b031681565b6000805b8481101561074d578383828181106106ea57fe5b905060200201356001600160a01b03166001600160a01b03166002600088888581811061071357fe5b60209081029290920135835250810191909152604001600020546001600160a01b031614610745576000915050610753565b6001016106d6565b50600190505b949350505050565b6107636108db565b8281146107b7576040805162461bcd60e51b815260206004820152601860248201527f496e707574206c656e67746873206d757374206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156108605760008585838181106107d057fe5b90506020020135905060008484848181106107e757fe5b600085815260026020908152604091829020805493820295909501356001600160a01b03166001600160a01b03199093168317909455805186815293840182905280519194507fefe884cc7f82a6cf3cf68f64221519dcf96b5cae9048e1bb008ee32cd05aaa9193829003019150a150506001016107ba565b5050505050565b6000838152600260205260408120546001600160a01b03168383826108d05760405162461bcd60e51b815260206004820190815260248201839052908190604401848480828437600083820152604051601f909101601f19169092018290039550909350505050fd5b509095945050505050565b6000546001600160a01b031633146109245760405162461bcd60e51b815260040180806020018281038252602f81526020018061095c602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158208404420376a18d696fb15cc30fb1f27aeef47eb214c7fde30ed3a8fbcf13af2864736f6c63430005100032",
			"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": "0xb6d2e2e08012c4084a74b42d7607c7b300cf1fbd8d04559b7ba67a3a231d8ff0",
				"urls": [
					"bzz-raw://ee180540a32d7ac23cee4e7a5ccbfdb41e2145c6f531ed18b80d14d671cecb01",
					"dweb:/ipfs/QmXdis3ZkfTNJEfvj2voRr81n1TS2xq2gDrEJBXsK1K8ys"
				]
			},
			"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": "0xb6d2e2e08012c4084a74b42d7607c7b300cf1fbd8d04559b7ba67a3a231d8ff0",
						"urls": [
							"bzz-raw://ee180540a32d7ac23cee4e7a5ccbfdb41e2145c6f531ed18b80d14d671cecb01",
							"dweb:/ipfs/QmXdis3ZkfTNJEfvj2voRr81n1TS2xq2gDrEJBXsK1K8ys"
						]
					}
				},
				"version": 1
			}
		},
		"ReadProxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516104953803806104958339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505061039b806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80631627540c1461008657806353a47bb7146100ae578063776d1a01146100d257806379ba5097146100f85780638da5cb5b14610100578063d4b8399214610108575b36600080376000803660006002545afa3d6000803e80610081573d6000fd5b3d6000f35b6100ac6004803603602081101561009c57600080fd5b50356001600160a01b0316610110565b005b6100b661016c565b604080516001600160a01b039092168252519081900360200190f35b6100ac600480360360208110156100e857600080fd5b50356001600160a01b031661017b565b6100ac6101dd565b6100b6610299565b6100b66102a8565b6101186102b7565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6101836102b7565b600280546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e916020908290030190a150565b6001546001600160a01b031633146102265760405162461bcd60e51b81526004018080602001828103825260358152602001806103036035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6000546001600160a01b031633146103005760405162461bcd60e51b815260040180806020018281038252602f815260200180610338602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820b1e5b1832d3f36f88f81ecab36152bb00a8c3640bdadcd5ee45f6b31be53f27364736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0x1542835257ac239aaf1549f1faa3a3bcf939b304d18a5283b0b64242007323c5",
				"urls": [
					"bzz-raw://accaa9ce7d50b314cd0a44750ef5d9aaa4a69b0b62a7647642b3568f1d670389",
					"dweb:/ipfs/QmQiHghhtV99uPV9WzaMNhj9RzXf3BZ6hWLTYJCs1WNtJC"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ReadProxy.sol": "ReadProxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ReadProxy.sol": {
						"keccak256": "0x1542835257ac239aaf1549f1faa3a3bcf939b304d18a5283b0b64242007323c5",
						"urls": [
							"bzz-raw://accaa9ce7d50b314cd0a44750ef5d9aaa4a69b0b62a7647642b3568f1d670389",
							"dweb:/ipfs/QmQiHghhtV99uPV9WzaMNhj9RzXf3BZ6hWLTYJCs1WNtJC"
						]
					}
				},
				"version": 1
			}
		},
		"FlexibleStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516127833803806127838339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b031990921691909117905561271e806100656000396000f3fe608060405234801561001057600080fd5b50600436106101c35760003560e01c80638ca0adaf116100f9578063c89eb56211610097578063d994502d11610071578063d994502d146109c2578063f7833c5d146109f9578063f9c39d2f14610a1c578063fdfc4c1314610ae1576101c3565b8063c89eb562146108b7578063d658d2e91461097c578063d71a9b0114610999576101c3565b8063ab15985d116100d3578063ab15985d146106e5578063b67fa7ed146107aa578063c13a2b0c1461081f578063c4f610ed14610894576101c3565b80638ca0adaf1461062a5780638f6b95a31461069f5780639ee5955a146106c2576101c3565b806335ab2708116101665780634dca0978116101405780634dca0978146105345780635bda91e2146105665780636a59e495146105915780638408a5e5146105b5576101c3565b806335ab2708146104215780633bd6ad89146104445780633f28a6fc14610509576101c3565b80631625e3ef116101a25780631625e3ef1461037d57806318f662ed146103a05780631d5b277f146103c357806323257c2b146103ec576101c3565b80624b62d6146101c857806303cdc017146101f3578063142a391e146102b8575b600080fd5b6101f1600480360360608110156101de57600080fd5b5080359060208101359060400135610b04565b005b6101f16004803603606081101561020957600080fd5b81359190810190604081016020820135600160201b81111561022a57600080fd5b82018360208201111561023c57600080fd5b803590602001918460208302840111600160201b8311171561025d57600080fd5b919390929091602081019035600160201b81111561027a57600080fd5b82018360208201111561028c57600080fd5b803590602001918460208302840111600160201b831117156102ad57600080fd5b509092509050610bf4565b61032d600480360360408110156102ce57600080fd5b81359190810190604081016020820135600160201b8111156102ef57600080fd5b82018360208201111561030157600080fd5b803590602001918460208302840111600160201b8311171561032257600080fd5b509092509050610d60565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610369578181015183820152602001610351565b505050509050019250505060405180910390f35b6101f16004803603604081101561039357600080fd5b5080359060200135610e07565b6101f1600480360360408110156103b657600080fd5b5080359060200135610f7b565b6101f1600480360360608110156103d957600080fd5b50803590602081013590604001356110e4565b61040f6004803603604081101561040257600080fd5b50803590602001356111cd565b60408051918252519081900360200190f35b6101f16004803603604081101561043757600080fd5b50803590602001356111f4565b6101f16004803603606081101561045a57600080fd5b81359190810190604081016020820135600160201b81111561047b57600080fd5b82018360208201111561048d57600080fd5b803590602001918460208302840111600160201b831117156104ae57600080fd5b919390929091602081019035600160201b8111156104cb57600080fd5b8201836020820111156104dd57600080fd5b803590602001918460208302840111600160201b831117156104fe57600080fd5b50909250905061135d565b6101f16004803603606081101561051f57600080fd5b508035906020810135906040013515156114c8565b6101f16004803603606081101561054a57600080fd5b50803590602081013590604001356001600160a01b03166115b1565b6101f16004803603606081101561057c57600080fd5b5080359060208101359060400135151561169a565b61059961184c565b604080516001600160a01b039092168252519081900360200190f35b61032d600480360360408110156105cb57600080fd5b81359190810190604081016020820135600160201b8111156105ec57600080fd5b8201836020820111156105fe57600080fd5b803590602001918460208302840111600160201b8311171561061f57600080fd5b50909250905061185b565b61032d6004803603604081101561064057600080fd5b81359190810190604081016020820135600160201b81111561066157600080fd5b82018360208201111561067357600080fd5b803590602001918460208302840111600160201b8311171561069457600080fd5b5090925090506118f7565b6101f1600480360360408110156106b557600080fd5b50803590602001356119b3565b610599600480360360408110156106d857600080fd5b5080359060200135611b32565b6101f1600480360360608110156106fb57600080fd5b81359190810190604081016020820135600160201b81111561071c57600080fd5b82018360208201111561072e57600080fd5b803590602001918460208302840111600160201b8311171561074f57600080fd5b919390929091602081019035600160201b81111561076c57600080fd5b82018360208201111561077e57600080fd5b803590602001918460208302840111600160201b8311171561079f57600080fd5b509092509050611b62565b61032d600480360360408110156107c057600080fd5b81359190810190604081016020820135600160201b8111156107e157600080fd5b8201836020820111156107f357600080fd5b803590602001918460208302840111600160201b8311171561081457600080fd5b509092509050611cc4565b61032d6004803603604081101561083557600080fd5b81359190810190604081016020820135600160201b81111561085657600080fd5b82018360208201111561086857600080fd5b803590602001918460208302840111600160201b8311171561088957600080fd5b509092509050611d60565b61040f600480360360408110156108aa57600080fd5b5080359060200135611e0e565b6101f1600480360360608110156108cd57600080fd5b81359190810190604081016020820135600160201b8111156108ee57600080fd5b82018360208201111561090057600080fd5b803590602001918460208302840111600160201b8311171561092157600080fd5b919390929091602081019035600160201b81111561093e57600080fd5b82018360208201111561095057600080fd5b803590602001918460208302840111600160201b8311171561097157600080fd5b509092509050611e35565b61040f6004803603602081101561099257600080fd5b5035611f97565b6101f1600480360360608110156109af57600080fd5b5080359060208101359060400135611fa9565b6109e5600480360360408110156109d857600080fd5b5080359060200135612092565b604080519115158252519081900360200190f35b61040f60048036036040811015610a0f57600080fd5b50803590602001356120bc565b6101f160048036036060811015610a3257600080fd5b81359190810190604081016020820135600160201b811115610a5357600080fd5b820183602082011115610a6557600080fd5b803590602001918460208302840111600160201b83111715610a8657600080fd5b919390929091602081019035600160201b811115610aa357600080fd5b820183602082011115610ab557600080fd5b803590602001918460208302840111600160201b83111715610ad657600080fd5b5090925090506120e3565b6101f160048036036040811015610af757600080fd5b5080359060200135612247565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610b6d57600080fd5b505afa158015610b81573d6000803e3d6000fd5b505050506040513d6020811015610b9757600080fd5b505190506001600160a01b0381163314610be25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed8585856123b0565b5050505050565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610c5d57600080fd5b505afa158015610c71573d6000803e3d6000fd5b505050506040513d6020811015610c8757600080fd5b505190506001600160a01b0381163314610cd25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314610d14576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657610d4e88888884818110610d2f57fe5b90506020020135878785818110610d4257fe5b90506020020135612421565b600101610d17565b5050505050505050565b60608083839050604051908082528060200260200182016040528015610d90578160200160208202803883390190505b506000868152600160209081526040808320548352600390915281209192505b84811015610dfc57816000878784818110610dc757fe5b90506020020135815260200190815260200160002054838281518110610de957fe5b6020908102919091010152600101610db0565b509095945050505050565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610e7057600080fd5b505afa158015610e84573d6000803e3d6000fd5b505050506040513d6020811015610e9a57600080fd5b505190506001600160a01b0381163314610ee55760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526005825280832086845282529182902054825187815291820186905260ff168015158284015291517f321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c9181900360600190a15050506000918252600160209081526040808420548452600582528084209284529190529020805460ff19169055565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d602081101561100e57600080fd5b505190506001600160a01b03811633146110595760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526002825280832086845282529182902054825187815291820186905281830181905291517f8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d46629181900360600190a1505050600091825260016020908152604080842054845260028252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561114d57600080fd5b505afa158015611161573d6000803e3d6000fd5b505050506040513d602081101561117757600080fd5b505190506001600160a01b03811633146111c25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612421565b60009182526001602090815260408084205484526002825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d602081101561128757600080fd5b505190506001600160a01b03811633146112d25760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526006825280832086845282529182902054825187815291820186905281830181905291517f1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd939181900360600190a1505050600091825260016020908152604080842054845260068252808420928452919052812055565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156113c657600080fd5b505afa1580156113da573d6000803e3d6000fd5b505050506040513d60208110156113f057600080fd5b505190506001600160a01b038116331461143b5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b84831461147d576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d56576114c08888888481811061149857fe5b905060200201358787858181106114ab57fe5b905060200201356001600160a01b0316612492565b600101611480565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561153157600080fd5b505afa158015611545573d6000803e3d6000fd5b505050506040513d602081101561155b57600080fd5b505190506001600160a01b03811633146115a65760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561251b565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561161a57600080fd5b505afa15801561162e573d6000803e3d6000fd5b505050506040513d602081101561164457600080fd5b505190506001600160a01b038116331461168f5760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed858585612492565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561170357600080fd5b505afa158015611717573d6000803e3d6000fd5b505050506040513d602081101561172d57600080fd5b505190506001600160a01b03811633146117785760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000858152600160205260409020546117d8576040805162461bcd60e51b815260206004820152601d60248201527f43616e6e6f74206d69677261746520656d70747920636f6e7472616374000000604482015290519081900360640190fd5b600085815260016020526040808220548683529120558215611804576000858152600160205260408120555b60408051868152602081018690528415158183015290517fa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c9181900360600190a15050505050565b6000546001600160a01b031681565b6060808383905060405190808252806020026020018201604052801561188b578160200160208202803883390190505b506000868152600160209081526040808320548352600690915281209192505b84811015610dfc578160008787848181106118c257fe5b905060200201358152602001908152602001600020548382815181106118e457fe5b60209081029190910101526001016118ab565b60608083839050604051908082528060200260200182016040528015611927578160200160208202803883390190505b506000868152600160209081526040808320548352600490915281209192505b84811015610dfc5781600087878481811061195e57fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b031683828151811061199357fe5b6001600160a01b0390921660209283029190910190910152600101611947565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611a1c57600080fd5b505afa158015611a30573d6000803e3d6000fd5b505050506040513d6020811015611a4657600080fd5b505190506001600160a01b0381163314611a915760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b6000848152600160209081526040808320548352600482528083208684528252918290205482518781529182018690526001600160a01b031681830181905291517fec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf669181900360600190a1505050600091825260016020908152604080842054845260048252808420928452919052902080546001600160a01b0319169055565b6000918252600160209081526040808420548452600482528084209284529190529020546001600160a01b031690565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611bcb57600080fd5b505afa158015611bdf573d6000803e3d6000fd5b505050506040513d6020811015611bf557600080fd5b505190506001600160a01b0381163314611c405760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611c82576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611cbc88888884818110611c9d57fe5b90506020020135878785818110611cb057fe5b9050602002013561259a565b600101611c85565b60608083839050604051908082528060200260200182016040528015611cf4578160200160208202803883390190505b506000868152600160209081526040808320548352600290915281209192505b84811015610dfc57816000878784818110611d2b57fe5b90506020020135815260200190815260200160002054838281518110611d4d57fe5b6020908102919091010152600101611d14565b60608083839050604051908082528060200260200182016040528015611d90578160200160208202803883390190505b506000868152600160209081526040808320548352600590915281209192505b84811015610dfc57816000878784818110611dc757fe5b90506020020135815260200190815260200160002060009054906101000a900460ff16838281518110611df657fe5b91151560209283029190910190910152600101611db0565b60009182526001602090815260408084205484526003825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b158015611e9e57600080fd5b505afa158015611eb2573d6000803e3d6000fd5b505050506040513d6020811015611ec857600080fd5b505190506001600160a01b0381163314611f135760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314611f55576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d5657611f8f88888884818110611f7057fe5b90506020020135878785818110611f8357fe5b905060200201356123b0565b600101611f58565b60016020526000908152604090205481565b600080546040805163dacb2d0160e01b815260048101878152602482019283526028604483018190528895946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561201257600080fd5b505afa158015612026573d6000803e3d6000fd5b505050506040513d602081101561203c57600080fd5b505190506001600160a01b03811633146120875760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b610bed85858561259a565b60009182526001602090815260408084205484526005825280842092845291905290205460ff1690565b60009182526001602090815260408084205484526006825280842092845291905290205490565b600080546040805163dacb2d0160e01b815260048101898152602482019283526028604483018190528a95946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b15801561214c57600080fd5b505afa158015612160573d6000803e3d6000fd5b505050506040513d602081101561217657600080fd5b505190506001600160a01b03811633146121c15760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b848314612203576040805162461bcd60e51b815260206004820152601860248201526000805160206126ca833981519152604482015290519081900360640190fd5b60005b85811015610d565761223f8888888481811061221e57fe5b9050602002013587878581811061223157fe5b90506020020135151561251b565b600101612206565b600080546040805163dacb2d0160e01b815260048101868152602482019283526028604483018190528795946001600160a01b03169363dacb2d019387939260649091019061267482396040019250505060206040518083038186803b1580156122b057600080fd5b505afa1580156122c4573d6000803e3d6000fd5b505050506040513d60208110156122da57600080fd5b505190506001600160a01b03811633146123255760405162461bcd60e51b815260040180806020018281038252602e81526020018061269c602e913960400191505060405180910390fd5b60008481526001602090815260408083205483526003825280832086845282529182902054825187815291820186905281830181905291517f78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae9181900360600190a1505050600091825260016020908152604080842054845260038252808420928452919052812055565b80600660006123be8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a952809181900360600190a1505050565b806002600061242f8661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c99181900360600190a1505050565b80600460006124a08661260b565b815260208082019290925260409081016000908120868252835281902080546001600160a01b0319166001600160a01b0394851617905580518681529182018590529183168183015290517f524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365916060908290030190a1505050565b80600560006125298661260b565b8152602080820192909252604090810160009081208682528352819020805460ff19169315159390931790925581518581529081018490528215158183015290517f9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b916060908290030190a1505050565b80600360006125a88661260b565b815260208082019290925260409081016000908120868252835281902092909255815185815290810184905280820183905290517f0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c9181900360600190a1505050565b6000818152600160205260408120548061266d5750604080513360601b60208083019190915260348201859052436054808401919091528351808403909101815260749092018352815191810191909120600085815260019092529190208190555b9291505056fe43616e6e6f742066696e6420636f6e747261637420696e2041646472657373205265736f6c76657243616e206f6e6c7920626520696e766f6b65642062792074686520636f6e6669677572656420636f6e7472616374496e707574206c656e67746873206d757374206d617463680000000000000000a265627a7a72315820a6e34e21d97c353ac1afc9bdbbfdfae39a6b40c3cf1b83140cdb036dc2c0674e64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "KeyMigrated",
					"type": "event",
					"signature": "0xa3db9c909daa141b61562c797dae4dc4b3d7751686068c98111db87b2a8c374c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueDeletedAddress",
					"type": "event",
					"signature": "0xec1140277b8f20820dc76b92216489238a207d5f22c964099303820fbd2bdf66"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueDeletedBool",
					"type": "event",
					"signature": "0x321123223c2c7bffd7484ae8fb80c6eb45aa5537df0a621c47833ab9376a4a9c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueDeletedBytes32",
					"type": "event",
					"signature": "0x1f751825a531bf2a176e42d5cb792bb7228163cf53e36b033509ccbe869cfd93"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueDeletedInt",
					"type": "event",
					"signature": "0x78962c711b5655608c554689ba42e4890d9e5d3f590b99842612ad39cd7ae0ae"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueDeletedUInt",
					"type": "event",
					"signature": "0x8a6b612c1a1e056bc504f34fe56106a878fca2d1a50be35360d02ac39d4d4662"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "ValueSetAddress",
					"type": "event",
					"signature": "0x524fb430ecbfd4606a947f9ae445dbf7c9703944cf928789b86f3a8aad639365"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "ValueSetBool",
					"type": "event",
					"signature": "0x9c94ad4cfff55907724cb65340f342d3897dd884e6cd3c2d3777087191d5eb7b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "ValueSetBytes32",
					"type": "event",
					"signature": "0x961abb018d8a303304c9f1ff1f306c7493a8b68b381bbe4e9a3abf9588a95280"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "ValueSetInt",
					"type": "event",
					"signature": "0x0d8877f604dfe262a8ac3904781814f022156c9341af779608a2ae0beef1906c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "ValueSetUInt",
					"type": "event",
					"signature": "0x60738523f766167cfd2310c61593dc795bc9d77de9276ed7e0c514df55e0a2c9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8f6b95a3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1625e3ef"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x35ab2708"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfdfc4c13"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x18f662ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ee5955a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getAddressValues",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ca0adaf"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBoolValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd994502d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBoolValues",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "",
							"type": "bool[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc13a2b0c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf7833c5d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getBytes32Values",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8408a5e5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc4f610ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getIntValues",
					"outputs": [
						{
							"internalType": "int256[]",
							"name": "",
							"type": "int256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x142a391e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23257c2b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						}
					],
					"name": "getUIntValues",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb67fa7ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "hashes",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd658d2e9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "fromContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "toContractName",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "removeAccessFromPreviousContract",
							"type": "bool"
						}
					],
					"name": "migrateContractKey",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5bda91e2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverProxy",
					"outputs": [
						{
							"internalType": "contract IAddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6a59e495"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4dca0978"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "values",
							"type": "address[]"
						}
					],
					"name": "setAddressValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3bd6ad89"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBoolValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f28a6fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bool[]",
							"name": "values",
							"type": "bool[]"
						}
					],
					"name": "setBoolValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf9c39d2f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x004b62d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "bytes32[]",
							"name": "values",
							"type": "bytes32[]"
						}
					],
					"name": "setBytes32Values",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc89eb562"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd71a9b01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "int256[]",
							"name": "values",
							"type": "int256[]"
						}
					],
					"name": "setIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xab15985d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d5b277f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "contractName",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32[]",
							"name": "records",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "values",
							"type": "uint256[]"
						}
					],
					"name": "setUIntValues",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x03cdc017"
				}
			],
			"source": {
				"keccak256": "0x80f3f43223f5bd3901d2671aba562e0c247125de61fa1d044512bacd31c2a6f5",
				"urls": [
					"bzz-raw://eeff8673e41e36abbe37714bd36dd55cab368d26b1b8f694a6bad735c8abf40a",
					"dweb:/ipfs/QmYYC3PZEa6yWo4fUxDGvxq6voLDtVGpMyr7wPU1Jbw6kY"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FlexibleStorage.sol": "FlexibleStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FlexibleStorage.sol": {
						"keccak256": "0x80f3f43223f5bd3901d2671aba562e0c247125de61fa1d044512bacd31c2a6f5",
						"urls": [
							"bzz-raw://eeff8673e41e36abbe37714bd36dd55cab368d26b1b8f694a6bad735c8abf40a",
							"dweb:/ipfs/QmYYC3PZEa6yWo4fUxDGvxq6voLDtVGpMyr7wPU1Jbw6kY"
						]
					}
				},
				"version": 1
			}
		},
		"SystemSettings": {
			"bytecode": "608060405234801561001057600080fd5b5060405162004006380380620040068339818101604052604081101561003557600080fd5b5080516020909101518080836001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050613edd80620001296000396000f3fe608060405234801561001057600080fd5b50600436106103eb5760003560e01c80637ce2cc7f1161021a578063b2ea705411610135578063d62ae399116100c8578063f1076b2511610097578063f344da671161007c578063f344da6714610a80578063fb1b4c7e14610a1d578063fc0d9f7b14610a88576103eb565b8063f1076b2514610a70578063f16fe2db14610a78576103eb565b8063d62ae399146109ab578063dc8f4a1b14610a25578063e0e6393d14610a4b578063e942204614610a53576103eb565b8063c1d20ca211610104578063c1d20ca2146109f0578063c58c9ae414610a0d578063c5cd121514610a15578063d2b376bc14610a1d576103eb565b8063b2ea705414610782578063b410a034146109c3578063bf9247f1146109cb578063c193f0d8146109e8576103eb565b8063967706e9116101ad578063a6ec40001161017c578063a6ec40001461098e578063add0989d146109ab578063af5355d8146109b3578063af8bc660146109bb576103eb565b8063967706e91461094457806396cec04514610961578063a0cf74511461097e578063a4ce5b7114610986576103eb565b8063899ffef4116101e9578063899ffef4146108bf5780638da5cb5b14610917578063946ce8cd1461091f578063962438031461093c576103eb565b80637ce2cc7f146107e5578063826098e8146107ed57806387c24d34146108af57806389257117146108b7576103eb565b8063372a395a1161030a5780636190dd7a1161029d578063741853601161026c578063741853601461079257806379ba50971461079a57806379cb657a146107a25780637bf82305146107bf576103eb565b80636190dd7a14610748578063635a387214610765578063657c6dc714610782578063680a17181461078a576103eb565b806353a47bb7116102d957806353a47bb71461065957806353e2cec614610661578063580a975c146107235780635e0117d61461072b576103eb565b8063372a395a146105685780634641ab66146105705780634987fcc21461058f5780634c36b83714610651576103eb565b80631e6e2190116103825780632806a743116103515780632806a743146104f55780632af64bd3146105125780632cce0e541461052e57806333c4e0861461054b576103eb565b80631e6e2190146104c057806322425fa4146104dd57806323f5589a146104e5578063242df9e1146104ed576103eb565b8063085f95cd116103be578063085f95cd146104825780630ee4951b1461048a5780631627540c146104925780631775765f146104b8576103eb565b8063038e47fe146103f057806304c49f2c1461042257806304f3bcec14610441578063054be0b714610465575b600080fd5b6104106004803603602081101561040657600080fd5b503560ff16610aa5565b60408051918252519081900360200190f35b61043f6004803603602081101561043857600080fd5b5035610ab8565b005b610449610c4d565b604080516001600160a01b039092168252519081900360200190f35b61043f6004803603602081101561047b57600080fd5b5035610c5c565b610410610d78565b610410610d84565b61043f600480360360208110156104a857600080fd5b50356001600160a01b0316610d94565b610410610dfd565b61043f600480360360208110156104d657600080fd5b5035610e07565b610410610eec565b610410610ef6565b610410610f00565b61043f6004803603602081101561050b57600080fd5b5035610f0a565b61051a611036565b604080519115158252519081900360200190f35b61043f6004803603602081101561054457600080fd5b5035611159565b61043f6004803603602081101561056157600080fd5b503561132a565b6104106113db565b61043f6004803603602081101561058657600080fd5b503515156113e5565b61043f600480360360408110156105a557600080fd5b8101906020810181356401000000008111156105c057600080fd5b8201836020820111156105d257600080fd5b803590602001918460208302840111640100000000831117156105f457600080fd5b91939092909160208101903564010000000081111561061257600080fd5b82018360208201111561062457600080fd5b8035906020019184602083028401116401000000008311171561064657600080fd5b5090925090506114e8565b61044961171d565b610449611727565b61043f6004803603604081101561067757600080fd5b81019060208101813564010000000081111561069257600080fd5b8201836020820111156106a457600080fd5b803590602001918460208302840111640100000000831117156106c657600080fd5b9193909290916020810190356401000000008111156106e457600080fd5b8201836020820111156106f657600080fd5b8035906020019184602083028401116401000000008311171561071857600080fd5b509092509050611736565b610410611a61565b61043f6004803603602081101561074157600080fd5b5035611a68565b61043f6004803603602081101561075e57600080fd5b5035611bfd565b61043f6004803603602081101561077b57600080fd5b5035611ce2565b610410611dc7565b610410611dd3565b61043f611ddd565b61043f611fcb565b61043f600480360360208110156107b857600080fd5b5035612094565b61043f600480360360208110156107d557600080fd5b50356001600160a01b0316612179565b6104106122de565b61043f6004803603604081101561080357600080fd5b81019060208101813564010000000081111561081e57600080fd5b82018360208201111561083057600080fd5b8035906020019184602083028401116401000000008311171561085257600080fd5b91939092909160208101903564010000000081111561087057600080fd5b82018360208201111561088257600080fd5b803590602001918460208302840111640100000000831117156108a457600080fd5b5090925090506122e5565b61041061251a565b610410612524565b6108c761252e565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156109035781810151838201526020016108eb565b505050509050019250505060405180910390f35b61044961258d565b61043f6004803603602081101561093557600080fd5b503561259c565b610410612725565b6104106004803603602081101561095a57600080fd5b503561272f565b6104106004803603602081101561097757600080fd5b503561273a565b610410612745565b61041061274f565b610410600480360360208110156109a457600080fd5b503561275b565b610410612766565b61041061276d565b610410612777565b61041061277c565b61043f600480360360208110156109e157600080fd5b5035612786565b61051a61281c565b61043f60048036036020811015610a0657600080fd5b5035612826565b610410612952565b610410612959565b610410612963565b61043f60048036036040811015610a3b57600080fd5b5060ff813516906020013561296f565b610410612abd565b61043f60048036036020811015610a6957600080fd5b5035612ac7565b610410612c04565b610410612c0b565b610410612c17565b61043f60048036036020811015610a9e57600080fd5b5035612c1e565b6000610ab082612d4a565b90505b919050565b610ac0612dea565b62015180811015610b18576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203c204d494e5f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b624f1a00811115610b70576040805162461bcd60e51b815260206004820152601f60248201527f76616c7565203e204d41585f4645455f504552494f445f4455524154494f4e00604482015290519081900360640190fd5b610b78612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f666565506572696f644475726174696f6e000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610bfe57600080fd5b505af1158015610c12573d6000803e3d6000fd5b50506040805184815290517f791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd9350908190036020019150a150565b6002546001600160a01b031681565b610c64612dea565b670de0b6b3a7640000811115610cab5760405162461bcd60e51b8152600401808060200182810382526033815260200180613dfa6033913960400191505060405180910390fd5b610cb3612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610d2957600080fd5b505af1158015610d3d573d6000803e3d6000fd5b50506040805184815290517f63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d8854529350908190036020019150a150565b6703782dace9d9000081565b6000610d8e612e60565b90505b90565b610d9c612dea565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000610d8e612f17565b610e0f612dea565b610e17612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f72000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610e9d57600080fd5b505af1158015610eb1573d6000803e3d6000fd5b50506040805184815290517f6e65c7d32a9129ebc4e4e6d755e2a9668753c046f4b128ac8aeb4f3e5446a1e59350908190036020019150a150565b6000610d8e612f9d565b6000610d8e613023565b6000610d8e6130a9565b610f12612dea565b6703782dace9d90000811115610f595760405162461bcd60e51b8152600401808060200182810382526021815260200180613d1c6021913960400191505060405180910390fd5b610f61612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6c69717569646174696f6e50656e616c74790000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015610fe757600080fd5b505af1158015610ffb573d6000803e3d6000fd5b50506040805184815290517fbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e99350908190036020019150a150565b6000606061104261252e565b905060005b815181101561115057600082828151811061105e57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156110df57600080fd5b505afa1580156110f3573d6000803e3d6000fd5b505050506040513d602081101561110957600080fd5b50516001600160a01b031614158061113657506000818152600360205260409020546001600160a01b0316155b156111475760009350505050610d91565b50600101611047565b50600191505090565b611161612dea565b60328111156111b7576040805162461bcd60e51b815260206004820152601260248201527f5468726573686f6c6420746f6f20686967680000000000000000000000000000604482015290519081900360640190fd5b600061124a606461123e73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561120557600080fd5b505af4158015611219573d6000803e3d6000fd5b505050506040513d602081101561122f57600080fd5b5051859063ffffffff61312f16565b9063ffffffff61319116565b9050611254612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f7461726765745468726573686f6c640000000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156112da57600080fd5b505af11580156112ee573d6000803e3d6000fd5b50506040805184815290517fb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab129350908190036020019150a15050565b611332612dea565b61133a612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6272696467655472616e73666572476173436f73740000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156113c057600080fd5b505af11580156113d4573d6000803e3d6000fd5b5050505050565b6000610d8e6131fb565b6113ed612dea565b6113f5612e35565b604080517f3f28a6fc0000000000000000000000000000000000000000000000000000000081526d53797374656d53657474696e677360901b60048201527f74726164696e6752657761726473456e61626c656400000000000000000000006024820152831515604482015290516001600160a01b039290921691633f28a6fc9160648082019260009290919082900301818387803b15801561149757600080fd5b505af11580156114ab573d6000803e3d6000fd5b505060408051841515815290517fe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd9350908190036020019150a150565b6114f0612dea565b828114611544576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156113d457670de0b6b3a764000083838381811061156457fe5b9050602002013511156115be576040805162461bcd60e51b815260206004820152601b60248201527f4d41585f49535355414e43455f524154494f2065786365656465640000000000604482015290519081900360640190fd5b6115c6612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6578546f6b656e49737375616e6365526174696f00000000000000000000000088888681811061161357fe5b9050602002013560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012086868681811061165357fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561169e57600080fd5b505af11580156116b2573d6000803e3d6000fd5b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e8585838181106116e357fe5b905060200201358484848181106116f657fe5b604080519485526020918202939093013590840152508051918290030190a1600101611547565b6000610d8e613281565b6001546001600160a01b031681565b61173e612dea565b828114611792576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156113d45761183c6118276117ab613023565b73__$097ed3f4c0ba5795cc943bc8e15177373c$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156117ef57600080fd5b505af4158015611803573d6000803e3d6000fd5b505050506040513d602081101561181957600080fd5b50519063ffffffff61330716565b670de0b6b3a76400009063ffffffff61336116565b83838381811061184857fe5b90506020020135111561188c5760405162461bcd60e51b8152600401808060200182810382526038815260200180613d726038913960400191505060405180910390fd5b60006118ae671bc16d674ec800006118a261337f565b9063ffffffff6133f516565b9050808484848181106118bd57fe5b9050602002013510156119015760405162461bcd60e51b8152600401808060200182810382526028815260200180613e2d6028913960400191505060405180910390fd5b611909612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f7300000000000000000000000000000089898781811061195657fe5b9050602002013560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012087878781811061199657fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156119e157600080fd5b505af11580156119f5573d6000803e3d6000fd5b505050507fc5af88786bd5ce36d4efede4608f8ce31b9e7cd7bb6d417f675f3a6a2ffbb4c5868684818110611a2657fe5b90506020020135858585818110611a3957fe5b604080519485526020918202939093013590840152508051918290030190a150600101611795565b62093a8081565b611a70612dea565b62278d00811115611ac8576040805162461bcd60e51b815260206004820152601960248201527f4d757374206265206c657373207468616e203330206461797300000000000000604482015290519081900360640190fd5b62015180811015611b20576040805162461bcd60e51b815260206004820152601a60248201527f4d7573742062652067726561746572207468616e203120646179000000000000604482015290519081900360640190fd5b611b28612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6c69717569646174696f6e44656c617900000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611bae57600080fd5b505af1158015611bc2573d6000803e3d6000fd5b50506040805184815290517f9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c53989350908190036020019150a150565b611c05612dea565b611c0d612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f64656274536e617073686f745374616c6554696d650000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611c9357600080fd5b505af1158015611ca7573d6000803e3d6000fd5b50506040805184815290517f9795be9f1478ed09e9e47e67318b8aa7a0c0213170403191099bf7dd435fb4d79350908190036020019150a150565b611cea612dea565b611cf2612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f77616974696e67506572696f6453656373000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015611d7857600080fd5b505af1158015611d8c573d6000803e3d6000fd5b50506040805184815290517fc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f89350908190036020019150a150565b670de0b6b3a764000081565b6000610d8e61341f565b6060611de761252e565b905060005b8151811015611fc7576000828281518110611e0357fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611ed2578181015183820152602001611eba565b50505050905090810190601f168015611eff5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611f1d57600080fd5b505afa158015611f31573d6000803e3d6000fd5b505050506040513d6020811015611f4757600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611dec565b5050565b6001546001600160a01b031633146120145760405162461bcd60e51b8152600401808060200182810382526035815260200180613d3d6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b61209c612dea565b6120a4612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f726174655374616c65506572696f640000000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561212a57600080fd5b505af115801561213e573d6000803e3d6000fd5b50506040805184815290517f16529d8c407b08938da67de7fa4319199baffce4f5d1971f812cc770b0237e669350908190036020019150a150565b612181612dea565b6001600160a01b0381166121dc576040805162461bcd60e51b815260206004820152601b60248201527f56616c69642061646472657373206d75737420626520676976656e0000000000604482015290519081900360640190fd5b6121e4612e35565b604080517f4dca09780000000000000000000000000000000000000000000000000000000081526d53797374656d53657474696e677360901b60048201527f61676772656761746f725761726e696e67466c6167730000000000000000000060248201526001600160a01b03848116604483015291519290911691634dca09789160648082019260009290919082900301818387803b15801561228657600080fd5b505af115801561229a573d6000803e3d6000fd5b5050604080516001600160a01b038516815290517f0f4cbdee769ea02d5757b91905563555cc648fe42fc3ef201e28d97d2bbde9659350908190036020019150a150565b622dc6c081565b6122ed612dea565b828114612341576040805162461bcd60e51b815260206004820152601860248201527f4172726179206c656e6774687320646f6e74206d617463680000000000000000604482015290519081900360640190fd5b60005b838110156113d45767016345785d8a000083838381811061236157fe5b9050602002013511156123bb576040805162461bcd60e51b815260206004820152601e60248201527f4d41585f45584348414e47455f4645455f524154452065786365656465640000604482015290519081900360640190fd5b6123c3612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f65786368616e676546656552617465000000000000000000000000000000000088888681811061241057fe5b9050602002013560405160200180838152602001828152602001925050506040516020818303038152906040528051906020012086868681811061245057fe5b905060200201356040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561249b57600080fd5b505af11580156124af573d6000803e3d6000fd5b505050507fbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e8585838181106124e057fe5b905060200201358484848181106124f357fe5b604080519485526020918202939093013590840152508051918290030190a1600101612344565b6000610d8e6134a5565b6000610d8e61352b565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061257e57fe5b60200260200101818152505090565b6000546001600160a01b031681565b6125a4612dea565b6125b26118276117ab613023565b8111156125f05760405162461bcd60e51b8152600401808060200182810382526038815260200180613d726038913960400191505060405180910390fd5b6000612606671bc16d674ec800006118a261337f565b9050808210156126475760405162461bcd60e51b8152600401808060200182810382526028815260200180613e2d6028913960400191505060405180910390fd5b61264f612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f00000000000000000000000000000000856040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156126d557600080fd5b505af11580156126e9573d6000803e3d6000fd5b50506040805185815290517f5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a9350908190036020019150a15050565b6000610d8e6135b1565b6000610ab082613637565b6000610ab0826136eb565b6000610d8e61379f565b671bc16d674ec8000081565b6000610ab082613825565b6201518081565b6000610d8e6138d9565b603281565b6000610d8e61337f565b61278e612dea565b612796612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f627269646765436c61696d476173436f73740000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b1580156113c057600080fd5b6000610d8e61395f565b61282e612dea565b670b1a2bc2ec5000008111156128755760405162461bcd60e51b8152600401808060200182810382526028815260200180613e816028913960400191505060405180910390fd5b61287d612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f65787465726e616c546f6b656e51756f74610000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801561290357600080fd5b505af1158015612917573d6000803e3d6000fd5b50506040805184815290517fab6fde4159cbba0eaae887ab25d5589a9f86c8161284e67ea3a981a5b1584eec9350908190036020019150a150565b627a120081565b6000610d8e6139e5565b67016345785d8a000081565b612977612dea565b622dc6c0811015801561298d5750627a12008111155b6129de576040805162461bcd60e51b815260206004820152601d60248201527f4f7574206f662072616e67652078446f6d61696e206761734c696d6974000000604482015290519081900360640190fd5b6129e6612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b612a0f85613a6b565b846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612a5457600080fd5b505af1158015612a68573d6000803e3d6000fd5b505050507fbf62a396f632016f0e0cffedb18ee9be41a161c79cee3b64736b0c97a924554a828260405180836003811115612a9f57fe5b60ff1681526020018281526020019250505060405180910390a15050565b6000610d8e613ba5565b612acf612dea565b62093a80811115612b27576040805162461bcd60e51b815260206004820181905260248201527f7374616b652074696d6520657863656564206d6178696d756d2031207765656b604482015290519081900360640190fd5b612b2f612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f6d696e696d756d5374616b6554696d6500000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612bb557600080fd5b505af1158015612bc9573d6000803e3d6000fd5b50506040805184815290517f2b0fa66d155c9598699cb6569577f27b95729bbf580268eed39db6bc4e8144779350908190036020019150a150565b62278d0081565b670b1a2bc2ec50000081565b624f1a0081565b612c26612dea565b67016345785d8a0000811115612c6d5760405162461bcd60e51b815260040180806020018281038252602c815260200180613e55602c913960400191505060405180910390fd5b612c75612e35565b6001600160a01b0316631d5b277f6d53797374656d53657474696e677360901b7f73796e635374616c5468726573686f6c64000000000000000000000000000000846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612cfb57600080fd5b505af1158015612d0f573d6000803e3d6000fd5b50506040805184815290517f8d6f97505ba6722039e804de1a5f93f0051d362bbf08bba7ce1c135a0be2deb69350908190036020019150a150565b6000612d54612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b612d7d85613a6b565b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612db857600080fd5b505afa158015612dcc573d6000803e3d6000fd5b505050506040513d6020811015612de257600080fd5b505192915050565b6000546001600160a01b03163314612e335760405162461bcd60e51b815260040180806020018281038252602f815260200180613daa602f913960400191505060405180910390fd5b565b6000610d8e7f466c657869626c6553746f726167650000000000000000000000000000000000613c2b565b6000612e6a612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b505afa158015612efa573d6000803e3d6000fd5b505050506040513d6020811015612f1057600080fd5b5051905090565b6000612f21612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000612fa7612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600061302d612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e50656e616c747900000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60006130b3612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6d696e696d756d5374616b6554696d65000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60008261313e5750600061318b565b8282028284828161314b57fe5b04146131885760405162461bcd60e51b8152600401808060200182810382526021815260200180613dd96021913960400191505060405180910390fd5b90505b92915050565b60008082116131e7576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816131f257fe5b04949350505050565b6000613205612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600061328b612e35565b6001600160a01b0316639ee5955a6d53797374656d53657474696e677360901b7f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600082820183811015613188576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60006131888261123e85670de0b6b3a764000063ffffffff61312f16565b6000613389612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6c69737375616e6365526174696f60981b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000670de0b6b3a7640000613410848463ffffffff61312f16565b8161341757fe5b049392505050565b6000613429612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f73796e635374616c5468726573686f6c640000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60006134af612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f627269646765436c61696d476173436f737400000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000613535612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f77616974696e67506572696f64536563730000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60006135bb612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6272696467655472616e73666572476173436f737400000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000613641612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e6765466565526174650000000000000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612db857600080fd5b60006136f5612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6578546f6b656e49737375616e6365526174696f000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612db857600080fd5b60006137a9612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e44656c6179000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600061382f612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f73000000000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612db857600080fd5b60006138e3612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f64656274536e617073686f745374616c6554696d6500000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b6000613969612e35565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b7f74726164696e6752657761726473456e61626c656400000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60006139ef612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65787465726e616c546f6b656e51756f746100000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b600080826003811115613a7a57fe5b1415613aa757507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000610ab3565b6001826003811115613ab557fe5b1415613ae257507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000610ab3565b6002826003811115613af057fe5b1415613b1d57507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000610ab3565b6003826003811115613b2b57fe5b1415613b5857507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000610ab3565b6040805162461bcd60e51b815260206004820152601660248201527f556e6b6e6f776e20676173206c696d6974207479706500000000000000000000604482015290519081900360640190fd5b6000613baf612e35565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ee657600080fd5b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081613d145760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613cd9578181015183820152602001613cc1565b50505050905090810190601f168015613d065780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b509291505056fe70656e616c7479203e204d41585f4c49515549444154494f4e5f50454e414c5459596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869706c69717569646174696f6e526174696f203e204d41585f4c49515549444154494f4e5f524154494f202f202831202b2070656e616c7479294f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e65772069737375616e636520726174696f2063616e6e6f7420657863656564204d41585f49535355414e43455f524154494f6c69717569646174696f6e526174696f203c204d494e5f4c49515549444154494f4e5f524154494f6e6577207468726573686f6c642065786365656473206d6178696d756d203130302070657263656e746167656e65772071756f74612065786365656473206d6178696d756d203130302070657263656e74616765a265627a7a72315820aa3992f70485240e9b01a976bb22c113fb3334cc33c2b39e3a05e4d1f0dfbc6064736f6c63430005100032",
			"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": "exTokenIssuanceRatio",
							"type": "uint256"
						}
					],
					"name": "ExTokenIssuanceRatioUpdated",
					"type": "event",
					"signature": "0x45c302298d88ac8321976aa968bf90c0e55692af37431e4580ae3f84684f954f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "pynthKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newExchangeFeeRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeFeeUpdated",
					"type": "event",
					"signature": "0xbbdab54f0da6d720d21f53e4d6f5bbe83e5a2f74c1354175140ea74f8e90c77e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "quota",
							"type": "uint256"
						}
					],
					"name": "ExternalTokenQuotaUpdated",
					"type": "event",
					"signature": "0xab6fde4159cbba0eaae887ab25d5589a9f86c8161284e67ea3a981a5b1584eec"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newFeePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "FeePeriodDurationUpdated",
					"type": "event",
					"signature": "0x791bd58dd9719b5eb5ccdd6ec4d5c459b0ab8efcf59b723cf477693c0889eacd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "IssuanceRatioUpdated",
					"type": "event",
					"signature": "0x63b22e09cc3a33e847c063e35f887bd4ea96bc8c0f93f1f8c311e4fa6d885452"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDelay",
							"type": "uint256"
						}
					],
					"name": "LiquidationDelayUpdated",
					"type": "event",
					"signature": "0x9917e32433edcb65f8982c1b2c26c3469468308456f93cf34b98c1b0459c5398"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newPenalty",
							"type": "uint256"
						}
					],
					"name": "LiquidationPenaltyUpdated",
					"type": "event",
					"signature": "0xbfb22c07314f4682bba789860ceb851eb8cea2d867920332b2a42cf56be5b2e9"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatioUpdated",
					"type": "event",
					"signature": "0x5568be83e5cf7405adf8fb39305e2cdf49c43336606d23c3e0d3fe54e205150a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "types",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "LiquidationRatiosUpdated",
					"type": "event",
					"signature": "0xc5af88786bd5ce36d4efede4608f8ce31b9e7cd7bb6d417f675f3a6a2ffbb4c5"
				},
				{
					"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": "newRatio",
							"type": "uint256"
						}
					],
					"name": "SyncStaleThresholdUpdated",
					"type": "event",
					"signature": "0x8d6f97505ba6722039e804de1a5f93f0051d362bbf08bba7ce1c135a0be2deb6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newTargetThreshold",
							"type": "uint256"
						}
					],
					"name": "TargetThresholdUpdated",
					"type": "event",
					"signature": "0xb2b3a840c101d8e7f0cf8d80d3868976968714347038fe89b36c5031f94dab12"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "enabled",
							"type": "bool"
						}
					],
					"name": "TradingRewardsEnabled",
					"type": "event",
					"signature": "0xe11c1893b6f97decd3ac13637137734a4b75d159e899e5a8abb48470ab0bc4fd"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "WaitingPeriodSecsUpdated",
					"type": "event",
					"signature": "0xc32c92cac11e29883e0fb2d9e38230cc510e3bda48abc270b780de60bb8465f8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc58c9ae4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXCHANGE_FEE_RATE",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfb1b4c7e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_EXTERNAL_TOKEN_QUOTA",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf16fe2db"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf344da67"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_ISSUANCE_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x657c6dc7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1076b25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_PENALTY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x085f95cd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_LIQUIDATION_RATIO",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2ea7054"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_MINIMUM_STAKE_TIME",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x580a975c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_SYNC_STALE_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd2b376bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_TARGET_THRESHOLD",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf8bc660"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_CROSS_DOMAIN_GAS_LIMIT",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7ce2cc7f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_FEE_PERIOD_DURATION",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd62ae399"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MIN_LIQUIDATION_DELAY",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xadd0989d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "RATIO_FROM_TARGET_BUFFER",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4ce5b71"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeClaimGasCost",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x87c24d34"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeTransferGasCost",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x96243803"
				},
				{
					"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": "tokenKey",
							"type": "bytes32"
						}
					],
					"name": "exTokenIssuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x96cec045"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeFeeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x967706e9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "externalTokenQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5cd1215"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationDelay",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa0cf7451"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationPenalty",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x23f5589a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1775765f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "tokenKey",
							"type": "bytes32"
						}
					],
					"name": "liquidationRatios",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa6ec4000"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minimumStakeTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x242df9e1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_flags",
							"type": "address"
						}
					],
					"name": "setAggregatorWarningFlags",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7bf82305"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_gasCost",
							"type": "uint256"
						}
					],
					"name": "setBridgeClaimGasCost",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbf9247f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_gasCost",
							"type": "uint256"
						}
					],
					"name": "setBridgeTransferGasCost",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x33c4e086"
				},
				{
					"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": "tokenKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exTokenIssuanceRatios",
							"type": "uint256[]"
						}
					],
					"name": "setExTokenIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4987fcc2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynthKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "exchangeFeeRates",
							"type": "uint256[]"
						}
					],
					"name": "setExchangeFeeRateForPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x826098e8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_newQuota",
							"type": "uint256"
						}
					],
					"name": "setExternalTokenQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc1d20ca2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_feePeriodDuration",
							"type": "uint256"
						}
					],
					"name": "setFeePeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x04c49f2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_issuanceRatio",
							"type": "uint256"
						}
					],
					"name": "setIssuanceRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x054be0b7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"name": "setLiquidationDelay",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5e0117d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "penalty",
							"type": "uint256"
						}
					],
					"name": "setLiquidationPenalty",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2806a743"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_liquidationRatio",
							"type": "uint256"
						}
					],
					"name": "setLiquidationRatio",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x946ce8cd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_types",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_liquidationRatios",
							"type": "uint256[]"
						}
					],
					"name": "setLiquidationRatios",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x53e2cec6"
				},
				{
					"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": "setSyncStaleThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfc0d9f7b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_percent",
							"type": "uint256"
						}
					],
					"name": "setTargetThreshold",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2cce0e54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_tradingRewardsEnabled",
							"type": "bool"
						}
					],
					"name": "setTradingRewardsEnabled",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4641ab66"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_waitingPeriodSecs",
							"type": "uint256"
						}
					],
					"name": "setWaitingPeriodSecs",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x635a3872"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "syncStaleThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x680a1718"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "targetThreshold",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe0e6393d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0xf6234c570e3f445f48640eabec5df34df19760135deed1115d8b534b7ae1290d",
				"urls": [
					"bzz-raw://30ec5266bd7b7da5a152dd87ccec0aa971dfff6616ad49eca1acf57c7ea43c99",
					"dweb:/ipfs/QmUsg2142F9WDY1Dx4Wn7TQewMePXP8nvhyHZYsSo2w6Aw"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemSettings.sol": "SystemSettings"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"SystemSettings.sol": {
						"keccak256": "0xf6234c570e3f445f48640eabec5df34df19760135deed1115d8b534b7ae1290d",
						"urls": [
							"bzz-raw://30ec5266bd7b7da5a152dd87ccec0aa971dfff6616ad49eca1acf57c7ea43c99",
							"dweb:/ipfs/QmUsg2142F9WDY1Dx4Wn7TQewMePXP8nvhyHZYsSo2w6Aw"
						]
					}
				},
				"version": 1
			}
		},
		"SystemStatus": {
			"bytecode": "608060405234801561001057600080fd5b50604051611ed6380380611ed68339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15050611ddc806100fa6000396000f3fe608060405234801561001057600080fd5b506004361061025e5760003560e01c80634ef4a6431161014657806389bb3dfa116100c3578063c09290bb11610087578063c09290bb14610983578063d7f2c385146109f1578063e470df5814610a0e578063f161620714610a2b578063f405f65a14610a33578063f8b4b08414610a3b5761025e565b806389bb3dfa146108af5780638c38729d146108cc5780638da5cb5b146108e95780639f8a95ba146108f1578063ad135a16146109155761025e565b80637118d4311161010a5780637118d43114610806578063754a46411461080e57806379ba5097146108315780637c3125411461083957806387743c36146108415761025e565b80634ef4a6431461063c578063517d60c61461065957806353a47bb7146107b7578063631070fc146107db57806367a280b2146107fe5761025e565b806320f2bf00116101df5780632e94d93d116101a35780632e94d93d14610542578063387da909146105b0578063396e258e146105b85780633cb4d443146105d557806348bf1971146105f85780634abdb44d146106345761025e565b806320f2bf00146104895780632366245e146104d05780632cb28bd8146104fb5780632dd8afdb1461051e5780632e8d0b9e146105265761025e565b8063157c51d311610226578063157c51d3146104195780631588e817146104215780631627540c1461043e5780631635b0ce146104645780631d7e77891461046c5761025e565b8063086dabd11461026357806308d10e621461026d5780630d2d7c281461028a57806312bde5141461039157806314acc95f146103ab575b600080fd5b61026b610a43565b005b61026b6004803603602081101561028357600080fd5b5035610a4d565b6102f8600480360360208110156102a057600080fd5b810190602081018135600160201b8111156102ba57600080fd5b8201836020820111156102cc57600080fd5b803590602001918460208302840111600160201b831117156102ed57600080fd5b509092509050610a96565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101561033c578181015183820152602001610324565b50505050905001838103825284818151815260200191508051906020019060200280838360005b8381101561037b578181015183820152602001610363565b5050505090500194505050505060405180910390f35b610399610bbf565b60408051918252519081900360200190f35b61026b600480360360208110156103c157600080fd5b810190602081018135600160201b8111156103db57600080fd5b8201836020820111156103ed57600080fd5b803590602001918460208302840111600160201b8311171561040e57600080fd5b509092509050610bcc565b61026b610c08565b61026b6004803603602081101561043757600080fd5b5035610c72565b61026b6004803603602081101561045457600080fd5b50356001600160a01b0316610cdd565b610399610d39565b61026b6004803603602081101561048257600080fd5b5035610d45565b6104b56004803603604081101561049f57600080fd5b50803590602001356001600160a01b0316610d59565b60408051921515835290151560208301528051918290030190f35b6104d8610d82565b6040805192151583526001600160f81b0390911660208301528051918290030190f35b61026b6004803603604081101561051157600080fd5b5080359060200135610d9b565b6104d8610dcf565b61052e610de8565b604080519115158252519081900360200190f35b61026b6004803603602081101561055857600080fd5b810190602081018135600160201b81111561057257600080fd5b82018360208201111561058457600080fd5b803590602001918460208302840111600160201b831117156105a557600080fd5b509092509050610e12565b610399610e4e565b61026b600480360360208110156105ce57600080fd5b5035610e62565b61026b600480360360408110156105eb57600080fd5b5080359060200135610ecd565b61026b6004803603608081101561060e57600080fd5b508035906001600160a01b03602082013516906040810135151590606001351515610ed5565b610399610eef565b6104d86004803603602081101561065257600080fd5b5035610efe565b61026b6004803603608081101561066f57600080fd5b810190602081018135600160201b81111561068957600080fd5b82018360208201111561069b57600080fd5b803590602001918460208302840111600160201b831117156106bc57600080fd5b919390929091602081019035600160201b8111156106d957600080fd5b8201836020820111156106eb57600080fd5b803590602001918460208302840111600160201b8311171561070c57600080fd5b919390929091602081019035600160201b81111561072957600080fd5b82018360208201111561073b57600080fd5b803590602001918460208302840111600160201b8311171561075c57600080fd5b919390929091602081019035600160201b81111561077957600080fd5b82018360208201111561078b57600080fd5b803590602001918460208302840111600160201b831117156107ac57600080fd5b509092509050610f23565b6107bf611014565b604080516001600160a01b039092168252519081900360200190f35b61026b600480360360408110156107f157600080fd5b5080359060200135611023565b61026b61106e565b61026b6110da565b61026b6004803603604081101561082457600080fd5b50803590602001356110ea565b61026b611130565b61026b6111ec565b61026b6004803603604081101561085757600080fd5b810190602081018135600160201b81111561087157600080fd5b82018360208201111561088357600080fd5b803590602001918460208302840111600160201b831117156108a457600080fd5b9193509150356111fc565b61026b600480360360208110156108c557600080fd5b503561123a565b6104d8600480360360208110156108e257600080fd5b503561124b565b6107bf611270565b6108f961127f565b604080516001600160f81b039092168252519081900360200190f35b61026b6004803603604081101561092b57600080fd5b810190602081018135600160201b81111561094557600080fd5b82018360208201111561095757600080fd5b803590602001918460208302840111600160201b8311171561097857600080fd5b919350915035611284565b6102f86004803603602081101561099957600080fd5b810190602081018135600160201b8111156109b357600080fd5b8201836020820111156109c557600080fd5b803590602001918460208302840111600160201b831117156109e657600080fd5b5090925090506112c2565b61026b60048036036020811015610a0757600080fd5b50356113e3565b61026b60048036036020811015610a2457600080fd5b5035611428565b61039961149d565b61026b6114ac565b6104d8611518565b610a4b611531565b565b604080516001808252818301909252606091602080830190803883390190505090508181600081518110610a7d57fe5b602002602001018181525050610a9281611610565b5050565b60608083839050604051908082528060200260200182016040528015610ac6578160200160208202803883390190505b50604080518581526020808702820101909152909250838015610af3578160200160208202803883390190505b50905060005b83811015610bb75760066000868684818110610b1157fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff16838281518110610b4357fe5b9115156020928302919091019091015260066000868684818110610b6357fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b0316828281518110610ba457fe5b6020908102919091010152600101610af9565b509250929050565b6553797374656d60d01b81565b610a9282828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061161092505050565b610c1a6553797374656d60d01b6116be565b6003805460ff191690819055604080516101009092046001600160f81b03168252517fb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f916020908290030190a16003805460ff169055565b610c866745786368616e676560c01b61171b565b600580546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517f078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b229181900360200190a150565b610ce5611773565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b640a0f2dce8d60db1b81565b610d4d611531565b610d56816117bc565b50565b600260209081526000928352604080842090915290825290205460ff8082169161010090041682565b60045460ff81169061010090046001600160f81b031682565b610da3611531565b610dab61180a565b610db48261184c565b610dbd8161184c565b610dc6826117bc565b610a92816117bc565b60035460ff81169061010090046001600160f81b031682565b60035460009060ff168015610e0d575060035461010090046001600160f81b03166001145b905090565b610a9282828080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525061189a92505050565b6c50796e746845786368616e676560981b81565b610e766749737375616e636560c01b61171b565b600480546001600160f81b0383166101000260ff1990911660011760ff161790556040805182815290517fee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb89181900360200190a150565b610dbd611531565b610edd611773565b610ee984848484611940565b50505050565b6749737375616e636560c01b81565b60066020526000908152604090205460ff81169061010090046001600160f81b031682565b610f2b611773565b8685148015610f3957508483145b8015610f4457508281145b610f95576040805162461bcd60e51b815260206004820152601e60248201527f496e707574206172726179206c656e67746873206d757374206d617463680000604482015290519081900360640190fd5b60005b8781101561100957611001898983818110610faf57fe5b90506020020135888884818110610fc257fe5b905060200201356001600160a01b0316878785818110610fde57fe5b905060200201351515868686818110610ff357fe5b905060200201351515611940565b600101610f98565b505050505050505050565b6001546001600160a01b031681565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061105357fe5b6020026020010181815250506110698183611a72565b505050565b6110826749737375616e636560c01b6116be565b6004805460ff191690819055604080516101009092046001600160f81b03168252517f0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837916020908290030190a16004805460ff169055565b6110e2611531565b610a4b61180a565b60408051600180825281830190925260609160208083019080388339019050509050828160008151811061111a57fe5b6020026020010181815250506110698183611b18565b6001546001600160a01b031633146111795760405162461bcd60e51b8152600401808060200182810382526035815260200180611c096035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6111f4611531565b610a4b611bc6565b611069838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611a72915050565b611242611531565b610d568161184c565b60076020526000908152604090205460ff81169061010090046001600160f81b031682565b6000546001600160a01b031681565b600181565b611069838380806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250859250611b18915050565b606080838390506040519080825280602002602001820160405280156112f2578160200160208202803883390190505b5060408051858152602080870282010190915290925083801561131f578160200160208202803883390190505b50905060005b83811015610bb7576007600086868481811061133d57fe5b90506020020135815260200190815260200160002060000160009054906101000a900460ff1683828151811061136f57fe5b911515602092830291909101909101526007600086868481811061138f57fe5b90506020020135815260200190815260200160002060000160019054906101000a90046001600160f81b03166001600160f81b03168282815181106113d057fe5b6020908102919091010152600101611325565b60408051600180825281830190925260609160208083019080388339019050509050818160008151811061141357fe5b602002602001018181525050610a928161189a565b61143a6553797374656d60d01b61171b565b600380546001600160f81b0380841661010090810260ff1990931660011760ff169290921792839055604080519290930416815290517f86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f9181900360200190a150565b6745786368616e676560c01b81565b6114c06745786368616e676560c01b6116be565b6005805460ff191690819055604080516101009092046001600160f81b03168252517f07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214916020908290030190a16005805460ff169055565b60055460ff81169061010090046001600160f81b031682565b60035460ff8116159061010090046001600160f81b031660011461156d576040518060600160405280602e8152602001611c97602e9139611587565b604051806060016040528060408152602001611d1f604091395b90610d565760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156115d55781810151838201526020016115bd565b50505050905090810190601f1680156116025780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6116296c50796e746845786368616e676560981b6116be565b60005b8151811015610a9257600082828151811061164357fe5b6020908102919091018101516000818152600683526040908190205481518381526101009091046001600160f81b03169381019390935280519193507fc6cc5bbf2969f74a5166d0bad983455bf7a65b6372af7260400f9b3b04338090928290030190a160009081526006602052604081205560010161162c565b6000818152600260209081526040808320338452909152902054610100900460ff16610d565760405162461bcd60e51b8152600401808060200182810382526021815260200180611d5f6021913960400191505060405180910390fd5b600081815260026020908152604080832033845290915290205460ff16610d565760405162461bcd60e51b8152600401808060200182810382526021815260200180611d5f6021913960400191505060405180910390fd5b6000546001600160a01b03163314610a4b5760405162461bcd60e51b815260040180806020018281038252602f815260200180611cc5602f913960400191505060405180910390fd5b60008181526007602052604090205460ff1615610d565760405162461bcd60e51b8152600401808060200182810382526028815260200180611d806028913960400191505060405180910390fd5b60055460ff1615610a4b5760405162461bcd60e51b815260040180806020018281038252602b815260200180611cf4602b913960400191505060405180910390fd5b60008181526006602052604090205460ff1615610d565760405162461bcd60e51b815260040180806020018281038252602e815260200180611c69602e913960400191505060405180910390fd5b6118ab640a0f2dce8d60db1b6116be565b60005b8151811015610a925760008282815181106118c557fe5b6020908102919091018101516000818152600783526040908190205481518381526101009091046001600160f81b03169381019390935280519193507fddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39928290030190a16000908152600760205260408120556001016118ae565b6553797374656d60d01b84148061196157506749737375616e636560c01b84145b8061197657506745786368616e676560c01b84145b8061199057506c50796e746845786368616e676560981b84145b806119a25750640a0f2dce8d60db1b84145b6119f3576040805162461bcd60e51b815260206004820152601860248201527f496e76616c69642073656374696f6e20737570706c6965640000000000000000604482015290519081900360640190fd5b60008481526002602090815260408083206001600160a01b038716808552908352928190208054851515610100810261ff001989151560ff1990941684171617909255825190815292830152805187927f95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d192908290030190a350505050565b611a83640a0f2dce8d60db1b61171b565b60005b8251811015611069576000838281518110611a9d57fe5b60209081029190910181015160008181526007835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507ffd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86928290030190a150600101611a86565b611b316c50796e746845786368616e676560981b61171b565b60005b8251811015611069576000838281518110611b4b57fe5b60209081029190910181015160008181526006835260409081902080546001600160f81b0388166101000260ff1990911660011760ff16179055805182815292830186905280519193507f0af76046e49b0af43f6e092983123f6fb3a25f63bd7096c1bb89649a75a9a494928290030190a150600101611b34565b60045460ff1615610a4b5760405162461bcd60e51b815260040180806020018281038252602b815260200180611c3e602b913960400191505060405180910390fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697049737375616e63652069732073757370656e6465642e204f7065726174696f6e2070726f6869626974656450796e74682065786368616e67652073757370656e6465642e204f7065726174696f6e2070726f686962697465645065726946696e616e63652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e45786368616e67652069732073757370656e6465642e204f7065726174696f6e2070726f686962697465645065726946696e616e63652069732073757370656e6465642c207570677261646520696e2070726f67726573732e2e2e20706c65617365207374616e642062795265737472696374656420746f2061636365737320636f6e74726f6c206c69737450796e74682069732073757370656e6465642e204f7065726174696f6e2070726f68696269746564a265627a7a7231582018f806304970781b8eb73b57b112e4fdff7f40e812c7e7a9c4cea06b9772f04f64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "AccessControlUpdated",
					"type": "event",
					"signature": "0x95bad30f8fe717e4a02906d7b05a6f90698c7135cd053e5b6d5239146b4c40d1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeResumed",
					"type": "event",
					"signature": "0x07966fe79d35c7abf1f3b2ad9970ea24cae0f11406e283e848e3e6608ae3c214"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "ExchangeSuspended",
					"type": "event",
					"signature": "0x078773069a9216cdb6acaa7b184785f12f62048c7ce8b7ede1bad6785de16b22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceResumed",
					"type": "event",
					"signature": "0x0f1a80395faba9a11017f830db5f90ad6525a1621dbfb2cbc2b6679ba5716837"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "IssuanceSuspended",
					"type": "event",
					"signature": "0xee8bf45d6e3141aa521ae4f0d05dfefe0327a3f23a9fbae6a64680458b34ebb8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthExchangeResumed",
					"type": "event",
					"signature": "0xc6cc5bbf2969f74a5166d0bad983455bf7a65b6372af7260400f9b3b04338090"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthExchangeSuspended",
					"type": "event",
					"signature": "0x0af76046e49b0af43f6e092983123f6fb3a25f63bd7096c1bb89649a75a9a494"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthResumed",
					"type": "event",
					"signature": "0xddc88fc179cf33f24e5569dd8635c3cd44864e66a1b359bdd9d95e50d94a0d39"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "PynthSuspended",
					"type": "event",
					"signature": "0xfd3feff79fa642f72408a90c33c6b2ae245bd7077eec45d2502714178e692c86"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemResumed",
					"type": "event",
					"signature": "0xb392a95118344e8edff8eff56183afb4bb0240310c406a0fc1217d2755c66d8f"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "SystemSuspended",
					"type": "event",
					"signature": "0x86b7ed06c3a2c3763514d475ced33f9ac8b1bb8f028ded18de0100b7678f3c4f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1616207"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_ISSUANCE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4abdb44d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_PYNTH",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1635b0ce"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_PYNTH_EXCHANGE",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x387da909"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SECTION_SYSTEM",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x12bde514"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "SUSPENSION_REASON_UPGRADE",
					"outputs": [
						{
							"internalType": "uint248",
							"name": "",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9f8a95ba"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "accessControl",
					"outputs": [
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20f2bf00"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "exchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8b4b084"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthExchangeSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "exchangeSuspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d2d7c28"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "pynths",
							"type": "bytes32[]"
						}
					],
					"name": "getPynthSuspensions",
					"outputs": [
						{
							"internalType": "bool[]",
							"name": "suspensions",
							"type": "bool[]"
						},
						{
							"internalType": "uint256[]",
							"name": "reasons",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc09290bb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isSystemUpgrading",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e8d0b9e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2366245e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthExchangeSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4ef4a643"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynthSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8c38729d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7118d431"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requireExchangeBetweenPynthsAllowed",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2cb28bd8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireIssuanceActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7c312541"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1d7e7789"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthExchangeActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89bb3dfa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "requirePynthsActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3cb4d443"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "requireSystemActive",
					"outputs": [],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x086dabd1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf405f65a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x67a280b2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd7f2c385"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "resumePynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x08d10e62"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e94d93d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resumePynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x14acc95f"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "resumeSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x157c51d3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1588e817"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendIssuance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x396e258e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x631070fc"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynthExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x754a4641"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x87743c36"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendPynthsExchange",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xad135a16"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reason",
							"type": "uint256"
						}
					],
					"name": "suspendSystem",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe470df58"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "systemSuspension",
					"outputs": [
						{
							"internalType": "bool",
							"name": "suspended",
							"type": "bool"
						},
						{
							"internalType": "uint248",
							"name": "reason",
							"type": "uint248"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2dd8afdb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "section",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "canSuspend",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "canResume",
							"type": "bool"
						}
					],
					"name": "updateAccessControl",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x48bf1971"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "sections",
							"type": "bytes32[]"
						},
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "bool[]",
							"name": "canSuspends",
							"type": "bool[]"
						},
						{
							"internalType": "bool[]",
							"name": "canResumes",
							"type": "bool[]"
						}
					],
					"name": "updateAccessControls",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x517d60c6"
				}
			],
			"source": {
				"keccak256": "0xd007bffcedcf8fa79fec1aa185613f403ce3a03e7617cddd3acd0adc3899fd19",
				"urls": [
					"bzz-raw://6eb23e961b5a59d1545c61fcbe8357bf2ba06362aa4ca0381a6baa63b16f3d19",
					"dweb:/ipfs/QmZ8V2uf3AcLFJtjHbi2YZCssH2XVbhz6EfuQTiWM4pFWt"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"SystemStatus.sol": "SystemStatus"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"SystemStatus.sol": {
						"keccak256": "0xd007bffcedcf8fa79fec1aa185613f403ce3a03e7617cddd3acd0adc3899fd19",
						"urls": [
							"bzz-raw://6eb23e961b5a59d1545c61fcbe8357bf2ba06362aa4ca0381a6baa63b16f3d19",
							"dweb:/ipfs/QmZ8V2uf3AcLFJtjHbi2YZCssH2XVbhz6EfuQTiWM4pFWt"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeRates": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200517238038062005172833981810160405260a08110156200003757600080fd5b8151602083015160408085015160608601805192519496939591949391820192846401000000008211156200006b57600080fd5b9083019060208201858111156200008157600080fd5b82518660208202830111640100000000821117156200009f57600080fd5b82525081516020918201928201910280838360005b83811015620000ce578181015183820152602001620000b4565b5050505090500160405260200180516040519392919084640100000000821115620000f857600080fd5b9083019060208201858111156200010e57600080fd5b82518660208202830111640100000000821117156200012c57600080fd5b82525081516020918201928201910280838360005b838110156200015b57818101518382015260200162000141565b5050505090500160405250505082808660006001600160a01b0316816001600160a01b03161415620001d4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b0392909216919091179055508051825114620002905760405162461bcd60e51b815260040180806020018281038252602f81526020018062005080602f913960400191505060405180910390fd5b83600560006101000a8154816001600160a01b0302191690836001600160a01b0316021790555062000346631c1554d160e21b73__$81fd87b331096e90074cc3e2c16d5bc3ee$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200030857600080fd5b505af41580156200031d573d6000803e3d6000fd5b505050506040513d60208110156200033457600080fd5b5051426001600160e01b036200036816565b6200035c8282426001600160e01b03620003e116565b50505050505062000c59565b6000838152600c60209081526040808320805460010190819055815180830183526001600160d81b03968716815264ffffffffff958616818501908152978552600484528285209185529252909120905181549451909216600160d81b029183166001600160d81b031990941693909317909116179055565b60008251845114620004255760405162461bcd60e51b8152600401808060200182810382526038815260200180620051016038913960400191505060405180910390fd5b610258420182106200047e576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015620005975760008582815181106200049a57fe5b60200260200101519050848281518110620004b157fe5b602002602001015160001415620004fa5760405162461bcd60e51b8152600401808060200182810382526039815260200180620051396039913960400191505060405180910390fd5b80631c1554d160e21b1415620005425760405162461bcd60e51b8152600401808060200182810382526031815260200180620050d06031913960400191505060405180910390fd5b62000556816001600160e01b036200066216565b8410156200056557506200058e565b6200058c818684815181106200057757fe5b6020026020010151866200036860201b60201c565b505b60010162000481565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b8381101562000601578181015183820152602001620005e7565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156200064257818101518382015260200162000628565b5050505090500194505050505060405180910390a15060015b9392505050565b600062000678826001600160e01b036200068b16565b6020015164ffffffffff1690505b919050565b6200069562000c0f565b6000828152600760205260409020546001600160a01b0316620006c1836001600160e01b03620008f016565b15620008445760408051600481526024810182526020810180516001600160e01b0316633fabe5a360e21b1781529151815191926000926060926001600160a01b0387169286928291908083835b60208310620007305780518252601f1990920191602091820191016200070f565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d806000811462000792576040519150601f19603f3d011682016040523d82523d6000602084013e62000797565b606091505b509150915081156200083b5760008060008380602001905160a0811015620007be57600080fd5b50805160208201516060909201516040805180820190915291955091935090915080620008138b620007fa81876001600160e01b036200092c16565b6001600160501b0388166001600160e01b03620009f016565b6001600160d81b031681526020018264ffffffffff1681525097505050505050505062000686565b505050620008ea565b6000838152600c60205260409020546200085d62000c0f565b5060008481526004602090815260408083208484528252918290208251808401845290546001600160d81b038082168352600160d81b90910464ffffffffff1692820192909252825180840190935280519092918291620008c29189911686620009f0565b6001600160d81b03168152602001826020015164ffffffffff16815250935050505062000686565b50919050565b60008181526006602052604081205460ff161580156200092657506000828152600760205260409020546001600160a01b031615155b92915050565b60008082121562000984576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff1615620008ea576000838152600860209081526040822054620009c89160129160ff16906200409862000b53821b17901c565b600a0a9050620009e7818462000bb160201b620038cd1790919060201c565b91505062000926565b6000620009fc62000c26565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff808216151560608501526101009091041615156080830152158062000a5d575083155b1562000a6d57839150506200065b565b6000858152600d602052604090205484925080841080159062000a91575081606001515b1562000aa4578160200151925062000b4a565b80841015801562000ab6575081608001515b1562000ac9578160400151925062000b4a565b600062000aea6002846000015162000bb160201b620038cd1790919060201c565b905085811162000afe576000935062000b1b565b62000b18868262000b5360201b620040981790919060201c565b93505b8260200151841062000b34578260200151935062000b48565b8260400151841162000b4857826040015193505b505b50509392505050565b60008282111562000bab576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008262000bc25750600062000926565b8282028284828162000bd057fe5b04146200065b5760405162461bcd60e51b8152600401808060200182810382526021815260200180620050af6021913960400191505060405180910390fd5b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b6144178062000c696000396000f3fe608060405234801561001057600080fd5b50600436106103355760003560e01c8063728dec29116101b2578063af3aea86116100f9578063c8e5bbd5116100a2578063de02795e1161007c578063de02795e14610c8d578063de630ba714610caa578063eedb421e14610cb2578063fdadbc7e14610ccf57610335565b8063c8e5bbd514610b84578063c8e6f39514610c53578063ce8480ea14610c7057610335565b8063becb1954116100d3578063becb195414610a2d578063bfa005ce14610a52578063c2c8a67614610b1457610335565b8063af3aea861461099e578063b199c764146109bb578063b295ad34146109fa57610335565b80637f6e9d151161015b5780638da5cb5b116101355780638da5cb5b1461095c578063935f4abd14610964578063ac82f6081461098157610335565b80637f6e9d15146108f05780638295016a1461090d578063899ffef41461095457610335565b80637a018a1e1161018c5780637a018a1e146108985780637adbf973146108b55780637dc0d1d0146108e857610335565b8063728dec291461083c578063741853601461088857806379ba50971461089057610335565b80632bed9e0c116102815780634308a94f1161022a5780634f72def6116102045780634f72def6146107d157806353a47bb7146107ee578063654a60ac146107f65780637103353e1461081f57610335565b80634308a94f1461077657806345938849146107ac5780634c36b837146107c957610335565b80633375fcd11161025b5780633375fcd11461070357806338aa1b99146107205780633f0e084f1461073d57610335565b80632bed9e0c1461060d5780632d7371e11461062a5780632ea913d4146106e657610335565b8063109e46a2116102e3578063266da16b116102bd578063266da16b1461059d5780632678df96146105d25780632af64bd31461060557610335565b8063109e46a21461051c5780631627540c1461054b5780632528f0fe1461058057610335565b80630a7d36d1116103145780630a7d36d11461045c5780630c71cd23146104cc5780630ee4951b1461050257610335565b80629919c01461033a57806304f3bcec1461036b57806305a046e51461039c575b600080fd5b6103576004803603602081101561035057600080fd5b5035610cf2565b604080519115158252519081900360200190f35b610373610d0d565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b61040c600480360360208110156103b257600080fd5b8101906020810181356401000000008111156103cd57600080fd5b8201836020820111156103df57600080fd5b8035906020019184602083028401116401000000008311171561040157600080fd5b509092509050610d29565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610448578181015183820152602001610430565b505050509050019250505060405180910390f35b6103576004803603602081101561047257600080fd5b81019060208101813564010000000081111561048d57600080fd5b82018360208201111561049f57600080fd5b803590602001918460208302840111640100000000831117156104c157600080fd5b509092509050610dab565b6104e9600480360360208110156104e257600080fd5b5035610e5e565b6040805192835290151560208301528051918290030190f35b61050a610f24565b60408051918252519081900360200190f35b61050a6004803603608081101561053257600080fd5b5080359060208101359060408101359060600135610f34565b61057e6004803603602081101561056157600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610f77565b005b6103576004803603602081101561059657600080fd5b5035610ff8565b61050a600480360360a08110156105b357600080fd5b5080359060208101359060408101359060608101359060800135611018565b61040c600480360360208110156105e857600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611085565b610357611146565b61057e6004803603602081101561062357600080fd5b5035611290565b61064d6004803603604081101561064057600080fd5b50803590602001356113dc565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610691578181015183820152602001610679565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156106d05781810151838201526020016106b8565b5050505090500194505050505060405180910390f35b61050a600480360360208110156106fc57600080fd5b50356114cd565b6103576004803603602081101561071957600080fd5b50356114eb565b6103576004803603602081101561073657600080fd5b50356115b1565b61057e6004803603604081101561075357600080fd5b508035906020013573ffffffffffffffffffffffffffffffffffffffff166115bf565b6107936004803603602081101561078c57600080fd5b503561186f565b6040805192835260208301919091528051918290030190f35b61057e600480360360208110156107c257600080fd5b50356118bb565b6103736119a8565b61050a600480360360208110156107e757600080fd5b50356119b2565b6103736119bf565b61050a6004803603606081101561080c57600080fd5b50803590602081013590604001356119db565b6103736004803603602081101561083557600080fd5b50356119f3565b6108596004803603602081101561085257600080fd5b5035611a1b565b604080519586526020860194909452848401929092521515606084015215156080830152519081900360a00190f35b61057e611a4e565b61057e611c61565b61050a600480360360208110156108ae57600080fd5b5035611d5c565b61057e600480360360208110156108cb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16611d67565b610373611dee565b61050a6004803603602081101561090657600080fd5b5035611e0a565b6109366004803603606081101561092357600080fd5b5080359060208101359060400135611e1c565b60408051938452602084019290925282820152519081900360600190f35b61040c611e3c565b610373611eb8565b61050a6004803603602081101561097a57600080fd5b5035611ed4565b61050a6004803603602081101561099757600080fd5b5035611ee6565b610357600480360360208110156109b457600080fd5b5035611f15565b61057e600480360360c08110156109d157600080fd5b50803590602081013590604081013590606081013590608081013515159060a001351515611f20565b610a1760048036036020811015610a1057600080fd5b50356122f5565b6040805160ff9092168252519081900360200190f35b61057e60048036036040811015610a4357600080fd5b5080359060200135151561230a565b61035760048036036060811015610a6857600080fd5b810190602081018135640100000000811115610a8357600080fd5b820183602082011115610a9557600080fd5b80359060200191846020830284011164010000000083111715610ab757600080fd5b919390929091602081019035640100000000811115610ad557600080fd5b820183602082011115610ae757600080fd5b80359060200191846020830284011164010000000083111715610b0957600080fd5b919350915035612350565b61040c60048036036020811015610b2a57600080fd5b810190602081018135640100000000811115610b4557600080fd5b820183602082011115610b5757600080fd5b80359060200191846020830284011164010000000083111715610b7957600080fd5b5090925090506123d3565b610bf460048036036020811015610b9a57600080fd5b810190602081018135640100000000811115610bb557600080fd5b820183602082011115610bc757600080fd5b80359060200191846020830284011164010000000083111715610be957600080fd5b50909250905061244b565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b83811015610c3e578181015183820152602001610c26565b50505050905001935050505060405180910390f35b61057e60048036036020811015610c6957600080fd5b50356125bf565b61050a60048036036020811015610c8657600080fd5b50356126cd565b61057e60048036036020811015610ca357600080fd5b50356126d8565b610936612900565b61035760048036036020811015610cc857600080fd5b503561290c565b61079360048036036040811015610ce557600080fd5b5080359060200135612921565b6000610d0582610d00612939565b612a0c565b90505b919050565b60025473ffffffffffffffffffffffffffffffffffffffff1681565b60608083839050604051908082528060200260200182016040528015610d59578160200160208202803883390190505b50905060005b83811015610da157610d82858583818110610d7657fe5b90506020020135612a57565b828281518110610d8e57fe5b6020908102919091010152600101610d5f565b5090505b92915050565b600080610db6612939565b90506060610df6858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7392505050565b905060005b84811015610e5257818181518110610e0f57fe5b602002602001015180610e395750610e39868683818110610e2c57fe5b9050602002013584612a0c565b15610e4a5760019350505050610da5565b600101610dfb565b50600095945050505050565b600080610e6961415f565b610e7284612d21565b9050837f70555344000000000000000000000000000000000000000000000000000000001415610ec557517affffffffffffffffffffffffffffffffffffffffffffffffffffff16915060009050610f1f565b8051610ee3610ed2612939565b836020015164ffffffffff1661300c565b80610efa5750610efa85610ef5613027565b6130c9565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff90911693509150505b915091565b6000610f2e612939565b90505b90565b600083815b610f468783600101613201565b915050801580610f57575083850181115b15610f6457509050610f6f565b600190910190610f39565b949350505050565b610f7f613471565b6001805473ffffffffffffffffffffffffffffffffffffffff83167fffffffffffffffffffffffff0000000000000000000000000000000000000000909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600061100682610d00612939565b80610d055750610d0582610ef5613027565b60008386141561102957508361107c565b60006110358785613201565b50905060006110448685613201565b509050806110575760009250505061107c565b6110778161106b898563ffffffff6134c916565b9063ffffffff6134de16565b925050505b95945050505050565b6009546040805182815260208084028201019091526060916000919080156110b7578160200160208202803883390190505b50915060005b60095481101561113f576000600982815481106110d657fe5b6000918252602080832090910154808352600790915260409091205490915073ffffffffffffffffffffffffffffffffffffffff9081169086161415611136578084848060010195508151811061112957fe5b6020026020010181815250505b506001016110bd565b5050919050565b60006060611152611e3c565b905060005b815181101561128757600082828151811061116e57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a72100000000000000000000000000000000000000000000000000000000815260048101859052925193955073ffffffffffffffffffffffffffffffffffffffff918216949116926321f8a721926024808201939291829003018186803b1580156111fc57600080fd5b505afa158015611210573d6000803e3d6000fd5b505050506040513d602081101561122657600080fd5b505173ffffffffffffffffffffffffffffffffffffffff1614158061126d575060008181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff16155b1561127e5760009350505050610f31565b50600101611157565b50600191505090565b611298613471565b60008181526007602052604090205473ffffffffffffffffffffffffffffffffffffffff168061130f576040805162461bcd60e51b815260206004820152601c60248201527f4e6f2061676772656761746f722065786973747320666f72206b657900000000604482015290519081900360640190fd5b600082815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001690556008909152812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905561137e8360096134f3565b905080156113d7576040805184815273ffffffffffffffffffffffffffffffffffffffff8416602082015281517fec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777929181900390910190a15b505050565b60608082604051908082528060200260200182016040528015611409578160200160208202803883390190505b50915082604051908082528060200260200182016040528015611436578160200160208202803883390190505b5090506000611444856135d3565b905060005b848110156114c35761145b8683613201565b85838151811061146757fe5b6020026020010185848151811061147a57fe5b6020908102919091010191909152528161149657506114c69050565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90910190600101611449565b50505b9250929050565b600b81815481106114da57fe5b600091825260209091200154905081565b60006114f5614176565b506000828152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580611558575080606001515b80611564575080608001515b15611573576000915050610d08565b600061157e84611ee6565b90506000811180156115a257508160200151811015806115a2575081604001518111155b92505050610d08565b50919050565b6000610d0582610ef5613027565b6115c7613471565b600081905060008173ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561161457600080fd5b505afa158015611628573d6000803e3d6000fd5b505050506040513d602081101561163e57600080fd5b50511015611693576040805162461bcd60e51b815260206004820152601b60248201527f476976656e2041676772656761746f7220697320696e76616c69640000000000604482015290519081900360640190fd5b60008173ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156116db57600080fd5b505afa1580156116ef573d6000803e3d6000fd5b505050506040513d602081101561170557600080fd5b50519050601260ff8216111561174c5760405162461bcd60e51b81526004018080602001828103825260328152602001806143516032913960400191505060405180910390fd5b60008481526007602052604090205473ffffffffffffffffffffffffffffffffffffffff166117ab57600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018490555b600084815260076020908152604080832080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8716908117909155600883529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660ff861617905580518781529182019290925281517f0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63929181900390910190a150505050565b60008061187a61415f565b61188384612d21565b80516020909101517affffffffffffffffffffffffffffffffffffffffffffffffffffff909116935064ffffffffff16915050915091565b6118c3613697565b60006118ce82611ee6565b11611920576040805162461bcd60e51b815260206004820152600c60248201527f52617465206973207a65726f0000000000000000000000000000000000000000604482015290519081900360640190fd5b6000818152600460209081526040808320600c808452828520805486529184528285208590559385905292825282547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff01909255815183815291517fe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae19281900390910190a150565b6000610f2e613027565b600981815481106114da57fe5b60015473ffffffffffffffffffffffffffffffffffffffff1681565b60006119e88484846136ed565b509095945050505050565b60076020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b600a6020526000908152604090208054600182015460028301546003909301549192909160ff8082169161010090041685565b6060611a58611e3c565b905060005b8151811015611c5d576000828281518110611a7457fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d840152815195975060009673ffffffffffffffffffffffffffffffffffffffff9095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015611b50578181015183820152602001611b38565b50505050905090810190601f168015611b7d5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015611b9b57600080fd5b505afa158015611baf573d6000803e3d6000fd5b505050506040513d6020811015611bc557600080fd5b505160008381526003602090815260409182902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611a5d565b5050565b60015473ffffffffffffffffffffffffffffffffffffffff163314611cb75760405162461bcd60e51b81526004018080602001828103825260358152602001806141e76035913960400191505060405180910390fd5b6000546001546040805173ffffffffffffffffffffffffffffffffffffffff938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff841617909155169055565b6000610d05826135d3565b611d6f613471565b600580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff838116919091179182905560408051929091168252517f3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394916020908290030190a150565b60055473ffffffffffffffffffffffffffffffffffffffff1681565b600d6020526000908152604090205481565b6000806000611e2c8686866136ed565b9250925092505b93509350939050565b606080611e4761373f565b60408051600180825281830190925291925060609190602080830190803883390190505090507f45786368616e676572000000000000000000000000000000000000000000000081600081518110611e9b57fe5b602002602001018181525050611eb1828261379e565b9250505090565b60005473ffffffffffffffffffffffffffffffffffffffff1681565b600c6020526000908152604090205481565b6000611ef182612d21565b517affffffffffffffffffffffffffffffffffffffffffffffffffffff1692915050565b6000610d058261385a565b611f28613471565b60008311611f7d576040805162461bcd60e51b815260206004820152601a60248201527f6c6f7765724c696d6974206d7573742062652061626f76652030000000000000604482015290519081900360640190fd5b848411611fbb5760405162461bcd60e51b81526004018080602001828103825260278152602001806143bc6027913960400191505060405180910390fd5b611fcc85600263ffffffff6138cd16565b84106120095760405162461bcd60e51b815260040180806020018281038252602e815260200180614323602e913960400191505060405180910390fd5b8483106120475760405162461bcd60e51b81526004018080602001828103825260278152602001806142fc6027913960400191505060405180910390fd5b8180156120515750805b156120a3576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f7420667265657a6520617420626f7468206c696d69747300000000604482015290519081900360640190fd5b6000868152600a6020526040902080546120ed57600b80546001810182556000919091527f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9018790555b858155600181018590556002810184905582806121075750815b156121dc576003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016841515177fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1661010084151502179055600061216f886135d3565b6000898152600d6020526040902081905590507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df088856121af57866121b1565b875b604080519283526020830191909152818101849052336060830152519081900360800190a150612216565b6003810180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001690556000878152600d60205260408120555b600061222188611ee6565b905080156122a457612231613926565b73ffffffffffffffffffffffffffffffffffffffff166357630a4089836040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561228b57600080fd5b505af115801561229f573d6000803e3d6000fd5b505050505b60408051898152602081018990528082018890526060810187905290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050505050505050565b60086020526000908152604090205460ff1681565b612312613471565b60009182526006602052604090912080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016911515919091179055565b600061235a613697565b6123c986868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050604080516020808a02828101820190935289825290935089925088918291850190849080828437600092019190915250879250613951915050565b9695505050505050565b60608083839050604051908082528060200260200182016040528015612403578160200160208202803883390190505b50905060005b83811015610da15761242c85858381811061242057fe5b90506020020135611ee6565b82828151811061243857fe5b6020908102919091010152600101612409565b606060008383905060405190808252806020026020018201604052801561247c578160200160208202803883390190505b5091506000612489612939565b905060606124c9868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250612a7392505050565b905060005b858110156125b5576124de61415f565b6124f98888848181106124ed57fe5b90506020020135612d21565b905080600001517affffffffffffffffffffffffffffffffffffffffffffffffffffff1686838151811061252957fe5b60200260200101818152505084158015612575575087878381811061254a57fe5b905060200201357f705553440000000000000000000000000000000000000000000000000000000014155b156125ac5782828151811061258657fe5b6020026020010151806125a957506125a984826020015164ffffffffff1661300c565b94505b506001016124ce565b5050509250929050565b6125c7613471565b6000818152600a6020526040902054612627576040805162461bcd60e51b815260206004820152601860248201527f4e6f20696e766572746564207072696365206578697374730000000000000000604482015290519081900360640190fd5b6000818152600a60205260408120818155600181018290556002810182905560030180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff000016905561267a82600b6134f3565b90508015611c5d5760408051838152600060208201819052818301819052606082015290517f37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a9181900360800190a15050565b6000610d0582612a57565b6000818152600a602052604090208054612739576040805162461bcd60e51b815260206004820152601e60248201527f43616e6e6f7420667265657a65206e6f6e2d696e766572736520726174650000604482015290519081900360640190fd5b600381015460ff1615801561275857506003810154610100900460ff16155b6127a9576040805162461bcd60e51b815260206004820152601a60248201527f546865207261746520697320616c72656164792066726f7a656e000000000000604482015290519081900360640190fd5b60006127b483611ee6565b90506000811180156127d857508160010154811015806127d8575081600201548111155b156128b357600182015460038301805460028501548414610100027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090921693851493909317169190911790556000612851846135d3565b6000858152600d6020908152604091829020839055815187815290810185905280820183905233606082015290519192507ff72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0919081900360800190a1506113d7565b6040805162461bcd60e51b815260206004820152601260248201527f526174652077697468696e20626f756e64730000000000000000000000000000604482015290519081900360640190fd5b42610258808201909192565b60066020526000908152604090205460ff1681565b60008061292e8484613201565b915091509250929050565b6000612943613bc5565b73ffffffffffffffffffffffffffffffffffffffff166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f726174655374616c65506572696f6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129db57600080fd5b505afa1580156129ef573d6000803e3d6000fd5b505050506040513d6020811015612a0557600080fd5b5051905090565b6000827f70555344000000000000000000000000000000000000000000000000000000001415612a3e57506000610da5565b612a5082612a4b85612a57565b61300c565b9392505050565b6000612a6282612d21565b6020015164ffffffffff1692915050565b60606000612a7f613027565b905073ffffffffffffffffffffffffffffffffffffffff811615612cee5760608351604051908082528060200260200182016040528015612aca578160200160208202803883390190505b50905060005b8451811015612b595760076000868381518110612ae957fe5b6020026020010151815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828281518110612b2c57fe5b73ffffffffffffffffffffffffffffffffffffffff90921660209283029190910190910152600101612ad0565b506040517f7d723cac00000000000000000000000000000000000000000000000000000000815260206004820181815283516024840152835173ffffffffffffffffffffffffffffffffffffffff861693637d723cac93869392839260440191808601910280838360005b83811015612bdc578181015183820152602001612bc4565b505050509050019250505060006040518083038186803b158015612bff57600080fd5b505afa158015612c13573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526020811015612c5a57600080fd5b8101908080516040519392919084640100000000821115612c7a57600080fd5b908301906020820185811115612c8f57600080fd5b8251866020820283011164010000000082111715612cac57600080fd5b82525081516020918201928201910280838360005b83811015612cd9578181015183820152602001612cc1565b505050509050016040525050509250506115ab565b8251604051908082528060200260200182016040528015612d19578160200160208202803883390190505b509392505050565b612d2961415f565b60008281526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16612d5783613bf0565b15612f2b5760408051600481526024810182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167ffeaf968c0000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b60208310612e1c57805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe09092019160209182019101612ddf565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114612e7c576040519150601f19603f3d011682016040523d82523d6000602084013e612e81565b606091505b50915091508115612f235760008060008380602001905160a0811015612ea657600080fd5b50805160208201516060909201516040805180820190915291955091935090915080612ee88b612ed68187613c35565b8769ffffffffffffffffffff16613cde565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020018264ffffffffff16815250975050505050505050610d08565b5050506115ab565b6000838152600c6020526040902054612f4261415f565b5060008481526004602090815260408083208484528252918290208251808401845290547affffffffffffffffffffffffffffffffffffffffffffffffffffff80821683527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff1692820192909252825180840190935280519092918291612fd19189911686613cde565b7affffffffffffffffffffffffffffffffffffffffffffffffffffff168152602001826020015164ffffffffff168152509350505050610d08565b60004261301f838563ffffffff613e1c16565b109392505050565b6000613031613bc5565b73ffffffffffffffffffffffffffffffffffffffff16639ee5955a7f53797374656d53657474696e67730000000000000000000000000000000000007f61676772656761746f725761726e696e67466c616773000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156129db57600080fd5b6000827f705553440000000000000000000000000000000000000000000000000000000014156130fb57506000610da5565b60008381526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16801580613141575073ffffffffffffffffffffffffffffffffffffffff8316155b15613150576000915050610da5565b8273ffffffffffffffffffffffffffffffffffffffff1663357e47fe826040518263ffffffff1660e01b8152600401808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060206040518083038186803b1580156131cd57600080fd5b505afa1580156131e1573d6000803e3d6000fd5b505050506040513d60208110156131f757600080fd5b5051949350505050565b600082815260076020526040812054819073ffffffffffffffffffffffffffffffffffffffff1661323185613bf0565b156133c95760408051602480820187905282518083039091018152604490910182526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f9a6fc8f50000000000000000000000000000000000000000000000000000000017815291518151919260009260609273ffffffffffffffffffffffffffffffffffffffff87169286928291908083835b6020831061330557805182527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016132c8565b6001836020036101000a038019825116818451168082178552505050505050905001915050600060405180830381855afa9150503d8060008114613365576040519150601f19603f3d011682016040523d82523d6000602084013e61336a565b606091505b509150915081156133c1576000808280602001905160a081101561338d57600080fd5b50602081015160609091015190925090506133b28a6133ac8185613c35565b8b613cde565b975095506114c6945050505050565b505050613469565b6133d161415f565b5060008581526004602090815260408083208784528252918290208251808401909352547affffffffffffffffffffffffffffffffffffffffffffffffffffff81168084527b0100000000000000000000000000000000000000000000000000000090910464ffffffffff169183019190915261345090879087613cde565b60209091015190935064ffffffffff1691506114c69050565b509250929050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146134c75760405162461bcd60e51b815260040180806020018281038252602f815260200180614243602f913960400191505060405180910390fd5b565b6000612a508383670de0b6b3a7640000613e76565b6000612a508383670de0b6b3a7640000613eb3565b6000805b82548110156135c9578383828154811061350d57fe5b906000526020600020015414156135c15782818154811061352a57fe5b6000918252602082200155825483907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810190811061356557fe5b906000526020600020015483828154811061357c57fe5b60009182526020909120015582546135b6847fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83016141a9565b506001915050610da5565b6001016134f7565b5060009392505050565b60008181526007602052604081205473ffffffffffffffffffffffffffffffffffffffff1661360183613bf0565b15613681578073ffffffffffffffffffffffffffffffffffffffff1663668a0f026040518163ffffffff1660e01b815260040160206040518083038186803b15801561364c57600080fd5b505afa158015613660573d6000803e3d6000fd5b505050506040513d602081101561367657600080fd5b50519150610d089050565b50506000818152600c6020526040902054610d08565b60055473ffffffffffffffffffffffffffffffffffffffff1633146134c75760405162461bcd60e51b815260040180806020018281038252602781526020018061421c6027913960400191505060405180910390fd5b60008060006136fb86611ee6565b91508386141561370f575083915080611e33565b61371884611ee6565b90508015611e33576137348161106b878563ffffffff6134c916565b925093509350939050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061378f57fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156137ce578160200160208202803883390190505b50905060005b8351811015613810578381815181106137e957fe5b60200260200101518282815181106137fd57fe5b60209081029190910101526001016137d4565b5060005b82518110156138535782818151811061382957fe5b602002602001015182828651018151811061384057fe5b6020908102919091010152600101613814565b5092915050565b6000613864614176565b506000828152600a6020908152604091829020825160a0810184528154815260018201549281019290925260028101549282019290925260039091015460ff808216151560608401819052610100909204161515608083015280612a5057506080015192915050565b6000826138dc57506000610da5565b828202828482816138e957fe5b0414612a505760405162461bcd60e51b81526004018080602001828103825260218152602001806142726021913960400191505060405180910390fd5b6000610f2e7f45786368616e6765720000000000000000000000000000000000000000000000613ee5565b600082518451146139935760405162461bcd60e51b81526004018080602001828103825260388152602001806142c46038913960400191505060405180910390fd5b610258420182106139eb576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8451811015613aff576000858281518110613a0557fe5b60200260200101519050848281518110613a1b57fe5b602002602001015160001415613a625760405162461bcd60e51b81526004018080602001828103825260398152602001806143836039913960400191505060405180910390fd5b807f70555344000000000000000000000000000000000000000000000000000000001415613ac15760405162461bcd60e51b81526004018080602001828103825260318152602001806142936031913960400191505060405180910390fd5b613aca81612a57565b841015613ad75750613af7565b613af581868481518110613ae757fe5b602002602001015186613fdb565b505b6001016139ee565b507f1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba578484604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613b67578181015183820152602001613b4f565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613ba6578181015183820152602001613b8e565b5050505090500194505050505060405180910390a15060019392505050565b6000610f2e7f466c657869626c6553746f726167650000000000000000000000000000000000613ee5565b60008181526006602052604081205460ff16158015610d0557505060009081526007602052604090205473ffffffffffffffffffffffffffffffffffffffff16151590565b600080821215613c8c576040805162461bcd60e51b815260206004820152601b60248201527f4e656761746976652072617465206e6f7420737570706f727465640000000000604482015290519081900360640190fd5b60008381526008602052604090205460ff16156115ab57600083815260086020526040812054613cc19060129060ff16614098565b600a0a9050613cd6838263ffffffff6138cd16565b915050610da5565b6000613ce8614176565b506000848152600a6020908152604091829020825160a08101845281548082526001830154938201939093526002820154938101939093526003015460ff8082161515606085015261010090910416151560808301521580613d48575083155b15613d565783915050612a50565b6000858152600d6020526040902054849250808410801590613d79575081606001515b15613d8a5781602001519250613e13565b808410158015613d9b575081608001515b15613dac5781604001519250613e13565b8151600090613dc290600263ffffffff6138cd16565b9050858111613dd45760009350613de7565b613de4818763ffffffff61409816565b93505b82602001518410613dfe5782602001519350613e11565b82604001518411613e1157826040015193505b505b50509392505050565b600082820183811015612a50576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600080600a8304613e8d868663ffffffff6138cd16565b81613e9457fe5b0490506005600a825b0610613ea757600a015b600a9004949350505050565b600080613ed984613ecd87600a870263ffffffff6138cd16565b9063ffffffff6140f516565b90506005600a82613e9d565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a2000000000000000000000000000000093810193909352603180840186905282518085039091018152605190930190915273ffffffffffffffffffffffffffffffffffffffff1690816138535760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613fa0578181015183820152602001613f88565b50505050905090810190601f168015613fcd5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000838152600c60209081526040808320805460010190819055815180830183527affffffffffffffffffffffffffffffffffffffffffffffffffffff968716815264ffffffffff9586168185019081529785526004845282852091855292529091209051815494519092167b01000000000000000000000000000000000000000000000000000000029183167fffffffffff00000000000000000000000000000000000000000000000000000090941693909317909116179055565b6000828211156140ef576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080821161414b576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161415657fe5b04949350505050565b604080518082019091526000808252602082015290565b6040518060a001604052806000815260200160008152602001600081526020016000151581526020016000151581525090565b8154818355818111156113d7576000838152602090206113d7918101908301610f3191905b808211156141e257600081556001016141ce565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7752617465206f6620705553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e43757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e6c6f7765724c696d6974206d7573742062652062656c6f772074686520656e747279506f696e7475707065724c696d6974206d757374206265206c657373207468616e20646f75626c6520656e747279506f696e7441676772656761746f7220646563696d616c732073686f756c64206265206c6f776572206f7220657175616c20746f2031385a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e75707065724c696d6974206d7573742062652061626f76652074686520656e747279506f696e74a265627a7a723158202e69ef1f85a4223da1aef5dbe7c37ad55765ff57a873267446b761ffe70f5c2c64736f6c6343000510003243757272656e6379206b6579206c656e67746820616e642072617465206c656e677468206d757374206d617463682e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7752617465206f6620705553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e49542e43757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682e5a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561642e",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "bytes32[]",
							"name": "_currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_newRates",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorAdded",
					"type": "event",
					"signature": "0x0bcae573430f69c5361e5d76534d3f61d2d803958778680cd74be9dc6299bc63"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "AggregatorRemoved",
					"type": "event",
					"signature": "0xec70e890fc7db7de4059b114c9093a1f41283d18ffcfbcac45566feea4d4f777"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						}
					],
					"name": "InversePriceConfigured",
					"type": "event",
					"signature": "0x37efb38e92b0f94698f6df0c9070e2f00946862a042ac09e34ae8c547684240a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "initiator",
							"type": "address"
						}
					],
					"name": "InversePriceFrozen",
					"type": "event",
					"signature": "0xf72828471e37526c68fd812a1fa6eeff993c3f81bd96c0242dc5b3e144145df0"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOracle",
							"type": "address"
						}
					],
					"name": "OracleUpdated",
					"type": "event",
					"signature": "0x3df77beb5db05fcdd70a30fc8adf3f83f9501b68579455adbd100b8180940394"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "RateDeleted",
					"type": "event",
					"signature": "0xe69d655565c7ff1353d8eaeea62fb7904fa9696987431ec351be288c865f1ae1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"indexed": false,
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						}
					],
					"name": "RatesUpdated",
					"type": "event",
					"signature": "0x1bc0fc8997efa076f59b5ef02c315bc5390f7a6d24d661ce12128c01a3b0ba57"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "aggregatorAddress",
							"type": "address"
						}
					],
					"name": "addAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f0e084f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "aggregatorKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4f72def6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "aggregatorWarningFlags",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c36b837"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "aggregators",
					"outputs": [
						{
							"internalType": "contract AggregatorV2V3Interface",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7103353e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "anyRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a7d36d1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "canFreezeRate",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3375fcd1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "aggregator",
							"type": "address"
						}
					],
					"name": "currenciesUsingAggregator",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencies",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2678df96"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyByExternal",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeedb421e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currencyKeyDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb295ad34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "currentRoundForRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x935f4abd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "deleteRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x45938849"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x654a60ac"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "effectiveValueAndRates",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "sourceRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "destinationRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8295016a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "effectiveValueAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x266da16b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "freezeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xde02795e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getCurrentRoundId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7a018a1e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "startingRoundId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startingTimestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timediff",
							"type": "uint256"
						}
					],
					"name": "getLastRoundIdBeforeElapsedSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x109e46a2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "inversePricing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "frozenAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "frozenAtLowerLimit",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x728dec29"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "invertedKeys",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ea913d4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "lastRateUpdateTimes",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xce8480ea"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "lastRateUpdateTimesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x05a046e5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nowPlusLimit",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xde630ba7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oracle",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dc0d1d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateAndInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0c71cd23"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "roundId",
							"type": "uint256"
						}
					],
					"name": "rateAndTimestampAtRound",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfdadbc7e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateAndUpdatedTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4308a94f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateForCurrency",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac82f608"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFlagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x38aa1b99"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsFrozen",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaf3aea86"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2528f0fe"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "rateIsStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x009919c0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rateStalePeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ee4951b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesAndInvalidForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8e5bbd5"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "numRounds",
							"type": "uint256"
						}
					],
					"name": "ratesAndUpdatedTimeForCurrencyLastNRounds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "rates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2d7371e1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "ratesForCurrencies",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc2c8a676"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2bed9e0c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc8e6f395"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "roundFrozen",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f6e9d15"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setCurrencyToExternalAggregator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbecb1954"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "entryPoint",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "upperLimit",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "lowerLimit",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "freezeAtUpperLimit",
							"type": "bool"
						},
						{
							"internalType": "bool",
							"name": "freezeAtLowerLimit",
							"type": "bool"
						}
					],
					"name": "setInversePricing",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb199c764"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_oracle",
							"type": "address"
						}
					],
					"name": "setOracle",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7adbf973"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "newRates",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "timeSent",
							"type": "uint256"
						}
					],
					"name": "updateRates",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbfa005ce"
				}
			],
			"source": {
				"keccak256": "0x96609f739d314a707eb150ed8883e75d40919604583d99b6047e879684f44c2e",
				"urls": [
					"bzz-raw://2835958af8a14b1479d25550c8f9ad1dd3f8def6f6bf658c17ee4cf9b16e9fa6",
					"dweb:/ipfs/Qmac81WuSvmJPGEqH3RcQutja4zVTBb3wTudnfTcMMc6s6"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeRates.sol": "ExchangeRates"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 20000
					},
					"remappings": []
				},
				"sources": {
					"ExchangeRates.sol": {
						"keccak256": "0x96609f739d314a707eb150ed8883e75d40919604583d99b6047e879684f44c2e",
						"urls": [
							"bzz-raw://2835958af8a14b1479d25550c8f9ad1dd3f8def6f6bf658c17ee4cf9b16e9fa6",
							"dweb:/ipfs/Qmac81WuSvmJPGEqH3RcQutja4zVTBb3wTudnfTcMMc6s6"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516112e23803806112e28339818101604052606081101561003357600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a0576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039384166001600160a01b03199182161790915560038054929093169116179055506111ad806101356000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80636b3905c4116100de5780639b217f9011610097578063cb5147b211610071578063cb5147b21461045d578063d0cc82e314610483578063da7bd3e91461048b578063ee1d036c146104b757610173565b80639b217f90146103fd578063ae2e933b14610429578063b5ddb9c71461043157610173565b80636b3905c41461037357806370a082311461039957806371e780f3146103bf57806379ba5097146103c75780638da5cb5b146103cf57806397f46527146103d757610173565b8063326a3cfb11610130578063326a3cfb146102ab578063449d0eb1146102d1578063458efde31461030d57806345e5441f146103155780634e5a60911461034757806353a47bb71461036b57610173565b80631627540c1461017857806319db2228146101a057806319e740c0146101c6578063204b676a146101fe578063227d517a146102245780632f5bb6611461024a575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b03166104e3565b005b61019e600480360360208110156101b657600080fd5b50356001600160a01b031661053f565b6101ec600480360360208110156101dc57600080fd5b50356001600160a01b031661059b565b60408051918252519081900360200190f35b6101ec6004803603602081101561021457600080fd5b50356001600160a01b03166105dd565b6101ec6004803603602081101561023a57600080fd5b50356001600160a01b03166105f8565b6102706004803603602081101561026057600080fd5b50356001600160a01b031661060a565b6040518082600260200280838360005b83811015610298578181015183820152602001610280565b5050505090500191505060405180910390f35b6101ec600480360360208110156102c157600080fd5b50356001600160a01b031661065b565b6102f7600480360360208110156102e757600080fd5b50356001600160a01b031661066d565b6040518151815280826141008083836020610280565b61019e6106f3565b6101ec6004803603606081101561032b57600080fd5b506001600160a01b0381351690602081013590604001356108dc565b61034f610918565b604080516001600160a01b039092168252519081900360200190f35b61034f610927565b6101ec6004803603602081101561038957600080fd5b50356001600160a01b0316610936565b6101ec600480360360208110156103af57600080fd5b50356001600160a01b031661094f565b6101ec61096a565b61019e610970565b61034f610a2c565b6101ec600480360360208110156103ed57600080fd5b50356001600160a01b0316610a3b565b6101ec6004803603604081101561041357600080fd5b506001600160a01b038135169060200135610a4d565b61034f610a68565b61019e6004803603604081101561044757600080fd5b506001600160a01b038135169060200135610a77565b61019e6004803603602081101561047357600080fd5b50356001600160a01b0316610ad0565b6101ec610b2c565b610270600480360360408110156104a157600080fd5b506001600160a01b038135169060200135610b32565b6101ec600480360360408110156104cd57600080fd5b506001600160a01b038135169060200135610ba1565b6104eb610bb4565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610547610bb4565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f6d1d088acfe4f30d6014f6f693c61c16258f9784a6ed8439b2c59213eecb62959181900360200190a150565b6000806105a7836105dd565b905060005b818110156105d4576105be8482610a4d565b156105cc5791506105d89050565b6001016105ac565b5090505b919050565b6001600160a01b031660009081526004602052604090205490565b60066020526000908152604090205481565b610612610f98565b600061061d8361059b565b9050610628836105dd565b81141561064a57505060408051808201909152600080825260208201526105d8565b6106548382610b32565b9392505050565b60056020526000908152604090205481565b610675610fb6565b61067d610fb6565b6000610688846105dd565b905060005b818110156106ea5761069d610f98565b6106a78683610b32565b8051909150846002840261020881106106bc57fe5b60200201528060016020020151848360020260010161020881106106dc57fe5b60200201525060010161068d565b50909392505050565b60006106fe336105dd565b90506000805b828110156107a35760006107183383610a4d565b90504281111561072857506107a3565b60006107343384610ba1565b905080156107995760408051808201825260008082526020808301829052338252600490529190912080548590811061076957fe5b9060005260206000209060020201906002610785929190610fd6565b50610796848263ffffffff610bff16565b93505b5050600101610704565b5080156108d8576007546107bd908263ffffffff610c5916565b600755336000908152600560205260409020546107e0908263ffffffff610c5916565b3360009081526005602090815260408083209390935560069052205461080c908263ffffffff610bff16565b33600081815260066020908152604080832094909455600254845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b15801561087157600080fd5b505af1158015610885573d6000803e3d6000fd5b505050506040513d602081101561089b57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b600460205282600052604060002082815481106108f557fe5b9060005260206000209060020201816002811061090e57fe5b0154925083915050565b6002546001600160a01b031681565b6001546001600160a01b031681565b60006109418261060a565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b60075481565b6001546001600160a01b031633146109b95760405162461bcd60e51b81526004018080602001828103825260358152602001806110656035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6000610a468261060a565b6001610944565b6000610a598383610b32565b60005b60200201519392505050565b6003546001600160a01b031681565b6003546001600160a01b0316331480610ac15760405162461bcd60e51b81526004018080602001828103825260328152602001806111476032913960400191505060405180910390fd5b610acb8383610cb6565b505050565b610ad8610bb4565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b61010481565b610b3a610f98565b6001600160a01b0383166000908152600460205260409020805483908110610b5e57fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311610b81575050505050905092915050565b6000610bad8383610b32565b6001610a5c565b6000546001600160a01b03163314610bfd5760405162461bcd60e51b815260040180806020018281038252602f815260200180611118602f913960400191505060405180910390fd5b565b600082820183811015610654576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610cb0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80610d08576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b600754610d1b908263ffffffff610bff16565b600755600254604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d6957600080fd5b505afa158015610d7d573d6000803e3d6000fd5b505050506040513d6020811015610d9357600080fd5b50516007541115610dd55760405162461bcd60e51b81526004018080602001828103825260478152602001806110d16047913960600191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610104811115610e45576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b6301dfe200420181610e71576001600160a01b0384166000908152600560205260409020839055610efe565b80610e7f8560018503610a4d565b10610ebb5760405162461bcd60e51b815260040180806020018281038252603781526020018061109a6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610ee4908463ffffffff610bff16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925284825281830187905280546001810180835591855292909320610f4d9260029081029091019190611019565b5050604080514281526020810185905281516001600160a01b038716927fedd34dc5a5ea12bd847909801d0660781b50e26c7f4cec3c7b308f1ea410635c928290030190a250505050565b60405180604001604052806002906020820280388339509192915050565b604051806141000160405280610208906020820280388339509192915050565b8260028101928215611009579160200282015b82811115611009578251829060ff16905591602001919060010190610fe9565b50611015929150611047565b5090565b8260028101928215611009579160200282015b8281111561100957825182559160200191906001019061102c565b61106191905b80821115611015576000815560010161104d565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c792074686520466565506f6f6c20636f6e7472616374732063616e20706572666f726d207468697320616374696f6ea265627a7a72315820179734474cce7debd9dab5d02f787bc9823c6df4a6c7216d2569ef4e15d6f89b64736f6c63430005100032",
			"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": "0xbdf5405891e0b4de682452d53fa1874f325467b4a75d4077495208a88b268442",
				"urls": [
					"bzz-raw://8f7b8ebc4b0987559c39ab95fcd469022dafac0c2ede9ba07dc32643821f4afe",
					"dweb:/ipfs/QmWDFDtSNgoqiaVMW2uogWBWXHNX31xMs5jh5A8Y7sMWLu"
				]
			},
			"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": "0xbdf5405891e0b4de682452d53fa1874f325467b4a75d4077495208a88b268442",
						"urls": [
							"bzz-raw://8f7b8ebc4b0987559c39ab95fcd469022dafac0c2ede9ba07dc32643821f4afe",
							"dweb:/ipfs/QmWDFDtSNgoqiaVMW2uogWBWXHNX31xMs5jh5A8Y7sMWLu"
						]
					}
				},
				"version": 1
			}
		},
		"RewardEscrowV2": {
			"bytecode": "608060408190526303bfc400600c556224ea00600d5562093a80600e55630241ebdb60e61b815273__$58c62a0096148744468f14ce5088c1760d$__9063907af6c09060849060209060048186803b1580156200005b57600080fd5b505af415801562000070573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250620000969190810190620001f1565b6103e802601155348015620000aa57600080fd5b5060405162003eba38038062003eba833981016040819052620000cd91620001b2565b8181806249d400836001600160a01b038116620001075760405162461bcd60e51b8152600401620000fe9062000297565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200015491849062000271565b60405180910390a1504201600255600380546001600160a01b0319166001600160a01b03929092169190911790555050600160075550620003009050565b80516200019f81620002db565b92915050565b80516200019f81620002f5565b60008060408385031215620001c657600080fd5b6000620001d4858562000192565b9250506020620001e78582860162000192565b9150509250929050565b6000602082840312156200020457600080fd5b6000620002128484620001a5565b949350505050565b6200022581620002c7565b82525050565b6200022581620002b2565b600062000245601983620002a9565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200028182856200021a565b6200029060208301846200022b565b9392505050565b602080825281016200019f8162000236565b90815260200190565b60006001600160a01b0382166200019f565b90565b60006200019f8260006200019f82620002b2565b620002e681620002b2565b8114620002f257600080fd5b50565b620002e681620002c4565b613baa80620003106000396000f3fe608060405234801561001057600080fd5b506004361061027f5760003560e01c806370a082311161015c5780638da5cb5b116100ce578063b95375bd11610087578063b95375bd1461052e578063cd7b43dd14610541578063d621a16914610554578063e6b2cf6c14610567578063eac624891461056f578063f0b882ba1461058f5761027f565b80638da5cb5b146104dd578063910a326d146104e55780639ad6a7e5146104ed578063a0416ed3146104f5578063ae58254914610508578063b0fd59631461051b5761027f565b80637839b92f116101205780637839b92f146104665780637993e6991461047957806379ba50971461048c5780637cc1d7561461049457806380d46f58146104a7578063899ffef4146104c85761027f565b806370a082311461041057806371e780f31461042357806373307e401461042b578063741853601461043e578063773ab39f146104465761027f565b8063326a3cfb116101f557806346ba2d90116101b957806346ba2d90146103b257806353a47bb7146103ba5780635b85c200146103cf5780635eb8cf25146103e25780636154c343146103ea5780636dc05bd3146103fd5761027f565b8063326a3cfb1461035057806334c7fec91461036357806337088ffc146103765780634525aabc1461037e57806345626bd6146103915761027f565b8063178c565511610247578063178c5655146102f45780631bb47b44146102fc578063204b676a1461030f578063227d517a146103225780632af64bd31461033557806330104c5f1461033d5761027f565b8063018c6c551461028457806304f3bcec1461029957806305662986146102b75780630fcdefb7146102cc5780631627540c146102e1575b600080fd5b610297610292366004612c2b565b6105a2565b005b6102a16105ea565b6040516102ae91906137fc565b60405180910390f35b6102bf6105f9565b6040516102ae91906137b2565b6102d461061a565b6040516102ae91906137c0565b6102976102ef36600461292f565b610620565b610297610673565b61029761030a366004612a61565b6106d0565b6102d461031d36600461292f565b610721565b6102d461033036600461292f565b61073c565b6102bf61074e565b6102d461034b3660046129c0565b610865565b6102d461035e36600461292f565b6108c4565b610297610371366004612bcc565b6108d6565b6102d461098c565b61029761038c366004612c2b565b610992565b6103a461039f3660046129c0565b6109cf565b6040516102ae929190613a51565b6102d46109ff565b6103c2610a05565b6040516102ae9190613665565b6102976103dd366004612c2b565b610a14565b6102d4610a51565b6103a46103f83660046129c0565b610a57565b6102d461040b36600461296b565b610a91565b6102d461041e36600461292f565b610b3e565b6102d4610b59565b6103c261043936600461292f565b610b5f565b610297610b7a565b610459610454366004612a61565b610cd0565b6040516102ae9190613759565b61029761047436600461292f565b610e70565b610297610487366004612c2b565b61116e565b6102976111cd565b6102976104a236600461292f565b611269565b6104ba6104b536600461296b565b6113b9565b6040516102ae9291906139ab565b6104d0611642565b6040516102ae9190613748565b6103c2611710565b6102d461171f565b6102d4611725565b610297610503366004612a61565b61172b565b6102d46105163660046129c0565b6117f6565b6102d461052936600461292f565b611824565b61029761053c366004612b10565b611836565b61029761054f3660046129fa565b611a21565b610297610562366004612aae565b611a2f565b6102d4611bf0565b61058261057d366004612a61565b611bf6565b6040516102ae91906137a1565b61029761059d36600461296b565b611ce2565b6105aa61201e565b600d8190556040517fe829efae5d8a2f7163f46c23a8190bf14625c1e446561ca0f5cf279ab7c8015e906105df9083906137c0565b60405180910390a150565b6003546001600160a01b031681565b600042610613600e54600f5461204a90919063ffffffff16565b1190505b90565b600f5481565b61062861201e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906105df908390613665565b61067b61201e565b42600f819055600e547fceade2b9bc02350b17075c94bb699508b89ed2752f501ea42024b1bb5fd3444591906106b890829063ffffffff61204a16565b6040516106c69291906139cb565b60405180910390a1565b6106d861206f565b6001600160a01b0316336001600160a01b0316146107115760405162461bcd60e51b81526004016107089061396b565b60405180910390fd5b61071c838383612089565b505050565b6001600160a01b031660009081526006602052604090205490565b60096020526000908152604090205481565b6000606061075a611642565b905060005b815181101561085c57600082828151811061077657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b03908116939116916321f8a721916107c7918691016137c0565b60206040518083038186803b1580156107df57600080fd5b505afa1580156107f3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610817919081019061294d565b6001600160a01b031614158061084257506000818152600460205260409020546001600160a01b0316155b156108535760009350505050610617565b5060010161075f565b50600191505090565b600061086f6127a0565b506001600160a01b0383166000908152600560209081526040808320858452825291829020825180840190935280546001600160401b0316835260010154908201526108ba816122a1565b9150505b92915050565b60086020526000908152604090205481565b6000805b8281101561097b57336000908152600560205260408120818686858181106108fe57fe5b90506020020135815260200190815260200160002090508060010154600014610972576040805180820190915281546001600160401b031681526001820154602082015260009061094e906122a1565b9050801561095e57600060018301555b61096e848263ffffffff61204a16565b9350505b506001016108da565b50801561071c5761071c33826122d2565b600d5481565b61099a61201e565b600c8190556040517f6b92bd20c4b2e6861047ba7209ddc78d538419aae187d0df46716b827b8997a4906105df9083906137c0565b6005602090815260009283526040808420909152908252902080546001909101546001600160401b039091169082565b60025481565b6001546001600160a01b031681565b610a1c61201e565b60118190556040517f7829b48ec37298e3e9b1cb2971e47abc072159681eaf558f8649a25d66ef8672906105df9083906137c0565b600c5481565b6001600160a01b039190911660009081526005602090815260408083209383529290522080546001909101546001600160401b0390911691565b6000805b82811015610b3657610aa56127a0565b6001600160a01b038616600090815260056020526040812090868685818110610aca57fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015610b2d576000610b17826122a1565b9050610b29848263ffffffff61204a16565b9350505b50600101610a95565b509392505050565b6001600160a01b031660009081526008602052604090205490565b600b5481565b600a602052600090815260409020546001600160a01b031681565b6060610b84611642565b905060005b8151811015610ccc576000828281518110610ba057fe5b602002602001015190506000600360009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610be2919061365a565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610c0e9291906137dc565b60206040518083038186803b158015610c2657600080fd5b505afa158015610c3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c5e919081019061294d565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610cba90849084906137ce565b60405180910390a15050600101610b89565b5050565b6060828201838111610d16576040805160008082526020820190925290610d0d565b610cfa6127b7565b815260200190600190039081610cf25790505b50915050610e69565b6001600160a01b038516600090815260066020526040902054811115610d5157506001600160a01b0384166000908152600660205260409020545b604080518583038082526020808202830101909252606090828015610d9057816020015b610d7d6127b7565b815260200190600190039081610d755790505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604081208054838a01908110610dc457fe5b90600052602060002001549050610dd96127a0565b506001600160a01b03891660009081526005602090815260408083208484528252918290208251808401845281546001600160401b03908116825260019092015481840190815284516060810186528251909316835251928201929092529182018390528451909190859085908110610e4e57fe5b60209081029190910101525050600101610d96565b50925050505b9392505050565b610e786123ed565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610eb057600080fd5b505afa158015610ec4573d6000803e3d6000fd5b505050506001600160a01b038116600090815260106020526040902054610efd5760405162461bcd60e51b8152600401610708906138ab565b6001600160a01b038116600090815260086020526040902054610f325760405162461bcd60e51b81526004016107089061398b565b6011546001600160a01b03821660009081526010602052604090205411610fbd57610f9f816040518060400160405280426001600160401b0316815260200160106000866001600160a01b03166001600160a01b0316815260200190815260200160002054815250612407565b6001600160a01b03811660009081526010602052604081205561116b565b6000610fc7612465565b6001600160a01b031663204b676a836040518263ffffffff1660e01b8152600401610ff29190613665565b60206040518083038186803b15801561100a57600080fd5b505afa15801561101e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110429190810190612c49565b905060015b81811161071c576110566127e1565b61105e612465565b6001600160a01b031663da7bd3e9858486036040518363ffffffff1660e01b815260040161108d92919061372d565b604080518083038186803b1580156110a457600080fd5b505afa1580156110b8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110dc9190810190612bae565b8051602082015191925090428210156110f75750505061071c565b61111e866040518060400160405280856001600160401b0316815260200184815250612407565b6001600160a01b038616600090815260106020526040902054611147908263ffffffff61247f16565b6001600160a01b038716600090815260106020526040902055505050600101611047565b50565b61117661201e565b600d548111156111985760405162461bcd60e51b81526004016107089061395b565b600e8190556040517f723c43349da7aeae47190396f2e2fbe6bedb46b9e9705bc5b908d65bc7a1e0e6906105df9083906137c0565b6001546001600160a01b031633146111f75760405162461bcd60e51b81526004016107089061381b565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261123a926001600160a01b0391821692911690613704565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6001600160a01b0381163314156112925760405162461bcd60e51b8152600401610708906138fb565b61129a6105f9565b6112b65760405162461bcd60e51b8152600401610708906138db565b6112be6124a7565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b81526004016112e991906136a3565b60206040518083038186803b15801561130157600080fd5b505afa158015611315573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113399190810190612c49565b156113565760405162461bcd60e51b81526004016107089061399b565b336000818152600a60205260409081902080546001600160a01b0319166001600160a01b038516179055517fcf51776bb16e5780edcca2e64a9ba8a9c7d5d00a6699cbd7606e465361ba4852906113ae908490613665565b60405180910390a250565b600060606113c56124bb565b6001600160a01b0316336001600160a01b0316146113f55760405162461bcd60e51b81526004016107089061382b565b826114125760405162461bcd60e51b81526004016107089061390b565b60408051848152602080860282010190915283801561144b57816020015b6114386127a0565b8152602001906001900390816114305790505b50905060005b83811015611552576001600160a01b03861660009081526005602052604081208187878581811061147e57fe5b9050602002013581526020019081526020016000209050600081600101541115611549576040805180820190915281546001600160401b031681526001820154602082015283518490849081106114d157fe5b60200260200101819052506114f381600101548561204a90919063ffffffff16565b6001600160a01b038816600090815260056020526040812091955087878581811061151a57fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611451565b5081156115f35761156385836124e6565b61156b612545565b6001600160a01b031663a9059cbb6115816124bb565b846040518363ffffffff1660e01b815260040161159f92919061372d565b602060405180830381600087803b1580156115b957600080fd5b505af11580156115cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115f19190810190612c0d565b505b846001600160a01b03167f929c8a2a06883affd05f43baf52398dbbfb6930730ce1bdb2cfe413cd44b107c85858542604051611632949392919061376a565b60405180910390a2935093915050565b60608061164d61255e565b60408051600380825260808201909252919250606091906020820183803883390190505090507f5065726946696e616e6365427269646765546f4f7074696d69736d0000000000816000815181106116a157fe5b6020026020010181815250506b526577617264457363726f7760a01b816001815181106116ca57fe5b6020026020010181815250506b53797374656d53746174757360a01b816002815181106116f357fe5b60200260200101818152505061170982826125f2565b9250505090565b6000546001600160a01b031681565b600e5481565b60115481565b6001600160a01b0383166117515760405162461bcd60e51b81526004016107089061386b565b611759612545565b6001600160a01b03166323b872dd3330856040518463ffffffff1660e01b815260040161178893929190613673565b602060405180830381600087803b1580156117a257600080fd5b505af11580156117b6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117da9190810190612c0d565b6107115760405162461bcd60e51b8152600401610708906138eb565b6006602052816000526040600020818154811061180f57fe5b90600052602060002001600091509150505481565b60106020526000908152604090205481565b60025442106118575760405162461bcd60e51b81526004016107089061394b565b61185f61201e565b84831461187e5760405162461bcd60e51b81526004016107089061397b565b84811461189d5760405162461bcd60e51b81526004016107089061389b565b60005b85811015611a185760008787838181106118b657fe5b90506020020160206118cb919081019061292f565b905060008686848181106118db57fe5b90506020020135905060008585858181106118f257fe5b6001600160a01b03861660009081526010602090815260409091205491029290920135925050156119355760405162461bcd60e51b81526004016107089061383b565b600b54611948908363ffffffff61204a16565b600b556001600160a01b038316600090815260086020526040902054611974908363ffffffff61204a16565b6001600160a01b0384166000908152600860209081526040808320939093556009905220546119a9908263ffffffff61204a16565b6001600160a01b0384166000818152600960209081526040808320949094556010905282902084905590517fa2a5ac2d2500e30aea994fc4bc99ef5535241c79d428e43c3fe204862f2874d690611a05908590859042906139d9565b60405180910390a25050506001016118a0565b50505050505050565b611a296126ae565b50505050565b6002544210611a505760405162461bcd60e51b81526004016107089061394b565b611a5861201e565b828114611a775760405162461bcd60e51b81526004016107089061393b565b60005b83811015611be9576000858583818110611a9057fe5b9050602002016020611aa5919081019061292f565b90506000848484818110611ab557fe5b905060200201359050600060086000846001600160a01b03166001600160a01b031681526020019081526020016000205411611b035760405162461bcd60e51b81526004016107089061398b565b6001600160a01b038216600090815260106020526040902054611b385760405162461bcd60e51b8152600401610708906138ab565b611b5f826040518060400160405280426001600160401b0316815260200184815250612407565b6001600160a01b038216600090815260106020526040902054611b88908263ffffffff61247f16565b6001600160a01b038316600081815260106020526040908190209290925590517f73cefcb01ff86c575a4fbf40317a93c37b7312e0b294e588ee24b312e4f97cc490611bd790429085906139cb565b60405180910390a25050600101611a7a565b5050505050565b60075481565b6001600160a01b03831660009081526006602052604090205460609083830190811115611c3857506001600160a01b0384166000908152600660205260409020545b838111611c55576040805160008082526020820190925290610d0d565b604080518583038082526020808202830101909252606090828015611c84578160200160208202803883390190505b50905060005b82811015610e63576001600160a01b03881660009081526006602052604090208054828901908110611cb857fe5b9060005260206000200154828281518110611ccf57fe5b6020908102919091010152600101611c8a565b611cea6105f9565b611d065760405162461bcd60e51b8152600401610708906138db565b611d0e6124a7565b6001600160a01b031663d37c4d8b846040518263ffffffff1660e01b8152600401611d39919061371f565b60206040518083038186803b158015611d5157600080fd5b505afa158015611d65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d899190810190612c49565b15611da65760405162461bcd60e51b81526004016107089061399b565b6001600160a01b038381166000908152600a6020526040902054163314611ddf5760405162461bcd60e51b81526004016107089061392b565b6000805b82811015611f5e57611df36127a0565b6001600160a01b038616600090815260056020526040812090868685818110611e1857fe5b60209081029290920135835250818101929092526040908101600020815180830190925280546001600160401b0316825260010154918101829052915015611f55573360009081526005602052604081208291878786818110611e7757fe5b60209081029290920135835250818101929092526040016000208251815467ffffffffffffffff19166001600160401b0390911617815591810151600190920191909155810151611ec990849061204a565b336000908152600660205260409020909350858584818110611ee757fe5b8354600181018555600094855260208086209281029490940135910155506001600160a01b0388168252600590526040812090868685818110611f2657fe5b602090810292909201358352508101919091526040016000908120805467ffffffffffffffff19168155600101555b50600101611de3565b506001600160a01b038416600090815260086020526040902054611f88908263ffffffff61247f16565b6001600160a01b038516600090815260086020526040808220929092553381522054611fba908263ffffffff61204a16565b33600081815260086020526040908190209290925590516001600160a01b038616917f48d567deaa7db90f8a443344e519ca8906521ffe118e1df43e89a3c257963f7c91612010919085908890889042906136bd565b60405180910390a250505050565b6000546001600160a01b031633146120485760405162461bcd60e51b81526004016107089061391b565b565b600082820183811015610e695760405162461bcd60e51b81526004016107089061384b565b600061208466119959541bdbdb60ca1b6126c6565b905090565b816120a65760405162461bcd60e51b8152600401610708906138bb565b6000811180156120b85750600c548111155b6120d45760405162461bcd60e51b81526004016107089061385b565b600b546120e7908363ffffffff61204a16565b600b556120f2612545565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040161211d9190613665565b60206040518083038186803b15801561213557600080fd5b505afa158015612149573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061216d9190810190612c49565b600b54111561218e5760405162461bcd60e51b8152600401610708906138cb565b6001600160a01b038316600090815260086020526040902054428201906121bb908463ffffffff61204a16565b6001600160a01b03851660008181526008602090815260408083209490945560078054855180870187526001600160401b0388811682528185018b81528787526005865288872084885286528887209251835467ffffffffffffffff1916921691909117825551600191820155948452600683529483208054808601825590845291909220018390555461224e9161204a565b6007556040516001600160a01b038616907f2cc016694185d38abbe28d9e9baea2e9d95a321ae43475e5ea7b643756840bc0906122929042908890889087906139f4565b60405180910390a25050505050565b60008082602001516000146108be5782516001600160401b03164210156122c9576000610e69565b50506020015190565b6122dc82826124e6565b6001600160a01b038216600090815260096020526040902054612305908263ffffffff61204a16565b6001600160a01b038316600090815260096020526040902055612326612545565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b815260040161235392919061372d565b602060405180830381600087803b15801561236d57600080fd5b505af1158015612381573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123a59190810190612c0d565b50816001600160a01b03167ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc642836040516123e19291906139cb565b60405180910390a25050565b60006120846b53797374656d53746174757360a01b6126c6565b60006124138383612723565b602083015183516040519293506001600160a01b038616927fa0ba170b0a148bd927eafc64518e6c9d92eba1ea1fdf703dd8cfee6d329012bb92612458928692613a29565b60405180910390a2505050565b60006120846b526577617264457363726f7760a01b6126c6565b6000828211156124a15760405162461bcd60e51b81526004016107089061387b565b50900390565b60006120846524b9b9bab2b960d11b6126c6565b60006120847f5065726946696e616e6365427269646765546f4f7074696d69736d00000000006126c6565b600b546124f9908263ffffffff61247f16565b600b556001600160a01b038216600090815260086020526040902054612525908263ffffffff61247f16565b6001600160a01b0390921660009081526008602052604090209190915550565b60006120846a5065726946696e616e636560a81b6126c6565b604080516003808252608082019092526060916020820183803883390190505090506a5065726946696e616e636560a81b8160008151811061259c57fe5b60200260200101818152505066119959541bdbdb60ca1b816001815181106125c057fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106125e357fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612622578160200160208202803883390190505b50905060005b83518110156126645783818151811061263d57fe5b602002602001015182828151811061265157fe5b6020908102919091010152600101612628565b5060005b82518110156126a75782818151811061267d57fe5b602002602001015182828651018151811061269457fe5b6020908102919091010152600101612668565b5092915050565b60405162461bcd60e51b81526004016107089061388b565b60008181526004602090815260408083205490516001600160a01b0390911691821515916126f69186910161363a565b604051602081830303815290604052906126a75760405162461bcd60e51b8152600401610708919061380a565b600780546001600160a01b038416600081815260056020908152604080832085845282528083208751815467ffffffffffffffff19166001600160401b0390911617815587830151600191820155938352600682528220805480850182559083529082200183905592546127969161204a565b6007559392505050565b604080518082019091526000808252602082015290565b604051806060016040528060006001600160401b0316815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356108be81613b41565b80516108be81613b41565b60008083601f84011261282757600080fd5b5081356001600160401b0381111561283e57600080fd5b60208301915083602082028301111561285657600080fd5b9250929050565b60008083601f84011261286f57600080fd5b5081356001600160401b0381111561288657600080fd5b60208301915083604082028301111561285657600080fd5b600082601f8301126128af57600080fd5b60026128c26128bd82613a85565b613a5f565b915081838560208402820111156128d857600080fd5b60005b8381101561290457816128ee8882612924565b84525060209283019291909101906001016128db565b5050505092915050565b80516108be81613b55565b80356108be81613b5e565b80516108be81613b5e565b60006020828403121561294157600080fd5b60006108ba84846127ff565b60006020828403121561295f57600080fd5b60006108ba848461280a565b60008060006040848603121561298057600080fd5b600061298c86866127ff565b93505060208401356001600160401b038111156129a857600080fd5b6129b486828701612815565b92509250509250925092565b600080604083850312156129d357600080fd5b60006129df85856127ff565b92505060206129f085828601612919565b9150509250929050565b60008060008060608587031215612a1057600080fd5b6000612a1c87876127ff565b9450506020612a2d87828801612919565b93505060408501356001600160401b03811115612a4957600080fd5b612a558782880161285d565b95989497509550505050565b600080600060608486031215612a7657600080fd5b6000612a8286866127ff565b9350506020612a9386828701612919565b9250506040612aa486828701612919565b9150509250925092565b60008060008060408587031215612ac457600080fd5b84356001600160401b03811115612ada57600080fd5b612ae687828801612815565b945094505060208501356001600160401b03811115612b0457600080fd5b612a5587828801612815565b60008060008060008060608789031215612b2957600080fd5b86356001600160401b03811115612b3f57600080fd5b612b4b89828a01612815565b965096505060208701356001600160401b03811115612b6957600080fd5b612b7589828a01612815565b945094505060408701356001600160401b03811115612b9357600080fd5b612b9f89828a01612815565b92509250509295509295509295565b600060408284031215612bc057600080fd5b60006108ba848461289e565b60008060208385031215612bdf57600080fd5b82356001600160401b03811115612bf557600080fd5b612c0185828601612815565b92509250509250929050565b600060208284031215612c1f57600080fd5b60006108ba848461290e565b600060208284031215612c3d57600080fd5b60006108ba8484612919565b600060208284031215612c5b57600080fd5b60006108ba8484612924565b6000612c738383612e40565b505060200190565b6000612c8783836135cd565b505060600190565b6000612c9b8383613604565b505060400190565b612cac81613ae2565b82525050565b612cac81613aba565b6000612cc682613aa8565b612cd08185613aac565b9350612cdb83613aa2565b8060005b83811015612d09578151612cf38882612c67565b9750612cfe83613aa2565b925050600101612cdf565b509495945050505050565b6000612d1f82613aa8565b612d298185613aac565b9350612d3483613aa2565b8060005b83811015612d09578151612d4c8882612c7b565b9750612d5783613aa2565b925050600101612d38565b6000612d6d82613aa8565b612d778185613aac565b9350612d8283613aa2565b8060005b83811015612d09578151612d9a8882612c8f565b9750612da583613aa2565b925050600101612d86565b6000612dbc8385613aac565b93506001600160fb1b03831115612dd257600080fd5b602083029250612de3838584613aff565b50500190565b6000612df482613aa8565b612dfe8185613aac565b9350612e0983613aa2565b8060005b83811015612d09578151612e218882612c67565b9750612e2c83613aa2565b925050600101612e0d565b612cac81613ac5565b612cac81610617565b612cac612e5582610617565b610617565b612cac81613ae9565b6000612e6e82613aa8565b612e788185613aac565b9350612e88818560208601613b0b565b612e9181613b37565b9093019392505050565b6000612ea8603583613aac565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000612eff603b83613aac565b7f43616e206f6e6c7920626520696e766f6b6564206279205065726946696e616e81527f6365427269646765546f4f7074696d69736d20636f6e74726163740000000000602082015260400192915050565b6000612f5e602483613aac565b7f4163636f756e74206d6967726174696f6e2069732070656e64696e6720616c728152636561647960e01b602082015260400192915050565b6000612fa4601b83613aac565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612fdd603383613aac565b7f43616e6e6f7420657363726f7720776974682030206475726174696f6e204f528152721030b137bb329036b0bc2fb23ab930ba34b7b760691b602082015260400192915050565b6000613032602483613aac565b7f43616e6e6f742063726561746520657363726f772077697468206164647265738152637328302960e01b602082015260400192915050565b6000613078601e83613aac565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006130b1601b83613aac565b7f43616e6e6f742062652072756e206f6e2074686973206c617965720000000000815260200192915050565b60006130ea603183613aac565b7f4e756d626572206f66206163636f756e747320616e642076657374656442616c8152700c2dcc6cae640c8dedc4ee840dac2e8c6d607b1b602082015260400192915050565b600061313d601b83613aac565b7f4e6f20657363726f77206d6967726174696f6e2070656e64696e670000000000815260200192915050565b6000613176601183613ab5565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131a3601783613aac565b7f5175616e746974792063616e6e6f74206265207a65726f000000000000000000815260200192915050565b60006131dc604783613aac565b7f4d75737420626520656e6f7567682062616c616e636520696e2074686520636f81527f6e747261637420746f2070726f7669646520666f72207468652076657374696e6020820152666720656e74727960c81b604082015260600192915050565b600061324b601983613aac565b7f4163636f756e74206d657267696e672068617320656e64656400000000000000815260200192915050565b6000613284601583613aac565b741d1bdad95b881d1c985b9cd9995c8819985a5b1959605a1b815260200192915050565b60006132b5602483613aac565b7f43616e6e6f74206e6f6d696e617465206f776e206163636f756e7420746f206d8152636572676560e01b602082015260400192915050565b60006132fb601283613aac565b71115b9d1c9e4812511cc81c995c5d5a5c995960721b815260200192915050565b6000613329602f83613aac565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061337a602183613aac565b7f41646472657373206973206e6f74206e6f6d696e6174656420746f206d6572678152606560f81b602082015260400192915050565b60006133bd602983613aac565b7f4163636f756e7420616e6420657363726f77416d6f756e7473204c656e677468815268040dad2e6dac2e8c6d60bb1b602082015260400192915050565b6000613408602983613aac565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e206475728152680696e672073657475760bc1b602082015260400192915050565b631c1554d160e21b9052565b600061345f601c83613aac565b7f65786365656473206d6178206d657267696e67206475726174696f6e00000000815260200192915050565b6000613498601983613ab5565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b60006134d1602883613aac565b7f4f6e6c792074686520466565506f6f6c2063616e20706572666f726d20746869815267399030b1ba34b7b760c11b602082015260400192915050565b600061351b602b83613aac565b7f4e756d626572206f66206163636f756e747320616e642062616c616e6365732081526a0c8dedc4ee840dac2e8c6d60ab1b602082015260400192915050565b6000613568601b83613aac565b7f4164647265737320657363726f772062616c616e636520697320300000000000815260200192915050565b60006135a1601f83613aac565b7f43616e6e6f74206d65726765206163636f756e74732077697468206465627400815260200192915050565b805160608301906135de8482613631565b5060208201516135f16020850182612e40565b506040820151611a296040850182612e40565b805160408301906136158482613631565b506020820151611a296020850182612e40565b612cac81613af4565b612cac81613ad6565b600061364582613169565b91506136518284612e49565b50602001919050565b60006136458261348b565b602081016108be8284612cb2565b606081016136818286612ca3565b61368e6020830185612cb2565b61369b6040830184612e40565b949350505050565b604081016136b18284612ca3565b6108be60208301613446565b608081016136cb8288612ca3565b6136d86020830187612e40565b81810360408301526136eb818587612db0565b90506136fa6060830184612e40565b9695505050505050565b604081016137128285612cb2565b610e696020830184612cb2565b604081016136b18284612cb2565b6040810161373b8285612cb2565b610e696020830184612e40565b60208082528101610e698184612cbb565b60208082528101610e698184612d14565b6060808252810161377c818688612db0565b905061378b6020830185612e40565b6137986040830184612e40565b95945050505050565b60208082528101610e698184612de9565b602081016108be8284612e37565b602081016108be8284612e40565b604081016137128285612e40565b604081016137ea8285612e40565b818103602083015261369b8184612e63565b602081016108be8284612e5a565b60208082528101610e698184612e63565b602080825281016108be81612e9b565b602080825281016108be81612ef2565b602080825281016108be81612f51565b602080825281016108be81612f97565b602080825281016108be81612fd0565b602080825281016108be81613025565b602080825281016108be8161306b565b602080825281016108be816130a4565b602080825281016108be816130dd565b602080825281016108be81613130565b602080825281016108be81613196565b602080825281016108be816131cf565b602080825281016108be8161323e565b602080825281016108be81613277565b602080825281016108be816132a8565b602080825281016108be816132ee565b602080825281016108be8161331c565b602080825281016108be8161336d565b602080825281016108be816133b0565b602080825281016108be816133fb565b602080825281016108be81613452565b602080825281016108be816134c4565b602080825281016108be8161350e565b602080825281016108be8161355b565b602080825281016108be81613594565b604081016139b98285612e40565b818103602083015261369b8184612d62565b6040810161373b8285612e40565b606081016139e78286612e40565b61368e6020830185612e40565b60808101613a028287612e40565b613a0f6020830186612e40565b613a1c6040830185612e40565b6137986060830184612e40565b60608101613a378286612e40565b613a446020830185612e40565b61369b6040830184613628565b6040810161373b8285613631565b6040518181016001600160401b0381118282101715613a7d57600080fd5b604052919050565b60006001600160401b03821115613a9b57600080fd5b5060200290565b60200190565b5190565b90815260200190565b919050565b60006108be82613aca565b151590565b6001600160a01b031690565b6001600160401b031690565b60006108be825b60006108be82613aba565b60006108be82613ad6565b82818337506000910152565b60005b83811015613b26578181015183820152602001613b0e565b83811115611a295750506000910152565b601f01601f191690565b613b4a81613aba565b811461116b57600080fd5b613b4a81613ac5565b613b4a8161061756fea365627a7a72315820d3f2faf940ccc065bafc397436a957dbf35b638faf33b49785afbddcd3638b9f6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0xea58aeb437263504545165622826f9c4ba1adc6931007ef05f04a41e73252678",
				"urls": [
					"bzz-raw://adb5bada32c5eea3a1fe384e812927f294710f12f3bbae8c9f58918de9377f90",
					"dweb:/ipfs/QmNp2DqmzWVXzo4hWiHRoZtiayCgXCTF3F6aiEnuFGpoZE"
				]
			},
			"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": "0xea58aeb437263504545165622826f9c4ba1adc6931007ef05f04a41e73252678",
						"urls": [
							"bzz-raw://adb5bada32c5eea3a1fe384e812927f294710f12f3bbae8c9f58918de9377f90",
							"dweb:/ipfs/QmNp2DqmzWVXzo4hWiHRoZtiayCgXCTF3F6aiEnuFGpoZE"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceEscrow": {
			"bytecode": "608060405234801561001057600080fd5b506040516116ac3803806116ac8339818101604052606081101561003357600080fd5b50805160208201516040909201519091906249d400836001600160a01b0381166100a4576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b039384166001600160a01b031991821617909155600780549290931691161790555061156e8061013e6000396000f3fe608060405234801561001057600080fd5b50600436106101c45760003560e01c80636b3905c4116100f9578063a15d59ce11610097578063d0cc82e311610071578063d0cc82e314610562578063da7bd3e91461056a578063ee04ad6e14610596578063ee1d036c146105bc576101c4565b8063a15d59ce14610462578063bb2a7d0c1461046a578063cb5147b21461053c576101c4565b80638ad58777116100d35780638ad58777146104005780638da5cb5b1461040857806397f46527146104105780639b217f9014610436576101c4565b80636b3905c4146103ac57806370a08231146103d257806379ba5097146103f8576101c4565b80632f5bb6611161016657806346ba2d901161014057806346ba2d901461038c5780634e5a60911461039457806353a47bb71461039c57806363667eb7146103a4576101c4565b80632f5bb661146102f1578063458efde31461035257806345e5441f1461035a576101c4565b806319e740c0116101a257806319e740c01461023b5780631bb47b4414610273578063204b676a146102a5578063227d517a146102cb576101c4565b806307ab82e4146101c9578063135c0701146101ed5780631627540c14610215575b600080fd5b6101d16105e8565b604080516001600160a01b039092168252519081900360200190f35b6102136004803603602081101561020357600080fd5b50356001600160a01b03166105f7565b005b6102136004803603602081101561022b57600080fd5b50356001600160a01b0316610839565b6102616004803603602081101561025157600080fd5b50356001600160a01b0316610895565b60408051918252519081900360200190f35b6102136004803603606081101561028957600080fd5b506001600160a01b0381351690602081013590604001356108d7565b610261600480360360208110156102bb57600080fd5b50356001600160a01b0316610c12565b610261600480360360208110156102e157600080fd5b50356001600160a01b0316610c2d565b6103176004803603602081101561030757600080fd5b50356001600160a01b0316610c3f565b6040518082600260200280838360005b8381101561033f578181015183820152602001610327565b5050505090500191505060405180910390f35b610213610c90565b6102616004803603606081101561037057600080fd5b506001600160a01b038135169060208101359060400135610e4d565b610261610e89565b6101d1610e8f565b6101d1610e9e565b610261610ead565b610261600480360360208110156103c257600080fd5b50356001600160a01b0316610eb2565b610261600480360360208110156103e857600080fd5b50356001600160a01b0316610ecb565b610213610ee6565b610261610fa2565b6101d1610fa7565b6102616004803603602081101561042657600080fd5b50356001600160a01b0316610fb6565b6102616004803603604081101561044c57600080fd5b506001600160a01b038135169060200135610fc8565b610261610fe3565b6102136004803603606081101561048057600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156104ab57600080fd5b8201836020820111156104bd57600080fd5b803590602001918460208302840111640100000000831117156104df57600080fd5b9193909290916020810190356401000000008111156104fd57600080fd5b82018360208201111561050f57600080fd5b8035906020019184602083028401116401000000008311171561053157600080fd5b509092509050610fe9565b6102136004803603602081101561055257600080fd5b50356001600160a01b0316611073565b6102616110cf565b6103176004803603604081101561058057600080fd5b506001600160a01b0381351690602001356110d4565b610213600480360360208110156105ac57600080fd5b50356001600160a01b0316611143565b610261600480360360408110156105d257600080fd5b506001600160a01b03813516906020013561119f565b6007546001600160a01b031681565b6105ff6111b2565b600254421061063f5760405162461bcd60e51b81526004018080602001828103825260298152602001806114be6029913960400191505060405180910390fd5b6007546001600160a01b03166106865760405162461bcd60e51b81526004018080602001828103825260268152602001806114986026913960400191505060405180910390fd5b6001600160a01b03811660009081526004602052604081206106a7916112b4565b6001600160a01b0381166000908152600560205260409020546006546106d29163ffffffff6111fd16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b15801561072057600080fd5b505afa158015610734573d6000803e3d6000fd5b505050506040513d602081101561074a57600080fd5b5051600654111561078c5760405162461bcd60e51b81526004018080602001828103825260538152602001806114e76053913960600191505060405180910390fd5b6003546007546001600160a01b03838116600090815260056020908152604080832054815163a9059cbb60e01b81529585166004870152602486015251929094169363a9059cbb936044808201949293918390030190829087803b1580156107f357600080fd5b505af1158015610807573d6000803e3d6000fd5b505050506040513d602081101561081d57600080fd5b50506001600160a01b0316600090815260056020526040812055565b6108416111b2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806108a183610c12565b905060005b818110156108ce576108b88482610fc8565b156108c65791506108d29050565b6001016108a6565b5090505b919050565b6108df6111b2565b600254421061091f5760405162461bcd60e51b81526004018080602001828103825260298152602001806114be6029913960400191505060405180910390fd5b814210610973576040805162461bcd60e51b815260206004820152601a60248201527f54696d65206d75737420626520696e2074686520667574757265000000000000604482015290519081900360640190fd5b806109c5576040805162461bcd60e51b815260206004820152601760248201527f5175616e746974792063616e6e6f74206265207a65726f000000000000000000604482015290519081900360640190fd5b6006546109d8908263ffffffff61125a16565b600655600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610a2657600080fd5b505afa158015610a3a573d6000803e3d6000fd5b505050506040513d6020811015610a5057600080fd5b50516006541115610a925760405162461bcd60e51b81526004018080602001828103825260478152602001806114226047913960600191505060405180910390fd5b6001600160a01b0383166000908152600460205260409020546014811115610b01576040805162461bcd60e51b815260206004820152601c60248201527f56657374696e67207363686564756c6520697320746f6f206c6f6e6700000000604482015290519081900360640190fd5b80610b26576001600160a01b0384166000908152600560205260409020829055610bbb565b82610b3c856001610b3688610c12565b03610fc8565b10610b785760405162461bcd60e51b81526004018080602001828103825260378152602001806113eb6037913960400191505060405180910390fd5b6001600160a01b038416600090815260056020526040902054610ba1908363ffffffff61125a16565b6001600160a01b0385166000908152600560205260409020555b6001600160a01b0384166000908152600460209081526040808320815180830190925286825281830186905280546001810180835591855292909320610c0a92600290810290910191906112d8565b505050505050565b6001600160a01b031660009081526004602052604090205490565b60056020526000908152604090205481565b610c47611316565b6000610c5283610895565b9050610c5d83610c12565b811415610c7f57505060408051808201909152600080825260208201526108d2565b610c8983826110d4565b9392505050565b6000610c9b33610c12565b90506000805b82811015610d40576000610cb53383610fc8565b905042811115610cc55750610d40565b6000610cd1338461119f565b90508015610d3657604080518082018252600080825260208083018290523382526004905291909120805485908110610d0657fe5b9060005260206000209060020201906002610d22929190611334565b50610d33848263ffffffff61125a16565b93505b5050600101610ca1565b508015610e4957600654610d5a908263ffffffff6111fd16565b60065533600090815260056020526040902054610d7d908263ffffffff6111fd16565b33600081815260056020908152604080832094909455600354845163a9059cbb60e01b815260048101949094526024840186905293516001600160a01b039094169363a9059cbb93604480820194918390030190829087803b158015610de257600080fd5b505af1158015610df6573d6000803e3d6000fd5b505050506040513d6020811015610e0c57600080fd5b50506040805142815260208101839052815133927ffbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6928290030190a25b5050565b60046020528260005260406000208281548110610e6657fe5b90600052602060002090600202018160028110610e7f57fe5b0154925083915050565b60025481565b6003546001600160a01b031681565b6001546001600160a01b031681565b600081565b6000610ebd82610c3f565b60005b602002015192915050565b6001600160a01b031660009081526005602052604090205490565b6001546001600160a01b03163314610f2f5760405162461bcd60e51b81526004018080602001828103825260358152602001806113b66035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600181565b6000546001600160a01b031681565b6000610fc182610c3f565b6001610ec0565b6000610fd483836110d4565b60005b60200201519392505050565b60065481565b610ff16111b2565b60025442106110315760405162461bcd60e51b81526004018080602001828103825260298152602001806114be6029913960400191505060405180910390fd5b60005b83811015610c0a5761106b8686868481811061104c57fe5b9050602002013585858581811061105f57fe5b905060200201356108d7565b600101611034565b61107b6111b2565b600380546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee89181900360200190a150565b601481565b6110dc611316565b6001600160a01b038316600090815260046020526040902080548390811061110057fe5b600091825260209091206040805180820191829052926002908102909201919082845b815481526020019060010190808311611123575050505050905092915050565b61114b6111b2565b600780546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb46085655f12cc30a7603c9af22f9ed618a149dbb291c9d1c14cfe57e793ba9e9181900360200190a150565b60006111ab83836110d4565b6001610fd7565b6000546001600160a01b031633146111fb5760405162461bcd60e51b815260040180806020018281038252602f815260200180611469602f913960400191505060405180910390fd5b565b600082821115611254576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600082820183811015610c89576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b50805460008255600202906000526020600020908101906112d59190611367565b50565b8260028101928215611306579160200282015b828111156113065782518255916020019190600101906112eb565b5061131292915061138d565b5090565b60405180604001604052806002906020820280388339509192915050565b8260028101928215611306579160200282015b82811115611306578251829060ff16905591602001919060010190611347565b61138a91905b8082111561131257600061138182826113a7565b5060020161136d565b90565b61138a91905b808211156113125760008155600101611393565b50600081556001016000905556fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697043616e6e6f7420616464206e65772076657374656420656e7472696573206561726c696572207468616e20746865206c617374206f6e654d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f2070726f7669646520666f72207468652076657374696e6720656e7472794f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e526566756e6420616464726573732063616e206e6f74206265207a65726f206164647265737343616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e672073657475704d75737420626520656e6f7567682062616c616e636520696e2074686520636f6e747261637420746f207265747269657665207665737465642062616c616e6365206f6620707572676564206163636f756e74a265627a7a72315820b0675f82e129f592308bf4c893ccb48bf4ba6e4d6b0a1b843fdd59496191a3cf64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_addressToRefund",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "addressToRefund",
							"type": "address"
						}
					],
					"name": "AddressToRefundUpdated",
					"type": "event",
					"signature": "0xb46085655f12cc30a7603c9af22f9ed618a149dbb291c9d1c14cfe57e793ba9e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newPeriFinance",
							"type": "address"
						}
					],
					"name": "PeriFinanceUpdated",
					"type": "event",
					"signature": "0x1ab074efe68c89675990cfa3fe943dd7897b3b9318e47a8faad4a41c9ff1aee8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "beneficiary",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Vested",
					"type": "event",
					"signature": "0xfbeff59d2bfda0d79ea8a29f8c57c66d48c7a13eabbdb90908d9115ec41c9dc6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "MAX_VESTING_ENTRIES",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd0cc82e3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "QUANTITY_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8ad58777"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TIME_INDEX",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x63667eb7"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256[]",
							"name": "times",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "quantities",
							"type": "uint256[]"
						}
					],
					"name": "addVestingSchedule",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbb2a7d0c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "addressToRefund",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x07ab82e4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "time",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "quantity",
							"type": "uint256"
						}
					],
					"name": "appendVestingEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1bb47b44"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2f5bb661"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingIndex",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19e740c0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97f46527"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "getNextVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b3905c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingQuantity",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xee1d036c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingScheduleEntry",
					"outputs": [
						{
							"internalType": "uint256[2]",
							"name": "",
							"type": "uint256[2]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda7bd3e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getVestingTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9b217f90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "numVestingEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x204b676a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance",
					"outputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4e5a6091"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "purgeAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x135c0701"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_addressToRefund",
							"type": "address"
						}
					],
					"name": "setAddressToRefund",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee04ad6e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IPeriFinance",
							"name": "_periFinance",
							"type": "address"
						}
					],
					"name": "setPeriFinance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcb5147b2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "totalVestedAccountBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x227d517a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalVestedBalance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa15d59ce"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "vest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x458efde3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "vestingSchedules",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x45e5441f"
				}
			],
			"source": {
				"keccak256": "0x48a30b3382a2c51452bce19fd12bfde20034646eeba58b43926a3db13dcad3f2",
				"urls": [
					"bzz-raw://8fb45c0539687022bf2685c733afad78ba4790bbc88c815810fb397bdff8412a",
					"dweb:/ipfs/QmV6nRumdH5Ft7E2dS1neGeosWB7WHozyRkcMnqqdR3JZc"
				]
			},
			"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": "0x48a30b3382a2c51452bce19fd12bfde20034646eeba58b43926a3db13dcad3f2",
						"urls": [
							"bzz-raw://8fb45c0539687022bf2685c733afad78ba4790bbc88c815810fb397bdff8412a",
							"dweb:/ipfs/QmV6nRumdH5Ft7E2dS1neGeosWB7WHozyRkcMnqqdR3JZc"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610aa1380380610aa18339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506108fb806101a66000396000f3fe608060405234801561001057600080fd5b506004361061010b5760003560e01c80638b3f8088116100a2578063aefc4ccb11610071578063aefc4ccb14610261578063b16c09f014610269578063b992812e1461028f578063ba08f299146102c9578063cd92eba9146102d15761010b565b80638b3f8088146101e65780638da5cb5b146102255780639371bede1461022d578063a764eb45146102355761010b565b806346317712116100de578063463177121461018c57806352f445ca1461019457806353a47bb7146101ba57806379ba5097146101de5761010b565b806308d95cd5146101105780631627540c1461013f5780631bfba595146101675780633d31e97b1461016f575b600080fd5b61012d6004803603602081101561012657600080fd5b50356102d9565b60408051918252519081900360200190f35b6101656004803603602081101561015557600080fd5b50356001600160a01b03166102f7565b005b610165610353565b6101656004803603602081101561018557600080fd5b50356103b5565b61012d610433565b610165600480360360208110156101aa57600080fd5b50356001600160a01b0316610468565b6101c26104c4565b604080516001600160a01b039092168252519081900360200190f35b6101656104d3565b61020c600480360360208110156101fc57600080fd5b50356001600160a01b031661058f565b6040805192835260208301919091528051918290030190f35b6101c26105a8565b61012d6105b7565b6101656004803603604081101561024b57600080fd5b506001600160a01b0381351690602001356105bd565b6101c261062d565b6101656004803603602081101561027f57600080fd5b50356001600160a01b031661063c565b6102b5600480360360208110156102a557600080fd5b50356001600160a01b03166106a5565b604080519115158252519081900360200190f35b6101656106c2565b61012d61071f565b600581815481106102e657fe5b600091825260209091200154905081565b6102ff610725565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b0316331461039c5760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6004546103b090600163ffffffff61077016565b600455565b6002546001600160a01b031633146103fe5760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b600580546001810182556000919091527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db00155565b60055460009061044557506000610465565b60058054600019810190811061045757fe5b906000526020600020015490505b90565b610470610725565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b0316331461051c5760405162461bcd60e51b815260040180806020018281038252603581526020018061082f6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6003602052600090815260409020805460019091015482565b6000546001600160a01b031681565b60045481565b6002546001600160a01b031633146106065760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6001600160a01b039091166000908152600360205260409020908155600554600190910155565b6002546001600160a01b031681565b6002546001600160a01b031633146106855760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6001600160a01b0316600090815260036020526040812081815560010155565b6001600160a01b0316600090815260036020526040902054151590565b6002546001600160a01b0316331461070b5760405162461bcd60e51b81526004018080602001828103825260348152602001806108936034913960400191505060405180910390fd5b6004546103b090600163ffffffff6107d116565b60055490565b6000546001600160a01b0316331461076e5760405162461bcd60e51b815260040180806020018281038252602f815260200180610864602f913960400191505060405180910390fd5b565b6000828201838110156107ca576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600082821115610828576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820902c7d498281032c51a1be40ffddea2640cead30a46d653e6a5927a6bad0808264736f6c63430005100032",
			"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": "0xc577fd0bd96dedd23d6e6507b825e83397dcc11985a1536dbe6af07ddb6d6f67",
				"urls": [
					"bzz-raw://7ae011243bb3574ea3426e469c40eaac9fb73ae2b0f1e13d2c402c01b31e4671",
					"dweb:/ipfs/QmZB78UpT9QG7uUASgjWzvp8aC5853txKQVvGsJLFvFvfw"
				]
			},
			"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": "0xc577fd0bd96dedd23d6e6507b825e83397dcc11985a1536dbe6af07ddb6d6f67",
						"urls": [
							"bzz-raw://7ae011243bb3574ea3426e469c40eaac9fb73ae2b0f1e13d2c402c01b31e4671",
							"dweb:/ipfs/QmZB78UpT9QG7uUASgjWzvp8aC5853txKQVvGsJLFvFvfw"
						]
					}
				},
				"version": 1
			}
		},
		"Proxy": {
			"bytecode": "608060405234801561001057600080fd5b506040516106ee3803806106ee8339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105f4806100fa6000396000f3fe6080604052600436106100705760003560e01c806379ba50971161004e57806379ba5097146101925780638da5cb5b146101a7578063907dff97146101bc578063d4b839921461025157610070565b80631627540c146100f957806353a47bb71461012e578063776d1a011461015f575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b1580156100bc57600080fd5b505af11580156100d0573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e806100f5573d82fd5b3d82f35b34801561010557600080fd5b5061012c6004803603602081101561011c57600080fd5b50356001600160a01b0316610266565b005b34801561013a57600080fd5b506101436102c2565b604080516001600160a01b039092168252519081900360200190f35b34801561016b57600080fd5b5061012c6004803603602081101561018257600080fd5b50356001600160a01b03166102d1565b34801561019e57600080fd5b5061012c61032d565b3480156101b357600080fd5b506101436103e9565b3480156101c857600080fd5b5061012c600480360360c08110156101df57600080fd5b8101906020810181356401000000008111156101fa57600080fd5b82018360208201111561020c57600080fd5b8035906020019184600183028401116401000000008311171561022e57600080fd5b9193509150803590602081013590604081013590606081013590608001356103f8565b34801561025d57600080fd5b50610143610501565b61026e610510565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001546001600160a01b031681565b6102d9610510565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b031633146103765760405162461bcd60e51b815260040180806020018281038252603581526020018061055c6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b0316331461044e576040805162461bcd60e51b8152602060048201526014602482015273135d5cdd081899481c1c9bde1e481d185c99d95d60621b604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a9084908190840183828082843760009201919091525092935089925050811590506104b857600181146104c357600281146104cf57600381146104dc57600481146104ea576104f5565b8260208301a06104f5565b868360208401a16104f5565b85878460208501a26104f5565b8486888560208601a36104f5565b838587898660208701a45b50505050505050505050565b6002546001600160a01b031681565b6000546001600160a01b031633146105595760405162461bcd60e51b815260040180806020018281038252602f815260200180610591602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a7231582002cc7020a3da435976b944169f042d77f3392f8ab73bb2ee7dd18153548d5f4164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "contract Proxyable",
							"name": "newTarget",
							"type": "address"
						}
					],
					"name": "TargetUpdated",
					"type": "event",
					"signature": "0x814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e"
				},
				{
					"payable": true,
					"stateMutability": "payable",
					"type": "fallback"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes",
							"name": "callData",
							"type": "bytes"
						},
						{
							"internalType": "uint256",
							"name": "numTopics",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "topic1",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic2",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic3",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "topic4",
							"type": "bytes32"
						}
					],
					"name": "_emit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x907dff97"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract Proxyable",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "setTarget",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x776d1a01"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "target",
					"outputs": [
						{
							"internalType": "contract Proxyable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd4b83992"
				}
			],
			"source": {
				"keccak256": "0x70701b043f09b5a08f96530a91ff89cc151399b4daa24a5d0ae06eebeb22b3d0",
				"urls": [
					"bzz-raw://ab7e804772109609ff657ac9797b7fbc530922693ab8a9fe63743071056078e0",
					"dweb:/ipfs/QmQK3JCvbiBN5hBmjLeHwBC4WU163bFhFFG9w7dD3hGkbN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Proxy.sol": "Proxy"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"Proxy.sol": {
						"keccak256": "0x70701b043f09b5a08f96530a91ff89cc151399b4daa24a5d0ae06eebeb22b3d0",
						"urls": [
							"bzz-raw://ab7e804772109609ff657ac9797b7fbc530922693ab8a9fe63743071056078e0",
							"dweb:/ipfs/QmQK3JCvbiBN5hBmjLeHwBC4WU163bFhFFG9w7dD3hGkbN"
						]
					}
				},
				"version": 1
			}
		},
		"EternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516112143803806112148339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150505061106e806101a66000396000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806353a47bb7116100f9578063a209a29c11610097578063ba69fcaa11610071578063ba69fcaa146104e9578063bdc963d814610506578063c9a52d2c14610523578063f58660661461059a576101a9565b8063a209a29c146104a1578063a77aa49e146104be578063aefc4ccb146104e1576101a9565b80638267a9ee116100d35780638267a9ee146104425780638da5cb5b1461045f5780639007127b1461046757806393fe424814610484576101a9565b806353a47bb7146104065780635a2bf25a1461040e57806379ba50971461043a576101a9565b806325cf512d116101665780633eba9ed2116101405780633eba9ed2146102f057806344bfa56e146103155780634c77e5ba146103a757806352f445ca146103e0576101a9565b806325cf512d1461028d5780633562fd20146102b05780633cc1635c146102d3576101a9565b8063025ec81a146101ae578063043106c0146101dd5780630c55d925146101fc578063124f2418146102195780631627540c1461023657806317e7dd221461025c575b600080fd5b6101cb600480360360208110156101c457600080fd5b5035610611565b60408051918252519081900360200190f35b6101fa600480360360208110156101f357600080fd5b5035610623565b005b6101fa6004803603602081101561021257600080fd5b503561068a565b6101fa6004803603602081101561022f57600080fd5b50356106ed565b6101fa6004803603602081101561024c57600080fd5b50356001600160a01b0316610747565b6102796004803603602081101561027257600080fd5b50356107a3565b604080519115158252519081900360200190f35b6101fa600480360360408110156102a357600080fd5b50803590602001356107b8565b6101fa600480360360408110156102c657600080fd5b5080359060200135610813565b6101fa600480360360208110156102e957600080fd5b503561086e565b6101fa6004803603604081101561030657600080fd5b508035906020013515156108cf565b6103326004803603602081101561032b57600080fd5b5035610938565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561036c578181015183820152602001610354565b50505050905090810190601f1680156103995780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6103c4600480360360208110156103bd57600080fd5b50356109d9565b604080516001600160a01b039092168252519081900360200190f35b6101fa600480360360208110156103f657600080fd5b50356001600160a01b03166109f4565b6103c4610a50565b6101fa6004803603604081101561042457600080fd5b50803590602001356001600160a01b0316610a5f565b6101fa610ad6565b6101fa6004803603602081101561045857600080fd5b5035610b92565b6103c4610bec565b6101cb6004803603602081101561047d57600080fd5b5035610bfb565b6101fa6004803603602081101561049a57600080fd5b5035610c0d565b610332600480360360208110156104b757600080fd5b5035610c67565b6101fa600480360360408110156104d457600080fd5b5080359060200135610cd1565b6103c4610d2c565b6101fa600480360360208110156104ff57600080fd5b5035610d3b565b6101cb6004803603602081101561051c57600080fd5b5035610d9b565b6101fa6004803603604081101561053957600080fd5b8135919081019060408101602082013564010000000081111561055b57600080fd5b82018360208201111561056d57600080fd5b8035906020019184600183028401116401000000008311171561058f57600080fd5b509092509050610dad565b6101fa600480360360408110156105b057600080fd5b813591908101906040810160208201356401000000008111156105d257600080fd5b8201836020820111156105e457600080fd5b8035906020019184600183028401116401000000008311171561060657600080fd5b509092509050610e15565b60009081526007602052604090205490565b6002546001600160a01b0316331461066c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146106d35760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526006602052604081206106ea91610ec2565b50565b6002546001600160a01b031633146107365760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260076020526040812055565b61074f610e77565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108015760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b0316331461085c5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b031633146108b75760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b031633146109185760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b820191906000526020600020905b8154815290600101906020018083116109b057829003601f168201915b50505050509050919050565b6000908152600560205260409020546001600160a01b031690565b6109fc610e77565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610aa85760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610b1f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610fa26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610bdb5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610c565760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f60026000196101006001861615020190931692909204918201849004840281018401909452808452606093928301828280156109cd5780601f106109a2576101008083540402835291602001916109cd565b6002546001600160a01b03163314610d1a5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b6002546001600160a01b03163314610d845760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b60008181526004602052604081206106ea91610ec2565b60009081526003602052604090205490565b6002546001600160a01b03163314610df65760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600660205260409020610e0f908383610f06565b50505050565b6002546001600160a01b03163314610e5e5760405162461bcd60e51b81526004018080602001828103825260348152602001806110066034913960400191505060405180910390fd5b6000838152600460205260409020610e0f908383610f06565b6000546001600160a01b03163314610ec05760405162461bcd60e51b815260040180806020018281038252602f815260200180610fd7602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f10610ee857506106ea565b601f0160209004906000526020600020908101906106ea9190610f84565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610f475782800160ff19823516178555610f74565b82800160010185558215610f74579182015b82811115610f74578235825591602001919060010190610f59565b50610f80929150610f84565b5090565b610f9e91905b80821115610f805760008155600101610f8a565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a723158208772e4183bfc5dfa2dd95d24d6e4ca9d74c2844ce809dc831e15d4fd87ec4b5f64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				}
			],
			"source": {
				"keccak256": "0xc52073beecc8d1d01ad930a3273afce10c7cbb7a920c15c0dcaa96088ae27081",
				"urls": [
					"bzz-raw://c0c38a12c7c3c4daca7350629df60b8d9bce60ab7cd62f3d9aff9033b7d41b22",
					"dweb:/ipfs/QmZJYBc5L2Ent8ToYhe9nXjv8sufn4QWPDsRf68S72JuBB"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EternalStorage.sol": "EternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EternalStorage.sol": {
						"keccak256": "0xc52073beecc8d1d01ad930a3273afce10c7cbb7a920c15c0dcaa96088ae27081",
						"urls": [
							"bzz-raw://c0c38a12c7c3c4daca7350629df60b8d9bce60ab7cd62f3d9aff9033b7d41b22",
							"dweb:/ipfs/QmZJYBc5L2Ent8ToYhe9nXjv8sufn4QWPDsRf68S72JuBB"
						]
					}
				},
				"version": 1
			}
		},
		"DelegateApprovals": {
			"bytecode": "61012060405269105c1c1c9bdd99505b1b60b21b60809081526d4275726e466f724164647265737360901b60a0526e4973737565466f724164647265737360881b60c0526e436c61696d466f724164647265737360881b60e0527145786368616e6765466f724164647265737360701b61010052610081906002906005610195565b5034801561008e57600080fd5b50604051610fbc380380610fbc833981810160405260408110156100b157600080fd5b508051602090910151816001600160a01b038116610116576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600780546001600160a01b0319166001600160a01b0392909216919091179055506101f0565b82600581019282156101c3579160200282015b828111156101c35782518255916020019190600101906101a8565b506101cf9291506101d3565b5090565b6101ed91905b808211156101cf57600081556001016101d9565b90565b610dbd806101ff6000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c80638da5cb5b116100de578063b5bb561911610097578063c5e17ab011610071578063c5e17ab014610487578063d8eeb7c11461048f578063e32b3f5214610497578063faf431bb1461049f5761018e565b8063b5bb561914610415578063b9156efa1461043b578063bc87acbf146104615761018e565b80638da5cb5b1461038357806398ff9c541461038b5780639c79ce35146103935780639cbc2ebe146103b95780639f61d336146103c1578063b42e0f15146103e75761018e565b8063447fbc631161014b5780636c8bc9fe116101255780636c8bc9fe146103015780636f95200b1461032757806379ba50971461034d5780637d3f0ba2146103555761018e565b8063447fbc631461029157806353a47bb7146102b757806359cec3d6146102db5761018e565b806304872617146101935780631627540c146101d557806321f4ae57146101fd5780632c70aecf1461022b5780634180e5b514610245578063431ce5401461026b575b600080fd5b6101c1600480360360408110156101a957600080fd5b506001600160a01b03813581169160200135166104cd565b604080519115158252519081900360200190f35b6101fb600480360360208110156101eb57600080fd5b50356001600160a01b03166104f3565b005b6101c16004803603604081101561021357600080fd5b506001600160a01b038135811691602001351661054f565b61023361056e565b60408051918252519081900360200190f35b6101fb6004803603602081101561025b57600080fd5b50356001600160a01b0316610584565b6101fb6004803603602081101561028157600080fd5b50356001600160a01b03166105a4565b6101fb600480360360208110156102a757600080fd5b50356001600160a01b03166105c1565b6102bf6105e1565b604080516001600160a01b039092168252519081900360200190f35b6101fb600480360360208110156102f157600080fd5b50356001600160a01b03166105f0565b6101fb6004803603602081101561031757600080fd5b50356001600160a01b031661060c565b6101fb6004803603602081101561033d57600080fd5b50356001600160a01b0316610629565b6101fb61065a565b6101c16004803603604081101561036b57600080fd5b506001600160a01b0381358116916020013516610716565b6102bf610734565b6102bf610743565b6101fb600480360360208110156103a957600080fd5b50356001600160a01b0316610752565b61023361076e565b6101fb600480360360208110156103d757600080fd5b50356001600160a01b031661077f565b6101c1600480360360408110156103fd57600080fd5b506001600160a01b038135811691602001351661079c565b6101fb6004803603602081101561042b57600080fd5b50356001600160a01b031661082f565b6101fb6004803603602081101561045157600080fd5b50356001600160a01b03166108d6565b6101fb6004803603602081101561047757600080fd5b50356001600160a01b03166108f6565b61023361090e565b610233610924565b61023361093d565b6101c1600480360360408110156104b557600080fd5b506001600160a01b0381358116916020013516610952565b60006104ec6e4973737565466f724164647265737360881b8484610970565b9392505050565b6104fb610a0d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006104ec6e436c61696d466f724164647265737360881b8484610970565b6e4973737565466f724164647265737360881b81565b6105a16e436c61696d466f724164647265737360881b3383610a58565b50565b6105a16e4973737565466f724164647265737360881b3383610b78565b6105a17145786368616e6765466f724164647265737360701b3383610a58565b6001546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610b78565b6105a16e436c61696d466f724164647265737360881b3383610b78565b60005b60058110156106565761064e6002826005811061064557fe5b01543384610b78565b60010161062c565b5050565b6001546001600160a01b031633146106a35760405162461bcd60e51b8152600401808060200182810382526035815260200180610d256035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006104ec6d4275726e466f724164647265737360901b8484610970565b6000546001600160a01b031681565b6007546001600160a01b031681565b6105a16d4275726e466f724164647265737360901b3383610a58565b69105c1c1c9bdd99505b1b60b21b81565b6105a16e4973737565466f724164647265737360881b3383610a58565b6007546000906001600160a01b03166317e7dd226107c869105c1c1c9bdd99505b1b60b21b8686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156107fc57600080fd5b505afa158015610810573d6000803e3d6000fd5b505050506040513d602081101561082657600080fd5b50519392505050565b610837610a0d565b6001600160a01b03811661087c5760405162461bcd60e51b8152600401808060200182810382526026815260200180610cff6026913960400191505060405180910390fd5b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517fe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17916020908290030190a150565b6105a17145786368616e6765466f724164647265737360701b3383610b78565b6105a169105c1c1c9bdd99505b1b60b21b3383610a58565b6e436c61696d466f724164647265737360881b81565b7145786368616e6765466f724164647265737360701b81565b6d4275726e466f724164647265737360901b81565b60006104ec7145786368616e6765466f724164647265737360701b84845b600061097c838361079c565b15610989575060016104ec565b6007546001600160a01b03166317e7dd226109a5868686610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109d957600080fd5b505afa1580156109ed573d6000803e3d6000fd5b505050506040513d6020811015610a0357600080fd5b5051949350505050565b6000546001600160a01b03163314610a565760405162461bcd60e51b815260040180806020018281038252602f815260200180610d5a602f913960400191505060405180910390fd5b565b6001600160a01b038116610ab3576040805162461bcd60e51b815260206004820152601c60248201527f43616e27742064656c656761746520746f206164647265737328302900000000604482015290519081900360640190fd5b6007546001600160a01b0316633eba9ed2610acf858585610cb2565b60016040518363ffffffff1660e01b8152600401808381526020018215151515815260200192505050600060405180830381600087803b158015610b1257600080fd5b505af1158015610b26573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a2633693509081900390910190a2505050565b6007546001600160a01b03166317e7dd22610b94858585610cb2565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610bc857600080fd5b505afa158015610bdc573d6000803e3d6000fd5b505050506040513d6020811015610bf257600080fd5b505115610cad576007546001600160a01b0316633cc1635c610c15858585610cb2565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015610c4b57600080fd5b505af1158015610c5f573d6000803e3d6000fd5b5050604080516001600160a01b03858116825260208201889052825190871694507f7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f4193509081900390910190a25b505050565b6040805160208082018690526bffffffffffffffffffffffff19606086811b82168486015285901b1660548301528251604881840301815260689092019092528051910120939250505056fe43616e27742073657420657465726e616c53746f7261676520746f2061646472657373283029596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820f7764db06028d23b4e9bcae32ffa9e3121e39c276d64ac326333338301d3908864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x36a9e0c1da9cdc6d8f4bd4cb261f9ad6a45eb1641a557ead7530fbeff9a26336"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newEternalStorage",
							"type": "address"
						}
					],
					"name": "EternalStorageUpdated",
					"type": "event",
					"signature": "0xe3ebe3d58e84fbd094152babb730cf99a14b47f65ed04f35a3bd6356f8161a17"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "action",
							"type": "bytes32"
						}
					],
					"name": "WithdrawApproval",
					"type": "event",
					"signature": "0x7e8dc09322ac82342d9dbfd49eb6497fa7ab69ac444f3763a9b8e16530342f41"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "APPROVE_ALL",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbc2ebe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "BURN_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe32b3f52"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CLAIM_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc5e17ab0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "EXCHANGE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd8eeb7c1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "ISSUE_FOR_ADDRESS",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c70aecf"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc87acbf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c79ce35"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4180e5b5"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x447fbc63"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approveIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f61d336"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "approvedAll",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb42e0f15"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canBurnFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7d3f0ba2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canClaimFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x21f4ae57"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canExchangeFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfaf431bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "authoriser",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "canIssueFor",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04872617"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "eternalStorage",
					"outputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98ff9c54"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeAllDelegatePowers",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6f95200b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeBurnOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x59cec3d6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeClaimOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6c8bc9fe"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeExchangeOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb9156efa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "delegate",
							"type": "address"
						}
					],
					"name": "removeIssueOnBehalf",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x431ce540"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract EternalStorage",
							"name": "_eternalStorage",
							"type": "address"
						}
					],
					"name": "setEternalStorage",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb5bb5619"
				}
			],
			"source": {
				"keccak256": "0xd821ad5f32ac92fe9cc2c44118d714737ed050426d16f29eb7f7edeb3e0ebe66",
				"urls": [
					"bzz-raw://7100ef244e6da47684c9281b7a432cbcd561cc3a702a330daafc0083bf66b59b",
					"dweb:/ipfs/QmeCHQfERyATiecvecXSBhsfnG35K8hpAU36gu3dKgoF3k"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DelegateApprovals.sol": "DelegateApprovals"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DelegateApprovals.sol": {
						"keccak256": "0xd821ad5f32ac92fe9cc2c44118d714737ed050426d16f29eb7f7edeb3e0ebe66",
						"urls": [
							"bzz-raw://7100ef244e6da47684c9281b7a432cbcd561cc3a702a330daafc0083bf66b59b",
							"dweb:/ipfs/QmeCHQfERyATiecvecXSBhsfnG35K8hpAU36gu3dKgoF3k"
						]
					}
				},
				"version": 1
			}
		},
		"Liquidations": {
			"bytecode": "608060405234801561001057600080fd5b50604051612e03380380612e038339818101604052604081101561003357600080fd5b5080516020909101518080836001600160a01b03811661009a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050612cdd806101266000396000f3fe608060405234801561001057600080fd5b50600436106101985760003560e01c806374e889c9116100e3578063974e9e7f1161008c578063ad2bc2d511610066578063ad2bc2d51461048a578063c49e80a6146104b0578063d45c0d7e146104d657610198565b8063974e9e7f146103fc57806398df0de214610422578063a0cf74511461048257610198565b8063828afc4b116100bd578063828afc4b14610376578063899ffef41461039c5780638da5cb5b146103f457610198565b806374e889c91461031157806379ba5097146103195780637f9358a21461032157610198565b80633bffbbe21161014557806361ec080f1161011f57806361ec080f146102db5780636a05896614610301578063741853601461030957610198565b80633bffbbe2146102845780633ed3b7c3146102aa57806353a47bb7146102d357610198565b80632af64bd3116101765780632af64bd31461020357806339a9df1b1461021f5780633b5f5b4e1461024557610198565b806304f3bcec1461019d5780631627540c146101c157806323f5589a146101e9575b600080fd5b6101a56104fc565b604080516001600160a01b039092168252519081900360200190f35b6101e7600480360360208110156101d757600080fd5b50356001600160a01b031661050b565b005b6101f1610574565b60408051918252519081900360200190f35b61020b610584565b604080519115158252519081900360200190f35b61020b6004803603602081101561023557600080fd5b50356001600160a01b03166106a7565b61026b6004803603602081101561025b57600080fd5b50356001600160a01b03166106b8565b6040805192835290151560208301528051918290030190f35b6101f16004803603602081101561029a57600080fd5b50356001600160a01b03166106e3565b6101f1600480360360608110156102c057600080fd5b50803590602081013590604001356106ee565b6101a5610703565b6101f1600480360360208110156102f157600080fd5b50356001600160a01b0316610712565b6101f161079c565b6101e76107b4565b6101f16109a2565b6101e76109bc565b61035d6004803603608081101561033757600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610a85565b6040805192835260208301919091528051918290030190f35b6101f16004803603602081101561038c57600080fd5b50356001600160a01b0316610f6a565b6103a4610f85565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156103e05781810151838201526020016103c8565b505050509050019250505060405180910390f35b6101a56110da565b6101e76004803603602081101561041257600080fd5b50356001600160a01b03166110e9565b6104486004803603602081101561043857600080fd5b50356001600160a01b031661114c565b604080519788526020880196909652868601949094526060860192909252608085015260a0840152151560c0830152519081900360e00190f35b6101f161148f565b6101e7600480360360208110156104a057600080fd5b50356001600160a01b0316611499565b61020b600480360360208110156104c657600080fd5b50356001600160a01b03166116d5565b6101e7600480360360208110156104ec57600080fd5b50356001600160a01b031661177f565b6002546001600160a01b031681565b610513611af4565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600061057e611b3f565b90505b90565b60006060610590610f85565b905060005b815181101561069e5760008282815181106105ac57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561062d57600080fd5b505afa158015610641573d6000803e3d6000fd5b505050506040513d602081101561065757600080fd5b50516001600160a01b031614158061068457506000818152600360205260409020546001600160a01b0316155b156106955760009350505050610581565b50600101610595565b50600191505090565b60006106b282611bf6565b92915050565b6000806106c3612b72565b6106cc84611c1f565b8051935090506106db83611ccb565b915050915091565b60006106b282611cdd565b60006106fb848484611d76565b949350505050565b6001546001600160a01b031681565b60006106b261072083611cdd565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561076457600080fd5b505af4158015610778573d6000803e3d6000fd5b505050506040513d602081101561078e57600080fd5b50519063ffffffff611e4216565b702634b8bab4b230ba34b7b721b0b63632b960791b81565b60606107be610f85565b905060005b815181101561099e5760008282815181106107da57fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156108a9578181015183820152602001610891565b50505050905090810190601f1680156108d65780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156108f457600080fd5b505afa158015610908573d6000803e3d6000fd5b505050506040513d602081101561091e57600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016107c3565b5050565b724c69717569646174696f6e446561646c696e6560681b81565b6001546001600160a01b03163314610a055760405162461bcd60e51b8152600401808060200182810382526035815260200180612b8a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b600080610a90611e57565b6001600160a01b0316336001600160a01b031614610adf5760405162461bcd60e51b815260040180806020018281038252603e815260200180612c23603e913960400191505060405180910390fd5b610ae7611e6b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015610b1f57600080fd5b505afa158015610b33573d6000803e3d6000fd5b5050505060008411610b8c576040805162461bcd60e51b815260206004820152601f60248201527f4c69717569646174696f6e20616d6f756e742063616e206e6f74206265203000604482015290519081900360640190fd5b600080610b97611e85565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015610be057600080fd5b505afa158015610bf4573d6000803e3d6000fd5b505050506040513d6040811015610c0a57600080fd5b50805160209091015190925090508015610c6b576040805162461bcd60e51b815260206004820152601460248201527f50455249207261746520697320696e76616c6964000000000000000000000000604482015290519081900360640190fd5b6000610cff610c78611ea0565b6001600160a01b03166370a082318b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610ccd57600080fd5b505afa158015610ce1573d6000803e3d6000fd5b505050506040513d6020811015610cf757600080fd5b505184611eb9565b9050600080600080610d128d8b87611eea565b9296509094509092509050610d2d858363ffffffff61209d16565b9450610d3a8a8686611d76565b91508a8210610d49578a610d4b565b815b9750610ddd88610dd8610d5c611b3f565b73__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610da057600080fd5b505af4158015610db4573d6000803e3d6000fd5b505050506040513d6020811015610dca57600080fd5b50519063ffffffff61209d16565b611eb9565b985084891115610e0157849850610dfe85610df9610d5c611b3f565b6120f7565b97505b610e0b8982611eb9565b925060008311610e1c576000610eca565b610e24612115565b6001600160a01b0316635c833bfd8e858f6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001826001600160a01b03166001600160a01b031681526020019350505050602060405180830381600087803b158015610e9d57600080fd5b505af1158015610eb1573d6000803e3d6000fd5b505050506040513d6020811015610ec757600080fd5b50515b9050610eec83610ee08b8463ffffffff61209d16565b9063ffffffff61214016565b9850610ef889886120f7565b9850610f29610f0d868a63ffffffff61214016565b610f1d8c8b63ffffffff61214016565b9063ffffffff61219d16565b915081841180610f4c575064e8d4a51000610f4a838663ffffffff61214016565b105b15610f5a57610f5a8d6121c7565b5050505050505094509492505050565b6000610f74612b72565b610f7d83611c1f565b519392505050565b606080610f906121eb565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506b53797374656d53746174757360a01b81600081518110610fd457fe5b6020026020010181815250506a5065726946696e616e636560a81b81600181518110610ffc57fe5b6020026020010181815250507f457465726e616c53746f726167654c69717569646174696f6e730000000000008160028151811061103657fe5b6020026020010181815250506524b9b9bab2b960d11b8160038151811061105957fe5b6020026020010181815250506c45786368616e6765526174657360981b8160048151811061108357fe5b6020026020010181815250507f45787465726e616c546f6b656e5374616b654d616e6167657200000000000000816005815181106110bd57fe5b6020026020010181815250506110d3828261224a565b9250505090565b6000546001600160a01b031681565b6110f1611e57565b6001600160a01b0316336001600160a01b0316146111405760405162461bcd60e51b815260040180806020018281038252603e815260200180612c23603e913960400191505060405180910390fd5b611149816121c7565b50565b600080600080600080600061115f611e57565b6001600160a01b031663d37c4d8b897f70555344000000000000000000000000000000000000000000000000000000006040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156111dc57600080fd5b505afa1580156111f0573d6000803e3d6000fd5b505050506040513d602081101561120657600080fd5b505192506000611214611e85565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b15801561125d57600080fd5b505afa158015611271573d6000803e3d6000fd5b505050506040513d604081101561128757600080fd5b5051905061131d611296611e57565b6001600160a01b031663a5fdc5de8b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156112eb57600080fd5b505afa1580156112ff573d6000803e3d6000fd5b505050506040513d602081101561131557600080fd5b505182611eb9565b9250611327612115565b6001600160a01b031663ede459568a86866040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060c06040518083038186803b15801561138c57600080fd5b505afa1580156113a0573d6000803e3d6000fd5b505050506040513d60c08110156113b657600080fd5b50805160208201516040830151606090930151919a50985090965094506113db611ea0565b6001600160a01b03166370a082318a6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561143057600080fd5b505afa158015611444573d6000803e3d6000fd5b505050506040513d602081101561145a57600080fd5b505192508661147061146b8a612306565b612399565b108015611481575061148189611bf6565b915050919395979092949650565b600061057e61247f565b635045524960e01b6114a9611e85565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156114ec57600080fd5b505afa158015611500573d6000803e3d6000fd5b505050506040513d602081101561151657600080fd5b50511561156a576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b611572611e6b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156115aa57600080fd5b505afa1580156115be573d6000803e3d6000fd5b505050506115ca612b72565b6115d383611c1f565b8051909150611629576040805162461bcd60e51b815260206004820152601e60248201527f4163636f756e7420686173206e6f206c69717569646174696f6e207365740000604482015290519081900360640190fd5b600080611634611e57565b60408051630b693a5f60e21b81526001600160a01b0388811660048301526001602483015291519290911691632da4e97c9160448082019260c092909190829003018186803b15801561168657600080fd5b505afa15801561169a573d6000803e3d6000fd5b505050506040513d60c08110156116b057600080fd5b50805160209091015190925090508082106116ce576116ce85612505565b5050505050565b60008060006116e2611e57565b60408051630b693a5f60e21b81526001600160a01b0387811660048301526001602483015291519290911691632da4e97c9160448082019260c092909190829003018186803b15801561173457600080fd5b505afa158015611748573d6000803e3d6000fd5b505050506040513d60c081101561175e57600080fd5b508051602090910151909250905080821080156106fb57506106fb84611bf6565b635045524960e01b61178f611e85565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156117d257600080fd5b505afa1580156117e6573d6000803e3d6000fd5b505050506040513d60208110156117fc57600080fd5b505115611850576040805162461bcd60e51b815260206004820152601b60248201527f5261746520696e76616c6964206f72206e6f7420612070796e74680000000000604482015290519081900360640190fd5b611858611e6b565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561189057600080fd5b505afa1580156118a4573d6000803e3d6000fd5b5050505060006118b383611cdd565b11611905576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e20726174696f206e6f742073657400000000000000604482015290519081900360640190fd5b600061190f61247f565b11611961576040805162461bcd60e51b815260206004820152601960248201527f4c69717569646174696f6e2064656c6179206e6f742073657400000000000000604482015290519081900360640190fd5b611969612b72565b61197283611c1f565b8051909150156119b35760405162461bcd60e51b8152600401808060200182810382526027815260200180612c826027913960400191505060405180910390fd5b60006119bd611e57565b6001600160a01b031663a311c7c2856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611a1257600080fd5b505afa158015611a26573d6000803e3d6000fd5b505050506040513d6020811015611a3c57600080fd5b50519050611a4984611cdd565b811015611a875760405162461bcd60e51b8152600401808060200182810382526035815260200180612bbf6035913960400191505060405180910390fd5b6000611aa1611a9461247f565b429063ffffffff61209d16565b9050611aae85823361264d565b6040805182815290516001600160a01b038716917fc77e4625de0c70adaf3bd1aabb5f22f9eae8f565367c706fc209030c13857996919081900360200190a25050505050565b6000546001600160a01b03163314611b3d5760405162461bcd60e51b815260040180806020018281038252602f815260200180612bf4602f913960400191505060405180910390fd5b565b6000611b4961277a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e50656e616c747900000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611bc557600080fd5b505afa158015611bd9573d6000803e3d6000fd5b505050506040513d6020811015611bef57600080fd5b5051905090565b6000611c00612b72565b611c0983611c1f565b9050611c188160000151611ccb565b9392505050565b611c27612b72565b611c2f6127a5565b6001600160a01b031663bdc963d8611c5d724c69717569646174696f6e446561646c696e6560681b856127d0565b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611c9157600080fd5b505afa158015611ca5573d6000803e3d6000fd5b505050506040513d6020811015611cbb57600080fd5b5051815260006020820152919050565b600080821180156106b2575050421190565b6000611ce7611e57565b6001600160a01b031663506e4093836040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611d3c57600080fd5b505afa158015611d50573d6000803e3d6000fd5b505050506040513d6020811015611d6657600080fd5b505190506106b261146b82612306565b60008073__$5e636ccdd5f89cd6033a7187b9bf4f76b3$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611dbd57600080fd5b505af4158015611dd1573d6000803e3d6000fd5b505050506040513d6020811015611de757600080fd5b50519050611e39611e1f611e12611e0c611dff611b3f565b859063ffffffff61209d16565b86611eb9565b839063ffffffff61214016565b610f1d611e2c8787611eb9565b889063ffffffff61214016565b95945050505050565b6000611c188383670de0b6b3a764000061280f565b600061057e6524b9b9bab2b960d11b612847565b600061057e6b53797374656d53746174757360a01b612847565b600061057e6c45786368616e6765526174657360981b612847565b600061057e6a5065726946696e616e636560a81b612847565b6000811580611ec6575082155b611ee157611edc611ed78484612930565b612962565b611c18565b50600092915050565b6000806000806000611efa612115565b6001600160a01b031663ede459568989896040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060c06040518083038186803b158015611f5f57600080fd5b505afa158015611f73573d6000803e3d6000fd5b505050506040513d60c0811015611f8957600080fd5b50805160208201516040830151606084015160809094015192985090965090945090925090508385108015611fc25750611fc288611bf6565b612013576040805162461bcd60e51b815260206004820181905260248201527f4163636f756e74206e6f74206f70656e20666f72206c69717569646174696f6e604482015290519081900360640190fd5b61201d8282611eb9565b9050600081881161202f57600061203f565b61203f888363ffffffff61214016565b905061204d81610df9612984565b905080871061206b57612066818463ffffffff61209d16565b61207b565b61207b878463ffffffff61209d16565b945061208d838663ffffffff61219d16565b9350829450505093509350935093565b600082820183811015611c18576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000811580612104575082155b611ee157611edc611ed78484612a0a565b600061057e7f45787465726e616c546f6b656e5374616b654d616e6167657200000000000000612847565b600082821115612197576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611c18826121bb85670de0b6b3a764000063ffffffff612a3c16565b9063ffffffff612a9516565b6121cf612b72565b6121d882611c1f565b80519091501561099e5761099e82612505565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f7261676500000000000000000000000000000000008160008151811061223b57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561227a578160200160208202803883390190505b50905060005b83518110156122bc5783818151811061229557fe5b60200260200101518282815181106122a957fe5b6020908102919091010152600101612280565b5060005b82518110156122ff578281815181106122d557fe5b60200260200101518282865101815181106122ec57fe5b60209081029190910101526001016122c0565b5092915050565b60006706f05b59d3b2000082111561233e577f49000000000000000000000000000000000000000000000000000000000000006106b2565b612346612984565b8214612372577f43000000000000000000000000000000000000000000000000000000000000006106b2565b7f500000000000000000000000000000000000000000000000000000000000000092915050565b60006123a361277a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e526174696f73000000000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561244d57600080fd5b505afa158015612461573d6000803e3d6000fd5b505050506040513d602081101561247757600080fd5b505192915050565b600061248961277a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6c69717569646174696f6e44656c6179000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611bc557600080fd5b61250d6127a5565b6001600160a01b03166393fe424861253b724c69717569646174696f6e446561646c696e6560681b846127d0565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561257157600080fd5b505af1158015612585573d6000803e3d6000fd5b505050506125916127a5565b6001600160a01b031663043106c06125bd702634b8bab4b230ba34b7b721b0b63632b960791b846127d0565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156125f357600080fd5b505af1158015612607573d6000803e3d6000fd5b50506040805142815290516001600160a01b03851693507f9b6ac8997b4f2edd0a27c1beb32f7c14d522e9c16f46e79daa5a144016bd6c8792509081900360200190a250565b6126556127a5565b6001600160a01b0316633562fd20612683724c69717569646174696f6e446561646c696e6560681b866127d0565b846040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156126c157600080fd5b505af11580156126d5573d6000803e3d6000fd5b505050506126e16127a5565b6001600160a01b0316635a2bf25a61270d702634b8bab4b230ba34b7b721b0b63632b960791b866127d0565b836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561275d57600080fd5b505af1158015612771573d6000803e3d6000fd5b50505050505050565b600061057e7f466c657869626c6553746f726167650000000000000000000000000000000000612847565b600061057e7f457465726e616c53746f726167654c69717569646174696f6e73000000000000612847565b6040805160208082019490945260609290921b6bffffffffffffffffffffffff1916828201528051808303603401815260549092019052805191012090565b600080612829846121bb87600a870263ffffffff612a3c16565b90506005600a825b061061283b57600a015b600a9004949350505050565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816122ff5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156128f55781810151838201526020016128dd565b50505050905090810190601f1680156129225780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b600081158061293d575082155b611ee157611edc61294d83612aff565b61295685612aff565b9063ffffffff612b1516565b60006305f5e10082046005600a82061061297a57600a015b600a900492915050565b600061298e61277a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015611bc557600080fd5b6000811580612a17575082155b611ee157611edc612a2783612aff565b612a3085612aff565b9063ffffffff612b2e16565b600082612a4b575060006106b2565b82820282848281612a5857fe5b0414611c185760405162461bcd60e51b8152600401808060200182810382526021815260200180612c616021913960400191505060405180910390fd5b6000808211612aeb576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481612af657fe5b04949350505050565b60006106b282633b9aca0063ffffffff612a3c16565b6000611c1883836b033b2e3c9fd0803ce8000000612b47565b6000611c1883836b033b2e3c9fd0803ce800000061280f565b600080600a8304612b5e868663ffffffff612a3c16565b81612b6557fe5b0490506005600a82612831565b60408051808201909152600080825260208201529056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704163636f756e742069737375616e636520726174696f206973206c657373207468616e206c69717569646174696f6e20726174696f4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4c69717569646174696f6e733a204f6e6c79207468652049737375657220636f6e74726163742063616e20706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774163636f756e7420616c726561647920666c616767656420666f72206c69717569646174696f6ea265627a7a7231582066ed88887264c6e5784563425cbde3dfad64c1c7687814b2ad36aa236a31331264736f6c63430005100032",
			"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": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "cRatioNDebtsCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "cRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periCol",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isLiquidateOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98df0de2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "collateral",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						}
					],
					"name": "calcAmtToFixCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountToFixRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3ed3b7c3"
				},
				{
					"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": "getLiquidationInfo",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "deadline",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "isOpen",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b5f5b4e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isLiquidationDeadlinePassed",
					"outputs": [
						{
							"internalType": "bool",
							"name": "isPassed",
							"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": "isOpen",
							"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": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						}
					],
					"name": "liquidateAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7f9358a2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "liquidationCollateralRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x61ec080f"
				},
				{
					"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": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "liquidationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3bffbbe2"
				},
				{
					"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": "0x50abe6bdeda177e0921004e180e628a891be16967f733eb372c11f603030c0a3",
				"urls": [
					"bzz-raw://d8a01065e31de4cfab2f4bafba73f0e5e1e2b02ac1cbf93a965c174a3c824f47",
					"dweb:/ipfs/QmNxvEtkEgAEDZTfWs2FqHd4crkeLYChfPxJsfPPhMJCFm"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Liquidations.sol": "Liquidations"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Liquidations.sol": {
						"keccak256": "0x50abe6bdeda177e0921004e180e628a891be16967f733eb372c11f603030c0a3",
						"urls": [
							"bzz-raw://d8a01065e31de4cfab2f4bafba73f0e5e1e2b02ac1cbf93a965c174a3c824f47",
							"dweb:/ipfs/QmNxvEtkEgAEDZTfWs2FqHd4crkeLYChfPxJsfPPhMJCFm"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolEternalStorage": {
			"bytecode": "608060405234801561001057600080fd5b506040516114d03803806114d08339818101604052604081101561003357600080fd5b50805160209091015162375f00828280826001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610149576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050504201600a55505061131d806101b36000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806353a47bb711610104578063a209a29c116100a2578063ba69fcaa11610071578063ba69fcaa146105d5578063bdc963d8146105f2578063c9a52d2c1461060f578063f586606614610684576101cf565b8063a209a29c146104cf578063a77aa49e146104ec578063aefc4ccb1461050f578063b3ffbd9e14610517576101cf565b80638267a9ee116100de5780638267a9ee146104705780638da5cb5b1461048d5780639007127b1461049557806393fe4248146104b2576101cf565b806353a47bb7146104345780635a2bf25a1461043c57806379ba509714610468576101cf565b80633562fd201161017157806344bfa56e1161014b57806344bfa56e1461033b57806346ba2d90146103cd5780634c77e5ba146103d557806352f445ca1461040e576101cf565b80633562fd20146102d65780633cc1635c146102f95780633eba9ed214610316576101cf565b8063124f2418116101ad578063124f24181461023f5780631627540c1461025c57806317e7dd221461028257806325cf512d146102b3576101cf565b8063025ec81a146101d4578063043106c0146102035780630c55d92514610222575b600080fd5b6101f1600480360360208110156101ea57600080fd5b50356106f9565b60408051918252519081900360200190f35b6102206004803603602081101561021957600080fd5b503561070b565b005b6102206004803603602081101561023857600080fd5b5035610772565b6102206004803603602081101561025557600080fd5b50356107d5565b6102206004803603602081101561027257600080fd5b50356001600160a01b031661082f565b61029f6004803603602081101561029857600080fd5b503561088b565b604080519115158252519081900360200190f35b610220600480360360408110156102c957600080fd5b50803590602001356108a0565b610220600480360360408110156102ec57600080fd5b50803590602001356108fb565b6102206004803603602081101561030f57600080fd5b5035610956565b6102206004803603604081101561032c57600080fd5b508035906020013515156109b7565b6103586004803603602081101561035157600080fd5b5035610a20565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561039257818101518382015260200161037a565b50505050905090810190601f1680156103bf5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f1610ac1565b6103f2600480360360208110156103eb57600080fd5b5035610ac7565b604080516001600160a01b039092168252519081900360200190f35b6102206004803603602081101561042457600080fd5b50356001600160a01b0316610ae2565b6103f2610b3e565b6102206004803603604081101561045257600080fd5b50803590602001356001600160a01b0316610b4d565b610220610bc4565b6102206004803603602081101561048657600080fd5b5035610c80565b6103f2610cda565b6101f1600480360360208110156104ab57600080fd5b5035610ce9565b610220600480360360208110156104c857600080fd5b5035610cfb565b610358600480360360208110156104e557600080fd5b5035610d55565b6102206004803603604081101561050257600080fd5b5080359060200135610dbf565b6103f2610e1a565b6102206004803603604081101561052d57600080fd5b810190602081018135600160201b81111561054757600080fd5b82018360208201111561055957600080fd5b803590602001918460208302840111600160201b8311171561057a57600080fd5b919390929091602081019035600160201b81111561059757600080fd5b8201836020820111156105a957600080fd5b803590602001918460208302840111600160201b831117156105ca57600080fd5b509092509050610e29565b610220600480360360208110156105eb57600080fd5b5035610fc1565b6101f16004803603602081101561060857600080fd5b5035611021565b6102206004803603604081101561062557600080fd5b81359190810190604081016020820135600160201b81111561064657600080fd5b82018360208201111561065857600080fd5b803590602001918460018302840111600160201b8311171561067957600080fd5b509092509050611033565b6102206004803603604081101561069a57600080fd5b81359190810190604081016020820135600160201b8111156106bb57600080fd5b8201836020820111156106cd57600080fd5b803590602001918460018302840111600160201b831117156106ee57600080fd5b50909250905061109b565b60009081526007602052604090205490565b6002546001600160a01b031633146107545760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260056020526040902080546001600160a01b0319169055565b6002546001600160a01b031633146107bb5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526006602052604081206107d291611148565b50565b6002546001600160a01b0316331461081e5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260076020526040812055565b6108376110fd565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60009081526008602052604090205460ff1690565b6002546001600160a01b031633146108e95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526007602052604090912055565b6002546001600160a01b031633146109445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526003602052604090912055565b6002546001600160a01b0316331461099f5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b6000908152600860205260409020805460ff19169055565b6002546001600160a01b03163314610a005760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600091825260086020526040909120805460ff1916911515919091179055565b60008181526006602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b820191906000526020600020905b815481529060010190602001808311610a9857829003601f168201915b50505050509050919050565b600a5481565b6000908152600560205260409020546001600160a01b031690565b610aea6110fd565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b03163314610b965760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526005602052604090912080546001600160a01b0319166001600160a01b03909216919091179055565b6001546001600160a01b03163314610c0d5760405162461bcd60e51b81526004018080602001828103825260358152602001806112286035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546001600160a01b03163314610cc95760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260096020526040812055565b6000546001600160a01b031681565b60009081526009602052604090205490565b6002546001600160a01b03163314610d445760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600090815260036020526040812055565b60008181526004602090815260409182902080548351601f6002600019610100600186161502019093169290920491820184900484028101840190945280845260609392830182828015610ab55780601f10610a8a57610100808354040283529160200191610ab5565b6002546001600160a01b03163314610e085760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60009182526009602052604090912055565b6002546001600160a01b031681565b610e316110fd565b600a544210610e715760405162461bcd60e51b81526004018080602001828103825260298152602001806112c06029913960400191505060405180910390fd5b828114610eb7576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b60ff8116841115610fba5730633562fd20721b185cdd17d9995957ddda5d1a191c985dd85b606a1b878760ff8616818110610ef157fe5b905060200201356001600160a01b031660405160200180838152602001826001600160a01b03166001600160a01b031660601b8152601401925050506040516020818303038152906040528051906020012085858560ff16818110610f5257fe5b905060200201356040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610f9657600080fd5b505af1158015610faa573d6000803e3d6000fd5b505060019092019150610eba9050565b5050505050565b6002546001600160a01b0316331461100a5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b60008181526004602052604081206107d291611148565b60009081526003602052604090205490565b6002546001600160a01b0316331461107c5760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260066020526040902061109590838361118c565b50505050565b6002546001600160a01b031633146110e45760405162461bcd60e51b815260040180806020018281038252603481526020018061128c6034913960400191505060405180910390fd5b600083815260046020526040902061109590838361118c565b6000546001600160a01b031633146111465760405162461bcd60e51b815260040180806020018281038252602f81526020018061125d602f913960400191505060405180910390fd5b565b50805460018160011615610100020316600290046000825580601f1061116e57506107d2565b601f0160209004906000526020600020908101906107d2919061120a565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106111cd5782800160ff198235161785556111fa565b828001600101855582156111fa579182015b828111156111fa5782358255916020019190600101906111df565b5061120692915061120a565b5090565b61122491905b808211156112065760008155600101611210565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a7231582054171d095fd964848af7af92532f32e594e97b7601be52a5a4e1eddc8503b49a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_feePool",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x043106c0"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3cc1635c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x124f2418"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0c55d925"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8267a9ee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xba69fcaa"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "deleteUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x93fe4248"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getAddressValue",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c77e5ba"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBooleanValue",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x17e7dd22"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytes32Value",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x025ec81a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getBytesValue",
					"outputs": [
						{
							"internalType": "bytes",
							"name": "",
							"type": "bytes"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44bfa56e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getIntValue",
					"outputs": [
						{
							"internalType": "int256",
							"name": "",
							"type": "int256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9007127b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getStringValue",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa209a29c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						}
					],
					"name": "getUIntValue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbdc963d8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "feePeriodIDs",
							"type": "uint256[]"
						}
					],
					"name": "importFeeWithdrawalData",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb3ffbd9e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "value",
							"type": "address"
						}
					],
					"name": "setAddressValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5a2bf25a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "value",
							"type": "bool"
						}
					],
					"name": "setBooleanValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3eba9ed2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "value",
							"type": "bytes32"
						}
					],
					"name": "setBytes32Value",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x25cf512d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "bytes",
							"name": "value",
							"type": "bytes"
						}
					],
					"name": "setBytesValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc9a52d2c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "int256",
							"name": "value",
							"type": "int256"
						}
					],
					"name": "setIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa77aa49e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "string",
							"name": "value",
							"type": "string"
						}
					],
					"name": "setStringValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf5866066"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "record",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "setUIntValue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3562fd20"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				}
			],
			"source": {
				"keccak256": "0xc756c06d02ef23fa3b8d66e669af4595b7041a298848b20e4fa100c7d5f262ce",
				"urls": [
					"bzz-raw://3ee23b538e741309320ea1ff36131b229ef366a5a8063388ef347c92cf59adbd",
					"dweb:/ipfs/QmXux4SjqFciSehaAAPFcQctgNDyqcuBWywzpfZ7AKuqzE"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"FeePoolEternalStorage.sol": "FeePoolEternalStorage"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"FeePoolEternalStorage.sol": {
						"keccak256": "0xc756c06d02ef23fa3b8d66e669af4595b7041a298848b20e4fa100c7d5f262ce",
						"urls": [
							"bzz-raw://3ee23b538e741309320ea1ff36131b229ef366a5a8063388ef347c92cf59adbd",
							"dweb:/ipfs/QmXux4SjqFciSehaAAPFcQctgNDyqcuBWywzpfZ7AKuqzE"
						]
					}
				},
				"version": 1
			}
		},
		"FeePool": {
			"bytecode": "6080604052631c1554d160e21b6008553480156200001c57600080fd5b5060405162005239380380620052398339810160408190526200003f9162000221565b8080621baf8085856001600160a01b038116620000795760405162461bcd60e51b8152600401620000709062000343565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c69184906200030b565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b8152600401620000709062000331565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9062000147908390620002fb565b60405180910390a1504201600555600680546001600160a01b0319166001600160a01b0392909216919091179055506001620001846000620001e2565b80546001600160401b0319166001600160401b039290921691909117905542620001af6000620001e2565b80546001600160401b0392909216600160801b02600160801b600160c01b0319909216919091179055506200039e915050565b60006009600260ff16836013540181620001f857fe5b06600281106200020457fe5b6005020192915050565b80516200021b8162000384565b92915050565b6000806000606084860312156200023757600080fd5b60006200024586866200020e565b935050602062000258868287016200020e565b92505060406200026b868287016200020e565b9150509250925092565b620002808162000370565b82525050565b62000280816200035e565b6000620002a060118362000355565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620002cf60198362000355565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200021b828462000275565b604081016200031b828562000275565b6200032a602083018462000286565b9392505050565b602080825281016200021b8162000291565b602080825281016200021b81620002c0565b90815260200190565b60006001600160a01b0382166200021b565b60006200021b8260006200021b826200035e565b6200038f816200035e565b81146200039b57600080fd5b50565b614e8b80620003ae6000396000f3fe608060405234801561001057600080fd5b50600436106102de5760003560e01c80636de813f111610186578063ac834193116100e3578063d67bdd2511610097578063eb1edd6111610071578063eb1edd611461055d578063ec55688914610565578063fd1f498d1461056d576102de565b8063d67bdd251461053a578063e0e6393d14610542578063e10dab061461054a576102de565b8063bc67f832116100c8578063bc67f8321461050a578063cff2ddad1461051d578063d294f09314610532576102de565b8063ac834193146104fa578063b410a03414610502576102de565b8063899ffef41161013a57806397107d6d1161011f57806397107d6d146104cc5780639cbdaeb6146104df578063a4d1489f146104e7576102de565b8063899ffef4146104af5780638da5cb5b146104c4576102de565b806379ba50971161016b57806379ba50971461048157806386645274146104895780638844578a1461049c576102de565b80636de813f1146104715780637418536014610479576102de565b80633ebc457a1161023f57806353a47bb7116101f357806362115496116101cd578063621154961461044e5780636466f45e146104565780636683051b14610469576102de565b806353a47bb71461041e578063569249d01461043357806359a2f19f1461043b576102de565b8063446530d111610224578063446530d1146103fb5780634531a2e31461040357806346ba2d9014610416576102de565b80633ebc457a146103cd5780633fcd2240146103d5576102de565b80631627540c1161029657806322bf55ef1161027b57806322bf55ef146103855780632af64bd31461039857806333140016146103ad576102de565b80631627540c1461036a57806322425fa41461037d576102de565b80630813071c116102c75780630813071c146103215780630de5861514610334578063131b0ae714610355576102de565b806304f3bcec146102e357806307ea50cd14610301575b600080fd5b6102eb610580565b6040516102f89190614adb565b60405180910390f35b61031461030f366004613a81565b61058f565b6040516102f891906149f8565b61031461032f366004613ac5565b610664565b610347610342366004613a81565b6107b0565b6040516102f8929190614a14565b610368610363366004613a81565b610829565b005b610368610378366004613a81565b610853565b6103146108b1565b610368610393366004613be8565b6108c1565b6103a0610a71565b6040516102f891906149ea565b6103c06103bb366004613a81565b610ba1565b6040516102f891906149cb565b610368610e05565b6103e86103e3366004613be8565b611271565b6040516102f89796959493929190614cc8565b61031461131a565b610368610411366004613cbd565b611320565b6103146113da565b6104266113e0565b6040516102f891906148dd565b6103146113ef565b6103a0610449366004613a81565b61144a565b610314611457565b6103a0610464366004613a81565b6114ac565b6103a06115d6565b6103146115df565b610368611637565b610368611789565b610368610497366004613aff565b611825565b6103686104aa366004613be8565b611965565b6104b7611a0c565b6040516102f891906149d9565b610426611cf2565b6103686104da366004613a81565b611d01565b6102eb611d54565b6103686104f5366004613a81565b611d63565b610314611f50565b610314611ffc565b610368610518366004613a81565b612006565b610525612030565b6040516102f89190614d30565b6103a0612035565b6104266120ac565b6103146120bb565b610368610558366004613b4c565b6120c5565b610426612513565b6102eb61252b565b61036861057b366004613be8565b61253a565b6006546001600160a01b031681565b60006105996125b7565b6001600160a01b031663bdc963d87f6c6173745f6665655f7769746864726177616c00000000000000000000000000846040516020016105da92919061486b565b604051602081830303815290604052805190602001206040518263ffffffff1660e01b815260040161060c91906149f8565b60206040518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065c9190810190613bac565b90505b919050565b60008161068c5760405162461bcd60e51b815260040161068390614c8a565b60405180910390fd5b600282106106ac5760405162461bcd60e51b815260040161068390614c2a565b6106b8600183036125e2565b5468010000000000000000900467ffffffffffffffff166106db575060006107aa565b600061070b60016106ee600186036125e2565b5468010000000000000000900467ffffffffffffffff169061260c565b9050600080610718612634565b6001600160a01b031663d29c000a87856040518363ffffffff1660e01b815260040161074592919061494a565b604080518083038186803b15801561075c57600080fd5b505afa158015610770573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107949190810190613c06565b90925090506107a483838361265f565b93505050505b92915050565b6000806107bb61393a565b6107c484610ba1565b905060015b6002811015610822576107ee8282600281106107e157fe5b602002015151859061279e565b93506108188282600281106107ff57fe5b602002015160016020020151849063ffffffff61279e16565b92506001016107c9565b5050915091565b6108316127c3565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b61085b6127c3565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a69083906148dd565b60405180910390a150565b60006108bb6127ef565b90505b90565b60006108cb6128b6565b6001600160a01b0316331490506000806108e36128e1565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040161090e91906148eb565b60206040518083038186803b15801561092657600080fd5b505afa15801561093a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061095e9190810190613bac565b14159050600061096c6128f5565b6001600160a01b0316336001600160a01b0316149050600061098c612920565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b81526004016109b791906148eb565b60206040518083038186803b1580156109cf57600080fd5b505afa1580156109e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a079190810190613b8e565b90508380610a125750825b80610a1a5750815b80610a225750805b610a3e5760405162461bcd60e51b815260040161068390614b1a565b610a5c85610a4c60006125e2565b600101549063ffffffff61279e16565b610a6660006125e2565b600101555050505050565b60006060610a7d611a0c565b905060005b8151811015610b98576000828281518110610a9957fe5b602090810291909101810151600081815260079092526040918290205460065492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a72190610b039085906004016149f8565b60206040518083038186803b158015610b1b57600080fd5b505afa158015610b2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b539190810190613aa7565b6001600160a01b0316141580610b7e57506000818152600760205260409020546001600160a01b0316155b15610b8f57600093505050506108be565b50600101610a82565b50600191505090565b610ba961393a565b6000806000610bb6612634565b6040517fb326f84e0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0382169063b326f84e90610c0190889060009060040161492f565b604080518083038186803b158015610c1857600080fd5b505afa158015610c2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c509190810190613c06565b909350915081158015610c61575082155b15610c7957610c6e61393a565b935061065f92505050565b600080610c886000868661294b565b8751829052875160200181905290925090506000610ca58861058f565b905060015b8015610df95760001981016000610cc0826125e2565b5468010000000000000000900467ffffffffffffffff1690508015801590610cfa5750610cec836125e2565b5467ffffffffffffffff1684105b15610dee576000610d1282600163ffffffff61260c16565b6040517fd29c000a0000000000000000000000000000000000000000000000000000000081529091506001600160a01b0389169063d29c000a90610d5c908f90859060040161494a565b604080518083038186803b158015610d7357600080fd5b505afa158015610d87573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dab9190810190613c06565b909a509850610dbb848b8b61294b565b9097509550868b8560028110610dcd57fe5b602002015152858b8560028110610de057fe5b602002015160016020020152505b505060001901610caa565b50505050505050919050565b610e0d6129ed565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015610e4557600080fd5b505afa158015610e59573d6000803e3d6000fd5b505050506000610e676127ef565b11610e845760405162461bcd60e51b815260040161068390614c9a565b610e8c6127ef565b4203610e9860006125e2565b54600160801b900467ffffffffffffffff161115610ec85760405162461bcd60e51b815260040161068390614b4a565b60145460ff1680610fca575073__$f9217daff40bcb29719cec84f7ab900933$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b158015610f1857600080fd5b505af4158015610f2c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f509190810190613bac565b610f58612a18565b6001600160a01b03166302760d946040518163ffffffff1660e01b815260040160206040518083038186803b158015610f9057600080fd5b505afa158015610fa4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fc89190810190613bac565b145b610fe65760405162461bcd60e51b815260040161068390614b5a565b6000610ff1816125e2565b90506000610fff60016125e2565b905061103081600201546110248460010154846001015461279e90919063ffffffff16565b9063ffffffff61260c16565b61103a60006125e2565b600101556004810154600380840154908301546110629291611024919063ffffffff61279e16565b61106c60006125e2565b6003015560135461109d9060029061109190600190611024908463ffffffff61279e16565b9063ffffffff612a4316565b6013819055600990600281106110af57fe5b6005020180547fffffffffffffffff00000000000000000000000000000000000000000000000016815560006001808301829055600283018290556003830182905560049092015561111b90611104816125e2565b5467ffffffffffffffff169063ffffffff61279e16565b61112560006125e2565b805467ffffffffffffffff191667ffffffffffffffff9290921691909117905561114d612a73565b6001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b15801561118557600080fd5b505afa158015611199573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111bd9190810190613bac565b6111c760006125e2565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff0000000000000000199092169190911790554261120760006125e2565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff9092169190911790556014805460ff1916905561126d61125d60016125e2565b5467ffffffffffffffff16612a9e565b5050565b6000806000806000806000611284613967565b61128d896125e2565b6040805160e081018252825467ffffffffffffffff808216808452680100000000000000008304821660208501819052600160801b909304909116938301849052600185015460608401819052600286015460808501819052600387015460a0860181905260049097015460c0909501859052919f929e50939c50929a5091985091965090945092505050565b60165481565b611328612b56565b6000611332612bac565b6004546001600160a01b039081169116149050806113625760405162461bcd60e51b815260040161068390614c4a565b8167ffffffffffffffff1642101561138c5760405162461bcd60e51b815260040161068390614afa565b8161139760006125e2565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff9092169190911790555050565b60055481565b6001546001600160a01b031681565b60008060015b60028110156114445761141b61140a826125e2565b60010154839063ffffffff61279e16565b915061143a611429826125e2565b60020154839063ffffffff61260c16565b91506001016113f5565b50905090565b600061065c826000612c26565b60145460009060ff168061148e575061146e6127ef565b420361147a60006125e2565b54600160801b900467ffffffffffffffff16115b6114a55761149c60006125e2565b600101546108bb565b5060155490565b60006114b66129ed565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156114ee57600080fd5b505afa158015611502573d6000803e3d6000fd5b5050505061150e612b56565b611516612d37565b600480546040517f21f4ae570000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936321f4ae5793611561938893921691016148f9565b60206040518083038186803b15801561157957600080fd5b505afa15801561158d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b19190810190613b8e565b6115cd5760405162461bcd60e51b815260040161068390614bca565b61065c82612d62565b60145460ff1690565b600060015b60028110156116335761160a6115f9826125e2565b60030154839063ffffffff61279e16565b9150611629611618826125e2565b60040154839063ffffffff61260c16565b91506001016115e4565b5090565b6060611641611a0c565b905060005b815181101561126d57600082828151811061165d57fe5b602002602001015190506000600660009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161169f91906148c7565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016116cb929190614a22565b60206040518083038186803b1580156116e357600080fd5b505afa1580156116f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061171b9190810190613aa7565b6000838152600760205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906117779084908490614a06565b60405180910390a15050600101611646565b6001546001600160a01b031633146117b35760405162461bcd60e51b815260040161068390614b2a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926117f6926001600160a01b03918216929116906148f9565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061182f6128e1565b6001600160a01b0316336001600160a01b0316149050600061184f612a73565b6001600160a01b0316336001600160a01b0316149050818061186e5750805b61188a5760405162461bcd60e51b815260040161068390614b0a565b611892612634565b6001600160a01b03166394e1a4488686866118ad60006125e2565b5460405160e086901b7fffffffff000000000000000000000000000000000000000000000000000000001681526119009493929168010000000000000000900467ffffffffffffffff169060040161498d565b600060405180830381600087803b15801561191a57600080fd5b505af115801561192e573d6000803e3d6000fd5b5050505061195e85858561194260006125e2565b5468010000000000000000900467ffffffffffffffff16612e39565b5050505050565b61196d6127c3565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156119b157600080fd5b505af41580156119c5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119e99190810190613bac565b8110611a075760405162461bcd60e51b815260040161068390614caa565b601655565b606080611a17612ed0565b60408051600c8082526101a082019092529192506060919060208201610180803883390190505090507f53797374656d537461747573000000000000000000000000000000000000000081600081518110611a6e57fe5b6020026020010181815250507f466565506f6f6c5374617465000000000000000000000000000000000000000081600181518110611aa857fe5b6020026020010181815250507f466565506f6f6c457465726e616c53746f72616765000000000000000000000081600281518110611ae257fe5b6020026020010181815250507f45786368616e676572000000000000000000000000000000000000000000000081600381518110611b1c57fe5b6020026020010181815250506524b9b9bab2b960d11b81600481518110611b3f57fe5b6020026020010181815250507f5065726946696e616e636553746174650000000000000000000000000000000081600581518110611b7957fe5b6020026020010181815250507f526577617264457363726f77563200000000000000000000000000000000000081600681518110611bb357fe5b6020026020010181815250507f44656c6567617465417070726f76616c7300000000000000000000000000000081600781518110611bed57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c705553440000000000000000000000000081600881518110611c2757fe5b6020026020010181815250507f52657761726473446973747269627574696f6e0000000000000000000000000081600981518110611c6157fe5b6020026020010181815250507f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081600a81518110611c9b57fe5b6020026020010181815250507f43726f7373436861696e4d616e6167657200000000000000000000000000000081600b81518110611cd557fe5b602002602001018181525050611ceb8282612f2f565b9250505090565b6000546001600160a01b031681565b611d096127c3565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906108a69083906148eb565b6003546001600160a01b031681565b611d6b612feb565b6005544210611d8c5760405162461bcd60e51b815260040161068390614c3a565b6001600160a01b038116611db25760405162461bcd60e51b815260040161068390614bea565b60005b600281101561126d576000806000806000806000886001600160a01b0316633fcd2240896040518263ffffffff1660e01b8152600401611df591906149f8565b60e06040518083038186803b158015611e0d57600080fd5b505afa158015611e21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e459190810190613cdb565b965096509650965096509650965086611e5d896125e2565b805467ffffffffffffffff191667ffffffffffffffff9290921691909117905585611e87896125e2565b805467ffffffffffffffff9290921668010000000000000000026fffffffffffffffff00000000000000001990921691909117905584611ec6896125e2565b805467ffffffffffffffff92909216600160801b027fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff90921691909117905583611f0f896125e2565b6001015582611f1d896125e2565b6002015581611f2b896125e2565b6003015580611f39896125e2565b60040155505060019095019450611db59350505050565b60006108bb611fe8611f60613070565b73__$f9217daff40bcb29719cec84f7ab900933$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611fa457600080fd5b505af4158015611fb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fdc9190810190613bac565b9063ffffffff61279e16565b611ff06130e7565b9063ffffffff61315e16565b60006108bb6130e7565b61200e613188565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600281565b600061203f6129ed565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561207757600080fd5b505afa15801561208b573d6000803e3d6000fd5b50505050612097612b56565b6004546108bb906001600160a01b0316612d62565b6004546001600160a01b031681565b60006108bb613070565b6120cd612b56565b60006120d7612bac565b6004546001600160a01b039081169116149050806121075760405162461bcd60e51b815260040161068390614c4a565b60006121116127ef565b1161212e5760405162461bcd60e51b815260040161068390614c9a565b6121366127ef565b420361214260006125e2565b54600160801b900467ffffffffffffffff1611156121725760405162461bcd60e51b815260040161068390614b3a565b60145460ff16156121955760405162461bcd60e51b815260040161068390614c6a565b6014805460ff191660011790556121ac60006125e2565b600101546015556000805b838110156121ee576121e48585838181106121ce57fe5b905060200201358361279e90919063ffffffff16565b91506001016121b7565b5060155461220390829063ffffffff61279e16565b905061229d612298612213612a18565b6001600160a01b03166302760d946040518163ffffffff1660e01b815260040160206040518083038186803b15801561224b57600080fd5b505afa15801561225f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122839190810190613bac565b61228c846131c7565b9063ffffffff6131dd16565b6131f6565b6122a760006125e2565b600101556122b560006125e2565b6001015460155411156123de576122ca6128e1565b6001600160a01b03166357ad46636008546040518263ffffffff1660e01b81526004016122f791906149f8565b60206040518083038186803b15801561230f57600080fd5b505afa158015612323573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506123479190810190613bca565b6001600160a01b0316639dc29fac73feefeefeefeefeefeefeefeefeefeefeefeefeef61238a61237760006125e2565b600101546015549063ffffffff61260c16565b6040518363ffffffff1660e01b81526004016123a792919061494a565b600060405180830381600087803b1580156123c157600080fd5b505af11580156123d5573d6000803e3d6000fd5b5050505061250d565b6123e860006125e2565b60010154601554101561250d576123fd6128e1565b6001600160a01b03166357ad46636008546040518263ffffffff1660e01b815260040161242a91906149f8565b60206040518083038186803b15801561244257600080fd5b505afa158015612456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061247a9190810190613bca565b6001600160a01b031663867904b473feefeefeefeefeefeefeefeefeefeefeefeefeef6124bd6015546124ad60006125e2565b600101549063ffffffff61260c16565b6040518363ffffffff1660e01b81526004016124da92919061494a565b600060405180830381600087803b1580156124f457600080fd5b505af1158015612508573d6000803e3d6000fd5b505050505b50505050565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b6000612544613218565b6004549091506001600160a01b038083169116148061256b5750336001600160a01b038216145b6125875760405162461bcd60e51b815260040161068390614bda565b6125a58261259560006125e2565b600301549063ffffffff61279e16565b6125af60006125e2565b600301555050565b60006108bb7f466565506f6f6c457465726e616c53746f72616765000000000000000000000061323f565b60006009600260ff168360135401816125f757fe5b066002811061260257fe5b6005020192915050565b60008282111561262e5760405162461bcd60e51b815260040161068390614b8a565b50900390565b60006108bb7f466565506f6f6c5374617465000000000000000000000000000000000000000061323f565b60008061266a612a73565b905060006127928561228c846001600160a01b03166308d95cd5886040518263ffffffff1660e01b81526004016126a191906149f8565b60206040518083038186803b1580156126b957600080fd5b505afa1580156126cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126f19190810190613bac565b6040517f08d95cd50000000000000000000000000000000000000000000000000000000081526001600160a01b038716906308d95cd590612736908d906004016149f8565b60206040518083038186803b15801561274e57600080fd5b505afa158015612762573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127869190810190613bac565b9063ffffffff61329c16565b925050505b9392505050565b6000828201838110156127975760405162461bcd60e51b815260040161068390614b7a565b6000546001600160a01b031633146127ed5760405162461bcd60e51b815260040161068390614bfa565b565b60006127f96132b5565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f666565506572696f644475726174696f6e0000000000000000000000000000006040518363ffffffff1660e01b8152600401612866929190614a14565b60206040518083038186803b15801561287e57600080fd5b505afa158015612892573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108bb9190810190613bac565b60006108bb7f45786368616e676572000000000000000000000000000000000000000000000061323f565b60006108bb6524b9b9bab2b960d11b61323f565b60006108bb7f4574686572436f6c6c61746572616c705553440000000000000000000000000061323f565b60006108bb7f436f6c6c61746572616c4d616e6167657200000000000000000000000000000061323f565b6000808361295e575060009050806129e5565b83851561298957600061297860016106ee60018a036125e2565b905061298581878761265f565b9150505b60006129a882612998896125e2565b600101549063ffffffff61315e16565b905060006129c9836129b98a6125e2565b600301549063ffffffff61315e16565b90506129d4826131f6565b6129dd826131f6565b945094505050505b935093915050565b60006108bb7f53797374656d537461747573000000000000000000000000000000000000000061323f565b60006108bb7f43726f7373436861696e4d616e6167657200000000000000000000000000000061323f565b600081612a625760405162461bcd60e51b815260040161068390614bba565b818381612a6b57fe5b069392505050565b60006108bb7f5065726946696e616e636553746174650000000000000000000000000000000061323f565b6002546040516001600160a01b039091169063907dff9790612ac49084906020016149f8565b6040516020818303038152906040526001604051612ae1906148d2565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252612b2893929160009081908190600401614a42565b600060405180830381600087803b158015612b4257600080fd5b505af115801561195e573d6000803e3d6000fd5b6002546001600160a01b03163314801590612b7c57506003546001600160a01b03163314155b8015612b9357506004546001600160a01b03163314155b156127ed57600480546001600160a01b03191633179055565b6000612bb6612a18565b6001600160a01b03166360b3a0336040518163ffffffff1660e01b815260040160206040518083038186803b158015612bee57600080fd5b505afa158015612c02573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108bb9190810190613aa7565b6000806000806000612c366128e1565b6001600160a01b0316632da4e97c88886040518363ffffffff1660e01b8152600401612c63929190614914565b60c06040518083038186803b158015612c7b57600080fd5b505afa158015612c8f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612cb39190810190613c36565b9550955050509350935060019450838311158015612cd15750808211155b15612ce057506107aa92505050565b6000612cf384600c63ffffffff6132e016565b90506000612d12612d05611f60613070565b849063ffffffff61315e16565b905085821180612d2157508084115b15612d2b57600096505b50505050505092915050565b60006108bb7f44656c6567617465417070726f76616c7300000000000000000000000000000061323f565b600080600080600080612d76876001612c26565b905080612d955760405162461bcd60e51b815260040161068390614c0a565b612d9e876107b0565b909350915082151580612db15750600082115b612dcd5760405162461bcd60e51b815260040161068390614baa565b612deb87612ddb60016125e2565b5467ffffffffffffffff16613306565b8215612e0657612dfa836133b9565b9350612e068785613480565b8115612e2157612e158261361c565b9450612e2187866136f2565b612e2c87858761376c565b5060019695505050505050565b6002546040516001600160a01b039091169063907dff9790612e6390869086908690602001614cba565b6040516020818303038152906040526002604051612e809061489c565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526124da9392916001600160a01b038b16906000908190600401614aa1565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110612f2057fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612f5f578160200160208202803883390190505b50905060005b8351811015612fa157838181518110612f7a57fe5b6020026020010151828281518110612f8e57fe5b6020908102919091010152600101612f65565b5060005b8251811015612fe457828181518110612fba57fe5b6020026020010151828286510181518110612fd157fe5b6020908102919091010152600101612fa5565b5092915050565b6002546001600160a01b0316331480159061301157506003546001600160a01b03163314155b801561302857506004546001600160a01b03163314155b1561304057600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146127ed5760405162461bcd60e51b815260040161068390614b6a565b600061307a6132b5565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f7461726765745468726573686f6c6400000000000000000000000000000000006040518363ffffffff1660e01b8152600401612866929190614a14565b60006130f16132b5565b6001600160a01b03166323257c2b7f53797374656d53657474696e67730000000000000000000000000000000000007f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401612866929190614a14565b6000670de0b6b3a7640000613179848463ffffffff61383116565b8161318057fe5b049392505050565b6002546001600160a01b03163314806131ab57506003546001600160a01b031633145b6127ed5760405162461bcd60e51b815260040161068390614c7a565b600061065c82633b9aca0063ffffffff61383116565b600061279783836b033b2e3c9fd0803ce800000061386b565b60006305f5e10082046005600a82061061320e57600a015b600a900492915050565b60006108bb7f52657761726473446973747269627574696f6e000000000000000000000000005b60008181526007602090815260408083205490516001600160a01b03909116918215159161326f918691016148a7565b60405160208183030381529060405290612fe45760405162461bcd60e51b81526004016106839190614ae9565b600061279783836b033b2e3c9fd0803ce80000006138a8565b60006108bb7f466c657869626c6553746f72616765000000000000000000000000000000000061323f565b6000612797600a83900a6132fa858263ffffffff6138da16565b9063ffffffff61383116565b61330e6125b7565b6001600160a01b0316633562fd207f6c6173745f6665655f7769746864726177616c000000000000000000000000008460405160200161334f92919061486b565b60405160208183030381529060405280519060200120836040518363ffffffff1660e01b8152600401613383929190614a14565b600060405180830381600087803b15801561339d57600080fd5b505af11580156133b1573d6000803e3d6000fd5b505050505050565b60008160015b60028110156134795760006133d3826125e2565b60020154905060006133e8826124ad856125e2565b9050801561346e5760008482106133ff5784613401565b815b9050613413838263ffffffff61279e16565b61341c856125e2565b60020155613430858263ffffffff61260c16565b9450613442868263ffffffff61279e16565b955084613454575061065f9350505050565b831580156134625750600085115b1561346c57600094505b505b5050600019016133bf565b5050919050565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156134be5760405162461bcd60e51b815260040161068390614c5a565b60006134c86128e1565b6001600160a01b03166357ad46636008546040518263ffffffff1660e01b81526004016134f591906149f8565b60206040518083038186803b15801561350d57600080fd5b505afa158015613521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135459190810190613bca565b6040517f9dc29fac0000000000000000000000000000000000000000000000000000000081529091506001600160a01b03821690639dc29fac906135a39073feefeefeefeefeefeefeefeefeefeefeefeefeef90879060040161494a565b600060405180830381600087803b1580156135bd57600080fd5b505af11580156135d1573d6000803e3d6000fd5b50506040517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038416925063867904b491506124da908790879060040161494a565b60008160015b6002811015613479576000613656613639836125e2565b60040154613646846125e2565b600301549063ffffffff61260c16565b905080156136e857600083821061366d578361366f565b815b905061368e8161367e856125e2565b600401549063ffffffff61279e16565b613697846125e2565b600401556136ab848263ffffffff61260c16565b93506136bd858263ffffffff61279e16565b9450836136ce575061065f92505050565b821580156136dc5750600084115b156136e657600093505b505b5060001901613622565b816001600160a01b03811673feefeefeefeefeefeefeefeefeefeefeefeefeef14156137305760405162461bcd60e51b815260040161068390614c5a565b6301dfe20061373d61390f565b6001600160a01b0316631bb47b448585846040518463ffffffff1660e01b81526004016124da93929190614965565b6002546040516001600160a01b039091169063907dff979061379690869086908690602001614965565b60405160208183030381529060405260016040516137b390614891565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1682526137fa93929160009081908190600401614a42565b600060405180830381600087803b15801561381457600080fd5b505af1158015613828573d6000803e3d6000fd5b50505050505050565b600082613840575060006107aa565b8282028284828161384d57fe5b04146127975760405162461bcd60e51b815260040161068390614c1a565b600080600a8304613882868663ffffffff61383116565b8161388957fe5b0490506005600a825b061061389c57600a015b600a9004949350505050565b6000806138ce846138c287600a870263ffffffff61383116565b9063ffffffff6138da16565b90506005600a82613892565b60008082116138fb5760405162461bcd60e51b815260040161068390614b9a565b600082848161390657fe5b04949350505050565b60006108bb7f526577617264457363726f77563200000000000000000000000000000000000061323f565b60405180604001604052806002905b6139516139c2565b8152602001906001900390816139495790505090565b6040518060e00160405280600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600067ffffffffffffffff168152602001600081526020016000815260200160008152602001600081525090565b60405180604001604052806002906020820280388339509192915050565b80356107aa81614e0d565b80516107aa81614e0d565b60008083601f840112613a0857600080fd5b50813567ffffffffffffffff811115613a2057600080fd5b602083019150836020820283011115613a3857600080fd5b9250929050565b80516107aa81614e24565b80516107aa81614e2d565b80516107aa81614e36565b80356107aa81614e2d565b80356107aa81614e3f565b80516107aa81614e3f565b600060208284031215613a9357600080fd5b6000613a9f84846139e0565b949350505050565b600060208284031215613ab957600080fd5b6000613a9f84846139eb565b60008060408385031215613ad857600080fd5b6000613ae485856139e0565b9250506020613af585828601613a60565b9150509250929050565b600080600060608486031215613b1457600080fd5b6000613b2086866139e0565b9350506020613b3186828701613a60565b9250506040613b4286828701613a60565b9150509250925092565b60008060208385031215613b5f57600080fd5b823567ffffffffffffffff811115613b7657600080fd5b613b82858286016139f6565b92509250509250929050565b600060208284031215613ba057600080fd5b6000613a9f8484613a3f565b600060208284031215613bbe57600080fd5b6000613a9f8484613a4a565b600060208284031215613bdc57600080fd5b6000613a9f8484613a55565b600060208284031215613bfa57600080fd5b6000613a9f8484613a60565b60008060408385031215613c1957600080fd5b6000613c258585613a4a565b9250506020613af585828601613a4a565b60008060008060008060c08789031215613c4f57600080fd5b6000613c5b8989613a4a565b9650506020613c6c89828a01613a4a565b9550506040613c7d89828a01613a4a565b9450506060613c8e89828a01613a4a565b9350506080613c9f89828a01613a4a565b92505060a0613cb089828a01613a4a565b9150509295509295509295565b600060208284031215613ccf57600080fd5b6000613a9f8484613a6b565b600080600080600080600060e0888a031215613cf657600080fd5b6000613d028a8a613a76565b9750506020613d138a828b01613a76565b9650506040613d248a828b01613a76565b9550506060613d358a828b01613a4a565b9450506080613d468a828b01613a4a565b93505060a0613d578a828b01613a4a565b92505060c0613d688a828b01613a4a565b91505092959891949750929550565b6000613d838383613e6d565b505060400190565b6000613d978383613ec2565b505060200190565b613da881614d91565b82525050565b613da881614d57565b613da8613dc382614d57565b614dec565b613dd181614d44565b613ddb818461065f565b9250613de6826108be565b8060005b838110156133b1578151613dfe8782613d77565b9650613e0983614d3e565b925050600101613dea565b6000613e1f82614d4a565b613e298185614d4e565b9350613e3483614d3e565b8060005b83811015613e62578151613e4c8882613d8b565b9750613e5783614d3e565b925050600101613e38565b509495945050505050565b613e7681614d44565b613e80818461065f565b9250613e8b826108be565b8060005b838110156133b1578151613ea38782613d8b565b9650613eae83614d3e565b925050600101613e8f565b613da881614d62565b613da8816108be565b613da8613ed7826108be565b6108be565b6000613ee782614d4a565b613ef18185614d4e565b9350613f01818560208601614dc0565b613f0a81614dfd565b9093019392505050565b613da881614d67565b613da881614d9c565b613da881614daa565b6000613f3c602483614d4e565b7f43616e6e6f74206265206d6f7265207468616e207468652063757272656e742081527f74696d6500000000000000000000000000000000000000000000000000000000602082015260400192915050565b6000613f9b602083614d4e565b7f49737375657220616e64205065726946696e616e63655374617465206f6e6c79815260200192915050565b6000613fd4601783614d4e565b7f4f6e6c7920496e7465726e616c20436f6e747261637473000000000000000000815260200192915050565b600061400d603583614d4e565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b600061406c602983614d4e565b7f646973747269627574696e672066656520726577617264206e6f74207965742081527f617661696c61626c650000000000000000000000000000000000000000000000602082015260400192915050565b60006140cb601d83614d4e565b7f546f6f206561726c7920746f20636c6f73652066656520706572696f64000000815260200192915050565b6000614104603783614d4e565b7f66656520726577617264732073686f756c64206265206469737472696275746581527f64206265666f726520636c6f73696e6720706572696f64000000000000000000602082015260400192915050565b6000614163601383614d4e565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b600061419c60248361065f565b7f46656573436c61696d656428616464726573732c75696e743235362c75696e7481527f3235362900000000000000000000000000000000000000000000000000000000602082015260240192915050565b60006141fb60378361065f565b7f49737375616e636544656274526174696f456e74727928616464726573732c7581527f696e743235362c75696e743235362c75696e7432353629000000000000000000602082015260370192915050565b600061425a601b83614d4e565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614293601e83614d4e565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006142cc601a83614d4e565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000614305604083614d4e565b7f4e6f2066656573206f72207265776172647320617661696c61626c6520666f7281527f20706572696f642c206f72206665657320616c726561647920636c61696d6564602082015260400192915050565b600061436460118361065f565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b600061439d601883614d4e565b7f536166654d6174683a206d6f64756c6f206279207a65726f0000000000000000815260200192915050565b60006143d6601f83614d4e565b7f4e6f7420617070726f76656420746f20636c61696d206f6e20626568616c6600815260200192915050565b600061440f601e83614d4e565b7f43616c6c6572206973206e6f742072657761726473417574686f726974790000815260200192915050565b6000614448602483614d4e565b7f50726576696f757320466565506f6f6c2061646472657373206d75737420626581527f2073657400000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006144a7602f83614d4e565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000614506601f83614d4e565b7f432d526174696f2062656c6f772070656e616c7479207468726573686f6c6400815260200192915050565b600061453f602183614d4e565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b600061459e601d83614d4e565b7f4578636565647320746865204645455f504552494f445f4c454e475448000000815260200192915050565b60006145d7602983614d4e565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b600061463660198361065f565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061466f601183614d4e565b7f64656274206d616e61676572206f6e6c79000000000000000000000000000000815260200192915050565b60006146a8601783614d4e565b7f4665652061646472657373206e6f7420616c6c6f776564000000000000000000815260200192915050565b60006146e1603a83614d4e565b7f446973747269627574696e6720666565207265776172647320697320706f737381527f69626c65206f6e6c79206f6e636520696e206120706572696f64000000000000602082015260400192915050565b600061474060188361065f565b7f466565506572696f64436c6f7365642875696e74323536290000000000000000815260180192915050565b6000614779601783614d4e565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b60006147b2602083614d4e565b7f43757272656e7420706572696f64206973206e6f7420636c6f73656420796574815260200192915050565b60006147eb601b83614d4e565b7f46656520506572696f64204475726174696f6e206e6f74207365740000000000815260200192915050565b6000614824602083614d4e565b7f546f6c6572616e63652076616c75652063616e6e6f7420657863656564732031815260200192915050565b613da881614db5565b613da881614d7e565b613da881614d8b565b60006148778285613ecb565b6020820191506148878284613db7565b5060140192915050565b60006107aa8261418f565b60006107aa826141ee565b60006148b282614357565b91506148be8284613ecb565b50602001919050565b60006148b282614629565b60006107aa82614733565b602081016107aa8284613dae565b602081016107aa8284613d9f565b604081016149078285613dae565b6127976020830184613dae565b604081016149228285613dae565b6127976020830184613eb9565b6040810161493d8285613dae565b6127976020830184613f26565b604081016149588285613dae565b6127976020830184613ec2565b606081016149738286613dae565b6149806020830185613ec2565b613a9f6040830184613ec2565b6080810161499b8287613dae565b6149a86020830186613ec2565b6149b56040830185613ec2565b6149c26060830184614850565b95945050505050565b608081016107aa8284613dc8565b602080825281016127978184613e14565b602081016107aa8284613eb9565b602081016107aa8284613ec2565b604081016149078285613ec2565b604081016149588285613ec2565b60408101614a308285613ec2565b8181036020830152613a9f8184613edc565b60c08082528101614a538189613edc565b9050614a626020830188613f26565b614a6f6040830187613ec2565b614a7c6060830186613f1d565b614a896080830185613f1d565b614a9660a0830184613f1d565b979650505050505050565b60c08082528101614ab28189613edc565b9050614ac16020830188613f26565b614ace6040830187613ec2565b614a7c6060830186613ec2565b602081016107aa8284613f14565b602080825281016127978184613edc565b6020808252810161065c81613f2f565b6020808252810161065c81613f8e565b6020808252810161065c81613fc7565b6020808252810161065c81614000565b6020808252810161065c8161405f565b6020808252810161065c816140be565b6020808252810161065c816140f7565b6020808252810161065c81614156565b6020808252810161065c8161424d565b6020808252810161065c81614286565b6020808252810161065c816142bf565b6020808252810161065c816142f8565b6020808252810161065c81614390565b6020808252810161065c816143c9565b6020808252810161065c81614402565b6020808252810161065c8161443b565b6020808252810161065c8161449a565b6020808252810161065c816144f9565b6020808252810161065c81614532565b6020808252810161065c81614591565b6020808252810161065c816145ca565b6020808252810161065c81614662565b6020808252810161065c8161469b565b6020808252810161065c816146d4565b6020808252810161065c8161476c565b6020808252810161065c816147a5565b6020808252810161065c816147de565b6020808252810161065c81614817565b606081016149738286613ec2565b60e08101614cd6828a614859565b614ce36020830189614859565b614cf06040830188614859565b614cfd6060830187613ec2565b614d0a6080830186613ec2565b614d1760a0830185613ec2565b614d2460c0830184613ec2565b98975050505050505050565b602081016107aa8284614862565b60200190565b50600290565b5190565b90815260200190565b600061065c82614d72565b151590565b600061065c82614d57565b6001600160a01b031690565b67ffffffffffffffff1690565b60ff1690565b600061065c82614d67565b600061065c613ed7836108be565b600061065c826108be565b600061065c82614d7e565b60005b83811015614ddb578181015183820152602001614dc3565b8381111561250d5750506000910152565b600061065c82600061065c82614e07565b601f01601f191690565b60601b90565b614e1681614d57565b8114614e2157600080fd5b50565b614e1681614d62565b614e16816108be565b614e1681614d67565b614e1681614d7e56fea365627a7a72315820ea934126a8d2431d9c8fc6f3bbb560f7813d283452d3acad2278fe12160a493f6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "feeRewards",
							"type": "uint256[]"
						}
					],
					"name": "distributeFeeRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe10dab06"
				},
				{
					"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": "everDistributedFeeRewards",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6683051b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feePeriodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x22425fa4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "feeRewardsToBeAllocated",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x62115496"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "feesAvailable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalFees",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalRewards",
							"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": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "isFeesClaimable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "feesClaimable",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59a2f19f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "issuanceRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb410a034"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "quotaTolerance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x446530d1"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "recentFeePeriods",
					"outputs": [
						{
							"internalType": "uint64",
							"name": "feePeriodId",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startingDebtIndex",
							"type": "uint64"
						},
						{
							"internalType": "uint64",
							"name": "startTime",
							"type": "uint64"
						},
						{
							"internalType": "uint256",
							"name": "feesToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "feesClaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsToDistribute",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rewardsClaimed",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fcd2240"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "recordFeePaid",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x22bf55ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "prevFeePool",
							"type": "address"
						}
					],
					"name": "setInitialFeePeriods",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa4d1489f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_val",
							"type": "uint256"
						}
					],
					"name": "setQuotaTolerance",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8844578a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint64",
							"name": "_startTime",
							"type": "uint64"
						}
					],
					"name": "setRecentPeriodStartTime",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4531a2e3"
				},
				{
					"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": "totalRewards",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6de813f1"
				}
			],
			"source": {
				"keccak256": "0x4a7de577d7fa887b3134d2d6972f599294d3d949d02246306d0a61fcc52c7baf",
				"urls": [
					"bzz-raw://ae5f1a27dfd469b4cd277878a89e47a95c869755c14ad458969bc13fd6e652c8",
					"dweb:/ipfs/QmbjoD59xQC84uiwNteVzJLZsChQtM9SNr2Vzuij4L82oF"
				]
			},
			"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": "0x4a7de577d7fa887b3134d2d6972f599294d3d949d02246306d0a61fcc52c7baf",
						"urls": [
							"bzz-raw://ae5f1a27dfd469b4cd277878a89e47a95c869755c14ad458969bc13fd6e652c8",
							"dweb:/ipfs/QmbjoD59xQC84uiwNteVzJLZsChQtM9SNr2Vzuij4L82oF"
						]
					}
				},
				"version": 1
			}
		},
		"FeePoolState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610c75380380610c758339818101604052604081101561003357600080fd5b50805160209091015162375f00826001600160a01b03811661009c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1504201600255600380546001600160a01b0319166001600160a01b039290921691909117905550610b4b8061012a6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c80637de655451161008c578063ae2e933b11610066578063ae2e933b146102b5578063b326f84e146102bd578063cff2ddad146102e9578063d29c000a14610307576100cf565b80637de65545146102305780638da5cb5b1461027557806394e1a4481461027d576100cf565b80631627540c146100d457806319db2228146100fc57806339a3f63f1461012257806346ba2d90146101ea57806353a47bb71461020457806379ba509714610228575b600080fd5b6100fa600480360360208110156100ea57600080fd5b50356001600160a01b0316610333565b005b6100fa6004803603602081101561011257600080fd5b50356001600160a01b031661038f565b6100fa6004803603608081101561013857600080fd5b81019060208101813564010000000081111561015357600080fd5b82018360208201111561016557600080fd5b8035906020019184602083028401116401000000008311171561018757600080fd5b9193909290916020810190356401000000008111156101a557600080fd5b8201836020820111156101b757600080fd5b803590602001918460208302840111640100000000831117156101d957600080fd5b9193509150803590602001356103b9565b6101f2610593565b60408051918252519081900360200190f35b61020c610599565b604080516001600160a01b039092168252519081900360200190f35b6100fa6105a8565b61025c6004803603604081101561024657600080fd5b506001600160a01b038135169060200135610664565b6040805192835260208301919091528051918290030190f35b61020c610691565b6100fa6004803603608081101561029357600080fd5b506001600160a01b0381351690602081013590604081013590606001356106a0565b61020c610739565b61025c600480360360408110156102d357600080fd5b506001600160a01b038135169060200135610748565b6102f16107e9565b6040805160ff9092168252519081900360200190f35b61025c6004803603604081101561031d57600080fd5b506001600160a01b0381351690602001356107ee565b61033b6108d1565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6103976108d1565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6103c16108d1565b60025442106104015760405162461bcd60e51b8152600401808060200182810382526029815260200180610aee6029913960400191505060405180910390fd5b848314610447576040805162461bcd60e51b815260206004820152600f60248201526e098cadccee8d040dad2e6dac2e8c6d608b1b604482015290519081900360640190fd5b60005b8581101561058a5784848281811061045e57fe5b905060200201356004600089898581811061047557fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b0316815260200190815260200160002084600681106104b057fe5b600202015581600460008989858181106104c657fe5b905060200201356001600160a01b03166001600160a01b03166001600160a01b03168152602001908152602001600020846006811061050157fe5b600202016001018190555086868281811061051857fe5b905060200201356001600160a01b03166001600160a01b03167f3846bc3c5dca9c6ef89995aa7b28d43a5a99aa2e3ea230494da474b8d4b29aea86868481811061055e57fe5b9050602002013584604051808381526020018281526020019250505060405180910390a260010161044a565b50505050505050565b60025481565b6001546001600160a01b031681565b6001546001600160a01b031633146105f15760405162461bcd60e51b8152600401808060200182810382526035815260200180610a366035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6004602052816000526040600020816006811061067d57fe5b600202018054600190910154909250905082565b6000546001600160a01b031681565b6003546001600160a01b031633146106e95760405162461bcd60e51b8152600401808060200182810382526031815260200180610a8e6031913960400191505060405180910390fd5b6001600160a01b038416600090815260046020526040902060010154811115610715576107158461091c565b506001600160a01b0392909216600090815260046020526040902090815560010155565b6003546001600160a01b031681565b6000806006831061078a5760405162461bcd60e51b8152600401808060200182810382526023815260200180610a6b6023913960400191505060405180910390fd5b6001600160a01b038416600090815260046020526040902083600681106107ad57fe5b60020201546001600160a01b038516600090815260046020526040902090925083600681106107d857fe5b600202016001015490509250929050565b600681565b6000806107f96109ee565b6001600160a01b038516600090815260046020526040808220815160c081019092529091600690835b8282101561085e578382600202016040518060400160405290816000820154815260200160018201548152505081526020019060010190610822565b509293506000925050505b60068110156108c75781816006811061087e57fe5b60200201516020015185106108bf5781816006811061089957fe5b6020020151518282600681106108ab57fe5b6020020151602001519350935050506108ca565b600101610869565b50505b9250929050565b6000546001600160a01b0316331461091a5760405162461bcd60e51b815260040180806020018281038252602f815260200180610abf602f913960400191505060405180910390fd5b565b60045b60068110156109ea576001600160a01b03821660009081526004602052604090206001820190826006811061095057fe5b60020201546001600160a01b0384166000908152600460205260409020826006811061097857fe5b60020201556001600160a01b038316600090815260046020526040902082600681106109a057fe5b600202016001015460046000856001600160a01b03166001600160a01b0316815260200190815260200160002082600681106109d857fe5b6002020160010155506000190161091f565b5050565b6040518060c001604052806006905b610a05610a1b565b8152602001906001900390816109fd5790505090565b60405180604001604052806000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970696e646578206578636565647320746865204645455f504552494f445f4c454e4754484f6e6c792074686520466565506f6f6c20636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e43616e206f6e6c7920706572666f726d207468697320616374696f6e20647572696e67207365747570a265627a7a723158206d650c2137949e19ec71d3d318b438ab09c63e87ce0e7a51c065b7dd64a724e464736f6c63430005100032",
			"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": "0xd6f5b627890630acfd8b68fe53ee59efeda2c6462fa3411ff0c1f6bccb9af3c0",
				"urls": [
					"bzz-raw://57e58b90835c5f9ca51a9b3a29d7ff02c748b21df3e27acad9613f211b52c45f",
					"dweb:/ipfs/QmWsLUPbCdKugBs1Ev999KQwU9Fg1RwfkX2o7s2gHXu5kn"
				]
			},
			"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": "0xd6f5b627890630acfd8b68fe53ee59efeda2c6462fa3411ff0c1f6bccb9af3c0",
						"urls": [
							"bzz-raw://57e58b90835c5f9ca51a9b3a29d7ff02c748b21df3e27acad9613f211b52c45f",
							"dweb:/ipfs/QmWsLUPbCdKugBs1Ev999KQwU9Fg1RwfkX2o7s2gHXu5kn"
						]
					}
				},
				"version": 1
			}
		},
		"RewardsDistribution": {
			"bytecode": "608060405234801561001057600080fd5b5060405161129b38038061129b833981810160405260a081101561003357600080fd5b50805160208201516040830151606084015160809094015192939192909190846001600160a01b0381166100ae576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039586166001600160a01b031991821617909155600380549486169482169490941790935560048054928516928416929092179091556005805491909316911617905550611136806101656000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063817a6951116100a2578063c1b7ca1111610071578063c1b7ca11146102a7578063c9e9cc4d146102cd578063d12a701d146102d5578063d8297e44146102dd578063e54c16711461030357610116565b8063817a6951146102725780638da5cb5b1461028f578063a430be6c14610297578063bf7e214f1461029f57610116565b806359974e38116100e957806359974e38146101c15780635de39934146101f257806360eb3ff21461021857806379ba5097146102445780637a9e5e4b1461024c57610116565b8063060ca2501461011b5780631627540c146101355780634487d3df1461015d57806353a47bb71461019d575b600080fd5b610123610335565b60408051918252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b031661033c565b005b61017a6004803603602081101561017357600080fd5b5035610398565b604080516001600160a01b03909316835260208301919091528051918290030190f35b6101a56103cd565b604080516001600160a01b039092168252519081900360200190f35b6101de600480360360208110156101d757600080fd5b50356103dc565b604080519115158252519081900360200190f35b61015b6004803603602081101561020857600080fd5b50356001600160a01b0316610a2f565b6101de6004803603604081101561022e57600080fd5b506001600160a01b038135169060200135610a59565b61015b610bfc565b61015b6004803603602081101561026257600080fd5b50356001600160a01b0316610cb8565b61015b6004803603602081101561028857600080fd5b5035610ce2565b6101a5610dcd565b6101a5610ddc565b6101a5610deb565b61015b600480360360208110156102bd57600080fd5b50356001600160a01b0316610dfa565b6101a5610e24565b6101a5610e33565b61015b600480360360208110156102f357600080fd5b50356001600160a01b0316610e42565b6101de6004803603606081101561031957600080fd5b508035906001600160a01b036020820135169060400135610e6c565b6006545b90565b610344610f38565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600681815481106103a557fe5b6000918252602090912060029091020180546001909101546001600160a01b03909116915082565b6001546001600160a01b031681565b600080821161042a576040805162461bcd60e51b81526020600482015260156024820152744e6f7468696e6720746f206469737472696275746560581b604482015290519081900360640190fd5b6002546001600160a01b03163314610489576040805162461bcd60e51b815260206004820152601860248201527f43616c6c6572206973206e6f7420617574686f72697365640000000000000000604482015290519081900360640190fd5b6004546001600160a01b03166104e6576040805162461bcd60e51b815260206004820152601760248201527f526577617264457363726f77206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b6003546001600160a01b0316610543576040805162461bcd60e51b815260206004820152601b60248201527f5065726946696e616e636550726f7879206973206e6f74207365740000000000604482015290519081900360640190fd5b6005546001600160a01b03166105a0576040805162461bcd60e51b815260206004820152601760248201527f466565506f6f6c50726f7879206973206e6f7420736574000000000000000000604482015290519081900360640190fd5b600354604080516370a0823160e01b8152306004820152905184926001600160a01b0316916370a08231916024808301926020929190829003018186803b1580156105ea57600080fd5b505afa1580156105fe573d6000803e3d6000fd5b505050506040513d602081101561061457600080fd5b505110156106535760405162461bcd60e51b815260040180806020018281038252604681526020018061108d6046913960600191505060405180910390fd5b8160005b6006548110156109065760006001600160a01b03166006828154811061067957fe5b60009182526020909120600290910201546001600160a01b03161415806106bf5750600681815481106106a857fe5b906000526020600020906002020160010154600014155b156108fe576106f5600682815481106106d457fe5b90600052602060002090600202016001015483610f8390919063ffffffff16565b600354600680549294506001600160a01b039091169163a9059cbb91908490811061071c57fe5b6000918252602090912060029091020154600680546001600160a01b03909216918590811061074757fe5b9060005260206000209060020201600101546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107a857600080fd5b505af11580156107bc573d6000803e3d6000fd5b505050506040513d60208110156107d257600080fd5b50506006805460609190839081106107e657fe5b60009182526020808320600160029093020191909101546040805160248082019390935281518082039093018352604401905290810180516001600160e01b0316633c6b16ab60e01b17905260068054919350908490811061084457fe5b60009182526020918290206002909102015460405184516001600160a01b0390921692859282918401908083835b602083106108915780518252601f199092019160209182019101610872565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146108f3576040519150601f19603f3d011682016040523d82523d6000602084013e6108f8565b606091505b50505050505b600101610657565b50600354600480546040805163a9059cbb60e01b81526001600160a01b0392831693810193909352602483018590525192169163a9059cbb916044808201926020929091908290030181600087803b15801561096157600080fd5b505af1158015610975573d6000803e3d6000fd5b505050506040513d602081101561098b57600080fd5b50506005546040805163fd1f498d60e01b81526004810184905290516001600160a01b039092169163fd1f498d9160248082019260009290919082900301818387803b1580156109da57600080fd5b505af11580156109ee573d6000803e3d6000fd5b50506040805186815290517f6d1c76d614228b523baa4dcd9539e2c713b54ff4ab3ff2d1627e7f6cd32be4429350908190036020019150a150600192915050565b610a37610f38565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6000610a63610f38565b6001600160a01b038316610abe576040805162461bcd60e51b815260206004820152601760248201527f43616e74206164642061207a65726f2061646472657373000000000000000000604482015290519081900360640190fd5b81610b09576040805162461bcd60e51b815260206004820152601660248201527510d85b9d081859190818481e995c9bc8185b5bdd5b9d60521b604482015290519081900360640190fd5b610b11610fe0565b506040805180820182526001600160a01b03858116808352602080840187815260068054600181018255600082905286517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f600290920291820180546001600160a01b031916919097161790955590517ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d40909401939093559154845160001991909101815291820152808301859052915190917f08fff3cb767a84a8039ea0f84053799c5cdca0e8efb031eeb6b05b9c174aa208916060918190039190910190a15060019392505050565b6001546001600160a01b03163314610c455760405162461bcd60e51b81526004018080602001828103825260358152602001806110586035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610cc0610f38565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b610cea610f38565b60065460001901811115610d3b576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b805b60065460001901811015610db55760068160010181548110610d5b57fe5b906000526020600020906002020160068281548110610d7657fe5b60009182526020909120825460029092020180546001600160a01b0319166001600160a01b039092169190911781556001918201549082015501610d3d565b506006805490610dc9906000198301610ff7565b5050565b6000546001600160a01b031681565b6004546001600160a01b031681565b6002546001600160a01b031681565b610e02610f38565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b031681565b6003546001600160a01b031681565b610e4a610f38565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e76610f38565b60065460001901841115610ec7576040805162461bcd60e51b8152602060048201526013602482015272696e646578206f7574206f6620626f756e647360681b604482015290519081900360640190fd5b8260068581548110610ed557fe5b906000526020600020906002020160000160006101000a8154816001600160a01b0302191690836001600160a01b031602179055508160068581548110610f1857fe5b906000526020600020906002020160010181905550600190509392505050565b6000546001600160a01b03163314610f815760405162461bcd60e51b815260040180806020018281038252602f8152602001806110d3602f913960400191505060405180910390fd5b565b600082821115610fda576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b604080518082019091526000808252602082015290565b815481835581811115611023576002028160020283600052602060002091820191016110239190611028565b505050565b61033991905b808211156110535780546001600160a01b03191681556000600182015560020161102e565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697052657761726473446973747269627574696f6e20636f6e747261637420646f6573206e6f74206861766520656e6f75676820746f6b656e7320746f20646973747269627574654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820fbe592a821af7cccb674ced11b63ae09b3206270afa587801a989c0f70fdfb5b64736f6c63430005100032",
			"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": "0x4605c47a5f34535a0487088a68f4a9a4bca73049448c3377e0afa9e116411d54",
				"urls": [
					"bzz-raw://6d4ad2c452cc71cf5c7f5aa5fbd58c8fa5c77c17254b7d69926fd843af6fb953",
					"dweb:/ipfs/Qma7aLLac7ZTiR2UynciXYj1Kgdt26TqPb2UTy1eVhUnxG"
				]
			},
			"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": "0x4605c47a5f34535a0487088a68f4a9a4bca73049448c3377e0afa9e116411d54",
						"urls": [
							"bzz-raw://6d4ad2c452cc71cf5c7f5aa5fbd58c8fa5c77c17254b7d69926fd843af6fb953",
							"dweb:/ipfs/Qma7aLLac7ZTiR2UynciXYj1Kgdt26TqPb2UTy1eVhUnxG"
						]
					}
				},
				"version": 1
			}
		},
		"ProxyERC20": {
			"bytecode": "608060405234801561001057600080fd5b506040516110903803806110908339818101604052602081101561003357600080fd5b505180806001600160a01b038116610092576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1505050610f94806100fc6000396000f3fe6080604052600436106100f35760003560e01c8063776d1a011161008a57806395d89b411161005957806395d89b4114610473578063a9059cbb14610488578063d4b83992146104c1578063dd62ed3e146104d6576100f3565b8063776d1a011461038157806379ba5097146103b45780638da5cb5b146103c9578063907dff97146103de576100f3565b806323b872dd116100c657806323b872dd146102af578063313ce567146102f257806353a47bb71461031d57806370a082311461034e576100f3565b806306fdde031461017c578063095ea7b3146102065780631627540c1461025357806318160ddd14610288575b60025460408051635e33fc1960e11b815233600482015290516001600160a01b039092169163bc67f8329160248082019260009290919082900301818387803b15801561013f57600080fd5b505af1158015610153573d6000803e3d6000fd5b5050505060405136600082376000803683346002545af13d6000833e80610178573d82fd5b3d82f35b34801561018857600080fd5b50610191610511565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101cb5781810151838201526020016101b3565b50505050905090810190601f1680156101f85780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561021257600080fd5b5061023f6004803603604081101561022957600080fd5b506001600160a01b038135169060200135610661565b604080519115158252519081900360200190f35b34801561025f57600080fd5b506102866004803603602081101561027657600080fd5b50356001600160a01b0316610768565b005b34801561029457600080fd5b5061029d6107d1565b60408051918252519081900360200190f35b3480156102bb57600080fd5b5061023f600480360360608110156102d257600080fd5b506001600160a01b03813581169160208101359091169060400135610860565b3480156102fe57600080fd5b50610307610970565b6040805160ff9092168252519081900360200190f35b34801561032957600080fd5b506103326109ce565b604080516001600160a01b039092168252519081900360200190f35b34801561035a57600080fd5b5061029d6004803603602081101561037157600080fd5b50356001600160a01b03166109dd565b34801561038d57600080fd5b50610286600480360360208110156103a457600080fd5b50356001600160a01b0316610a79565b3480156103c057600080fd5b50610286610ae2565b3480156103d557600080fd5b50610332610bab565b3480156103ea57600080fd5b50610286600480360360c081101561040157600080fd5b81019060208101813564010000000081111561041c57600080fd5b82018360208201111561042e57600080fd5b8035906020019184600183028401116401000000008311171561045057600080fd5b919350915080359060208101359060408101359060608101359060800135610bba565b34801561047f57600080fd5b50610191610ccc565b34801561049457600080fd5b5061023f600480360360408110156104ab57600080fd5b506001600160a01b038135169060200135610d2a565b3480156104cd57600080fd5b50610332610dfc565b3480156104e257600080fd5b5061029d600480360360408110156104f957600080fd5b506001600160a01b0381358116916020013516610e0b565b600254604080517f06fdde0300000000000000000000000000000000000000000000000000000000815290516060926001600160a01b0316916306fdde03916004808301926000929190829003018186803b15801561056f57600080fd5b505afa158015610583573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156105ac57600080fd5b81019080805160405193929190846401000000008211156105cc57600080fd5b9083019060208201858111156105e157600080fd5b82516401000000008111828201881017156105fb57600080fd5b82525081516020918201929091019080838360005b83811015610628578181015183820152602001610610565b50505050905090810190601f1680156106555780820380516001836020036101000a031916815260200191505b50604052505050905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b1580156106ac57600080fd5b505af11580156106c0573d6000803e3d6000fd5b5050600254604080517f095ea7b30000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015260248201889052915191909216935063095ea7b3925060448083019260209291908290030181600087803b15801561073357600080fd5b505af1158015610747573d6000803e3d6000fd5b505050506040513d602081101561075d57600080fd5b506001949350505050565b610770610eb0565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600254604080517f18160ddd00000000000000000000000000000000000000000000000000000000815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b15801561082f57600080fd5b505afa158015610843573d6000803e3d6000fd5b505050506040513d602081101561085957600080fd5b5051905090565b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b1580156108ab57600080fd5b505af11580156108bf573d6000803e3d6000fd5b5050600254604080517f23b872dd0000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015288811660248301526044820188905291519190921693506323b872dd925060648083019260209291908290030181600087803b15801561093a57600080fd5b505af115801561094e573d6000803e3d6000fd5b505050506040513d602081101561096457600080fd5b50600195945050505050565b600254604080517f313ce56700000000000000000000000000000000000000000000000000000000815290516000926001600160a01b03169163313ce567916004808301926020929190829003018186803b15801561082f57600080fd5b6001546001600160a01b031681565b600254604080517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a4757600080fd5b505afa158015610a5b573d6000803e3d6000fd5b505050506040513d6020811015610a7157600080fd5b505192915050565b610a81610eb0565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f814250a3b8c79fcbe2ead2c131c952a278491c8f4322a79fe84b5040a810373e9181900360200190a150565b6001546001600160a01b03163314610b2b5760405162461bcd60e51b8152600401808060200182810382526035815260200180610efc6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b03163314610c19576040805162461bcd60e51b815260206004820152601460248201527f4d7573742062652070726f787920746172676574000000000000000000000000604482015290519081900360640190fd5b604080516020601f89018190048102820181019092528781528791606091908a908490819084018382808284376000920191909152509293508992505081159050610c835760018114610c8e5760028114610c9a5760038114610ca75760048114610cb557610cc0565b8260208301a0610cc0565b868360208401a1610cc0565b85878460208501a2610cc0565b8486888560208601a3610cc0565b838587898660208701a45b50505050505050505050565b600254604080517f95d89b4100000000000000000000000000000000000000000000000000000000815290516060926001600160a01b0316916395d89b41916004808301926000929190829003018186803b15801561056f57600080fd5b60025460408051635e33fc1960e11b815233600482015290516000926001600160a01b03169163bc67f832916024808301928692919082900301818387803b158015610d7557600080fd5b505af1158015610d89573d6000803e3d6000fd5b5050600254604080517fa9059cbb0000000000000000000000000000000000000000000000000000000081526001600160a01b03888116600483015260248201889052915191909216935063a9059cbb925060448083019260209291908290030181600087803b15801561073357600080fd5b6002546001600160a01b031681565b600254604080517fdd62ed3e0000000000000000000000000000000000000000000000000000000081526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b158015610e7d57600080fd5b505afa158015610e91573d6000803e3d6000fd5b505050506040513d6020811015610ea757600080fd5b50519392505050565b6000546001600160a01b03163314610ef95760405162461bcd60e51b815260040180806020018281038252602f815260200180610f31602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820e9e23276b1fafb6f9aab6dc323d672a73d133392fa23218282691d5cf1ccc11664736f6c63430005100032",
			"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": "0xc7f4e6f1557878a0b3d3b6f6f771dd269a57e29ae448b4a9d0fee9eafa692a29",
				"urls": [
					"bzz-raw://f779a92ce9f23b92cacbdca8a66458293b8d0dd1d16c2624fc5f8e9435e17995",
					"dweb:/ipfs/QmNpcUb14feuVdM9XbmoFJWAjRLKX7eTprH9WenBCnw22C"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ProxyERC20.sol": "ProxyERC20"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"ProxyERC20.sol": {
						"keccak256": "0xc7f4e6f1557878a0b3d3b6f6f771dd269a57e29ae448b4a9d0fee9eafa692a29",
						"urls": [
							"bzz-raw://f779a92ce9f23b92cacbdca8a66458293b8d0dd1d16c2624fc5f8e9435e17995",
							"dweb:/ipfs/QmNpcUb14feuVdM9XbmoFJWAjRLKX7eTprH9WenBCnw22C"
						]
					}
				},
				"version": 1
			}
		},
		"TokenState": {
			"bytecode": "608060405234801561001057600080fd5b506040516107a43803806107a48339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a15050506105fe806101a66000396000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c80638da5cb5b11610076578063b46310f61161005b578063b46310f614610185578063da46098c146101b1578063dd62ed3e146101e7576100be565b80638da5cb5b14610175578063aefc4ccb1461017d576100be565b806353a47bb7116100a757806353a47bb71461011157806370a082311461013557806379ba50971461016d576100be565b80631627540c146100c357806352f445ca146100eb575b600080fd5b6100e9600480360360208110156100d957600080fd5b50356001600160a01b0316610215565b005b6100e96004803603602081101561010157600080fd5b50356001600160a01b031661027e565b6101196102e7565b604080516001600160a01b039092168252519081900360200190f35b61015b6004803603602081101561014b57600080fd5b50356001600160a01b03166102f6565b60408051918252519081900360200190f35b6100e9610308565b6101196103d1565b6101196103e0565b6100e96004803603604081101561019b57600080fd5b506001600160a01b0381351690602001356103ef565b6100e9600480360360608110156101c757600080fd5b506001600160a01b03813581169160208101359091169060400135610454565b61015b600480360360408110156101fd57600080fd5b506001600160a01b03813581169160200135166104c9565b61021d6104e6565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6102866104e6565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60036020526000908152604090205481565b6001546001600160a01b031633146103515760405162461bcd60e51b81526004018080602001828103825260358152602001806105326035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6002546001600160a01b031633146104385760405162461bcd60e51b81526004018080602001828103825260348152602001806105966034913960400191505060405180910390fd5b6001600160a01b03909116600090815260036020526040902055565b6002546001600160a01b0316331461049d5760405162461bcd60e51b81526004018080602001828103825260348152602001806105966034913960400191505060405180910390fd5b6001600160a01b0392831660009081526004602090815260408083209490951682529290925291902055565b600460209081526000928352604080842090915290825290205481565b6000546001600160a01b0316331461052f5760405162461bcd60e51b815260040180806020018281038252602f815260200180610567602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a72315820169c4eecbaa71dcff2fc0081fcb58f2159774a8b52ee8e572ac5f81eea87424064736f6c63430005100032",
			"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": "0x3f14e6166fe51fd37f1007318b3bc58541fe01e78aecc945bad7dd32aba8f955",
				"urls": [
					"bzz-raw://a43dea33b593e303a42d5782ba5c8e46b098612f67c8a157c7dd0eb5f093414f",
					"dweb:/ipfs/QmdCuYkLEyAwrJX5NeMceaGyUa5ZT5rz4emAnEbKZvRnCy"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"TokenState.sol": "TokenState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"TokenState.sol": {
						"keccak256": "0x3f14e6166fe51fd37f1007318b3bc58541fe01e78aecc945bad7dd32aba8f955",
						"urls": [
							"bzz-raw://a43dea33b593e303a42d5782ba5c8e46b098612f67c8a157c7dd0eb5f093414f",
							"dweb:/ipfs/QmdCuYkLEyAwrJX5NeMceaGyUa5ZT5rz4emAnEbKZvRnCy"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceToPolygon": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200641a3803806200641a83398101604081905262000034916200035a565b8787878787878787878787878786818686604051806040016040528060128152602001712832b934902334b730b731b2902a37b5b2b760711b815250604051806040016040528060048152602001635045524960e01b8152508760128a868160006001600160a01b0316816001600160a01b03161415620000d25760405162461bcd60e51b8152600401620000c990620004e9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c916200011f918490620004b1565b60405180910390a1506000546001600160a01b0316620001535760405162461bcd60e51b8152600401620000c990620004d7565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e90620001a0908390620004a1565b60405180910390a150600580546001600160a01b0319166001600160a01b0388161790558451620001d990600690602088019062000288565b508351620001ef90600790602087019062000288565b50506008919091556009805460ff191660ff9092169190911790555050600b80546001600160a01b03199081166001600160a01b0395861617909155600d80548216958516959095179094555050600e805483169a82169a909a17909955601080548216978a16979097179096555050601180549094169d9095169c909c1790915550620005679e505050505050505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620002cb57805160ff1916838001178555620002fb565b82800160010185558215620002fb579182015b82811115620002fb578251825591602001919060010190620002de565b50620003099291506200030d565b5090565b6200032a91905b8082111562000309576000815560010162000314565b90565b80516200033a8162000537565b92915050565b80516200033a8162000551565b80516200033a816200055c565b600080600080600080600080610100898b0312156200037857600080fd5b6000620003868b8b6200032d565b9850506020620003998b828c0162000340565b9750506040620003ac8b828c016200032d565b9650506060620003bf8b828c016200034d565b9550506080620003d28b828c016200032d565b94505060a0620003e58b828c016200032d565b93505060c0620003f88b828c016200032d565b92505060e06200040b8b828c016200032d565b9150509295985092959890939650565b62000426816200052a565b82525050565b620004268162000504565b600062000446601183620004fb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000475601983620004fb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200033a82846200041b565b60408101620004c182856200041b565b620004d060208301846200042c565b9392505050565b602080825281016200033a8162000437565b602080825281016200033a8162000466565b90815260200190565b60006200033a826200051e565b60006200033a8262000504565b6001600160a01b031690565b60006200033a8262000511565b620005428162000504565b81146200054e57600080fd5b50565b620005428162000511565b62000542816200032a565b615ea380620005776000396000f3fe60806040526004361061053d5760003560e01c806391e56b68116102af578063cf2c52cb11610179578063e22760f7116100d6578063ec5568891161008a578063ee52a2f31161006f578063ee52a2f314610db6578063f084219e14610dd6578063f9eea80c14610deb5761053d565b8063ec55688914610da1578063edef719a146108855761053d565b8063e6203ed1116100bb578063e6203ed114610d57578063e90dd9e214610d77578063e9fad8ee14610d8c5761053d565b8063e22760f714610d22578063e3c3af9814610d375761053d565b8063d8a1f76f1161012d578063dd62ed3e11610112578063dd62ed3e14610cc2578063ddd03a3f14610ce2578063e12c4cea14610d025761053d565b8063d8a1f76f14610c8d578063d9dbf65714610cad5761053d565b8063d3a712021161015e578063d3a7120214610c38578063d67bdd2514610c58578063d6980ba114610c6d5761053d565b8063cf2c52cb14610bf8578063d37c4d8b14610c185761053d565b8063a311c7c211610227578063af5a5e4c116101db578063becf5ff8116101c0578063becf5ff814610b95578063c8291d8414610bc3578063c836fa0a14610bd85761053d565b8063af5a5e4c14610b6d578063bc67f83214610b755761053d565b8063a5fdc5de1161020c578063a5fdc5de14610b0d578063a9059cbb14610b2d578063ace88afd14610b4d5761053d565b8063a311c7c214610acd578063a56c62cf14610aed5761053d565b806397107d6d1161027e5780639a26669e116102635780639a26669e14610a855780639cbdaeb614610a985780639f76980714610aad5761053d565b806397107d6d14610a45578063987757dd14610a655761053d565b806391e56b68146109d057806392d5011f146109f0578063945d122914610a1057806395d89b4114610a305761053d565b8063313ce5671161040b57806370a0823111610368578063842efb011161031c578063899ffef411610301578063899ffef4146109845780638da5cb5b146109a65780638e2ac0ea146109bb5761053d565b8063842efb011461094457806385d18d36146109645761053d565b8063764a81bb1161034d578063764a81bb146108fa57806379ba50971461091a5780637a725c681461092f5761053d565b806370a08231146108c557806374185360146108e55761053d565b8063534f079c116103bf57806355182ccb116103a457806355182ccb14610865578063666ed4f1146108855780636f01a986146108a55761053d565b8063534f079c1461083057806353a47bb7146108505761053d565b80633b09280a116103f05780633b09280a146107d957806340c10f191461080857806350d0573c146108285761053d565b8063313ce567146107af578063321ea17c146107c45761053d565b80631b99084c116104b95780632af64bd31161046d5780632e0f2625116104525780632e0f26251461074d5780632e1a7d4d1461076f57806330ead7601461078f5761053d565b80632af64bd31461070b5780632bc93ad6146107205761053d565b80632190764c1161049e5780632190764c146106c357806323b872dd146106d65780632a905318146106f65761053d565b80631b99084c146106835780631fce304d146106a35761053d565b80630e30963c116105105780631627540c116104f55780631627540c1461062c57806318160ddd1461064c578063188214001461066e5761053d565b80630e30963c146105de578063131b0ae71461060c5761053d565b806304f3bcec1461054257806306fdde031461056d578063095ea7b31461058f5780630a057b76146105bc575b600080fd5b34801561054e57600080fd5b50610557610e00565b6040516105649190615b2b565b60405180910390f35b34801561057957600080fd5b50610582610e0f565b6040516105649190615b39565b34801561059b57600080fd5b506105af6105aa36600461479b565b610e9d565b60405161056491906159d5565b3480156105c857600080fd5b506105dc6105d7366004614ac2565b610f44565b005b3480156105ea57600080fd5b506105fe6105f9366004614b56565b610ff6565b604051610564929190615cea565b34801561061857600080fd5b506105dc6106273660046146a8565b61100a565b34801561063857600080fd5b506105dc6106473660046146a8565b611034565b34801561065857600080fd5b50610661611092565b60405161056491906159e3565b34801561067a57600080fd5b50610582611098565b34801561068f57600080fd5b506105dc61069e3660046148e5565b6110d1565b3480156106af57600080fd5b506105af6106be366004614a83565b611193565b6105dc6106d13660046146a8565b611241565b3480156106e257600080fd5b506105af6106f136600461471e565b6112b1565b34801561070257600080fd5b5061058261130f565b34801561071757600080fd5b506105af611348565b34801561072c57600080fd5b5061074061073b366004614a83565b611479565b604051610564919061578d565b34801561075957600080fd5b50610762611484565b6040516105649190615d21565b34801561077b57600080fd5b506105dc61078a366004614a83565b611489565b34801561079b57600080fd5b506106616107aa366004614ae1565b61159b565b3480156107bb57600080fd5b50610762611683565b3480156107d057600080fd5b5061074061168c565b3480156107e557600080fd5b506107f96107f43660046146a8565b61169b565b60405161056493929190615d13565b34801561081457600080fd5b506105af61082336600461479b565b611730565b6105dc61189b565b34801561083c57600080fd5b506105dc61084b366004614ac2565b611912565b34801561085c57600080fd5b5061074061198d565b34801561087157600080fd5b506106616108803660046146a8565b61199c565b34801561089157600080fd5b506105dc6108a036600461479b565b611a2a565b3480156108b157600080fd5b506105dc6108c03660046147cb565b611a36565b3480156108d157600080fd5b506106616108e03660046146a8565b611ab8565b3480156108f157600080fd5b506105dc611b39565b34801561090657600080fd5b506105dc6109153660046146a8565b611c8b565b34801561092657600080fd5b506105dc611cdb565b34801561093b57600080fd5b506105af611d77565b34801561095057600080fd5b506105dc61095f3660046146a8565b612166565b34801561097057600080fd5b506105dc61097f366004614a83565b612190565b34801561099057600080fd5b5061099961223f565b60405161056491906159c4565b3480156109b257600080fd5b50610740612358565b3480156109c757600080fd5b506105dc612367565b3480156109dc57600080fd5b506106616109eb36600461485e565b6123de565b3480156109fc57600080fd5b506105dc610a0b36600461476b565b6124c8565b348015610a1c57600080fd5b506105dc610a2b3660046146a8565b6124fb565b348015610a3c57600080fd5b50610582612525565b348015610a5157600080fd5b506105dc610a603660046146a8565b612580565b348015610a7157600080fd5b506107f9610a80366004614a83565b6125d3565b6105dc610a93366004614c14565b6126a9565b348015610aa457600080fd5b506105576129a2565b348015610ab957600080fd5b506105dc610ac8366004614b78565b6129b1565b348015610ad957600080fd5b50610661610ae83660046146a8565b6129dd565b348015610af957600080fd5b506105dc610b083660046146a8565b612a12565b348015610b1957600080fd5b50610661610b283660046146a8565b612a62565b348015610b3957600080fd5b506105af610b4836600461479b565b612a97565b348015610b5957600080fd5b506105dc610b683660046147cb565b612af9565b6105dc612b46565b348015610b8157600080fd5b506105dc610b903660046146a8565b612d1b565b348015610ba157600080fd5b50610bb5610bb03660046146a8565b612d45565b604051610564929190615a1a565b348015610bcf57600080fd5b50610740612dd4565b348015610be457600080fd5b50610661610bf33660046147fd565b612de3565b348015610c0457600080fd5b506105dc610c1336600461495f565b612e71565b348015610c2457600080fd5b50610661610c3336600461479b565b612f59565b348015610c4457600080fd5b50610661610c53366004614a83565b612fe7565b348015610c6457600080fd5b5061074061306e565b348015610c7957600080fd5b50610661610c88366004614a83565b61307d565b348015610c9957600080fd5b506105dc610ca8366004614a83565b6130b5565b348015610cb957600080fd5b506105576130bd565b348015610cce57600080fd5b50610661610cdd3660046146e4565b6130cc565b348015610cee57600080fd5b506105dc610cfd366004614aa1565b6130ff565b348015610d0e57600080fd5b506105dc610d1d3660046146a8565b613193565b348015610d2e57600080fd5b506107406131bd565b348015610d4357600080fd5b50610661610d523660046146a8565b6131cc565b348015610d6357600080fd5b506105af610d7236600461479b565b61327e565b348015610d8357600080fd5b50610557613387565b348015610d9857600080fd5b506105dc613396565b348015610dad57600080fd5b5061055761340d565b348015610dc257600080fd5b50610661610dd1366004614aa1565b61341c565b348015610de257600080fd5b506107406134fe565b348015610df757600080fd5b5061066161350d565b600b546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610e955780601f10610e6a57610100808354040283529160200191610e95565b820191906000526020600020905b815481529060010190602001808311610e7857829003601f168201915b505050505081565b6000610ea7613531565b600480546005546040517fda46098c0000000000000000000000000000000000000000000000000000000081526001600160a01b0392831693919092169163da46098c91610efb9185918991899101615889565b600060405180830381600087803b158015610f1557600080fd5b505af1158015610f29573d6000803e3d6000fd5b50505050610f38818585613588565b60019150505b92915050565b610f4c613608565b610f54613531565b6004546001600160a01b0316610f698161365c565b610f7161373a565b600480546040517f6ac471c40000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693636ac471c493610fbf939091169188918891016158bf565b600060405180830381600087803b158015610fd957600080fd5b505af1158015610fed573d6000803e3d6000fd5b50505050505050565b600080611001613753565b94509492505050565b61101261376b565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b61103c61376b565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061108790839061578d565b60405180910390a150565b60085481565b6040518060400160405280601281526020017f506572692046696e616e636520546f6b656e000000000000000000000000000081525081565b6110d9613795565b6002546040516001600160a01b039091169063907dff97906111079088908890889088908890602001615a48565b604051602081830303815290604052600260405161112490615715565b60405180910390206111358b6137cd565b6000806040518763ffffffff1660e01b815260040161115996959493929190615aaa565b600060405180830381600087803b15801561117357600080fd5b505af1158015611187573d6000803e3d6000fd5b50505050505050505050565b60008061119e6137d9565b600480546040517f059c29ec0000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363059c29ec936111ea93909116918891016158b1565b60206040518083038186803b15801561120257600080fd5b505afa158015611216573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061123a9190810190614b96565b1192915050565b61124961376b565b61125161373a565b6001600160a01b03166394955cec826040518263ffffffff1660e01b815260040161127c919061578d565b600060405180830381600087803b15801561129657600080fd5b505af11580156112aa573d6000803e3d6000fd5b5050505050565b60006112bb613531565b6112c36137f0565b6004546001600160a01b03166112d88161365c565b846112e28161365c565b6112ec8685613830565b50600454611305906001600160a01b0316878787613a0e565b9695505050505050565b6040518060400160405280600481526020017f504552490000000000000000000000000000000000000000000000000000000081525081565b6000606061135461223f565b905060005b815181101561146f57600082828151811061137057fe5b6020908102919091018101516000818152600c90925260409182902054600b5492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a721906113da9085906004016159e3565b60206040518083038186803b1580156113f257600080fd5b505afa158015611406573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061142a91908101906146c6565b6001600160a01b031614158061145557506000818152600c60205260409020546001600160a01b0316155b156114665760009350505050611476565b50600101611359565b5060019150505b90565b6000610f3e82613ab9565b601281565b611491613531565b600554600480546040516370a0823160e01b81526001600160a01b039384169363b46310f69392169161153091869186916370a08231916114d49187910161578d565b60206040518083038186803b1580156114ec57600080fd5b505afa158015611500573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115249190810190614b96565b9063ffffffff613b1616565b6040518363ffffffff1660e01b815260040161154d9291906158b1565b600060405180830381600087803b15801561156757600080fd5b505af115801561157b573d6000803e3d6000fd5b505060045461159892506001600160a01b03169050600083613b3e565b50565b600085846115a98282613b81565b6115b1613531565b6004546001600160a01b03166115c68161365c565b6115ce6137d9565b600480546040517f86baa45c0000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936386baa45c9361162493909116918e918e918e9185918f918f910161591c565b602060405180830381600087803b15801561163e57600080fd5b505af1158015611652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116769190810190614b96565b9998505050505050505050565b60095460ff1681565b600f546001600160a01b031681565b60008060006116a861373a565b6001600160a01b0316633b09280a856040518263ffffffff1660e01b81526004016116d3919061578d565b60606040518083038186803b1580156116eb57600080fd5b505afa1580156116ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117239190810190614c57565b9250925092509193909250565b600061173a613531565b600e546001600160a01b031661176b5760405162461bcd60e51b815260040161176290615c3a565b60405180910390fd5b600454600e546001600160a01b0390811691161461179b5760405162461bcd60e51b815260040161176290615c1a565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f690859061183790869085906370a08231906117db90869060040161578d565b60206040518083038186803b1580156117f357600080fd5b505afa158015611807573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061182b9190810190614b96565b9063ffffffff613be216565b6040518363ffffffff1660e01b81526004016118549291906158b1565b600060405180830381600087803b15801561186e57600080fd5b505af1158015611882573d6000803e3d6000fd5b5050505061189260008484613b3e565b50600192915050565b6118a3613608565b6118ab613531565b6004546001600160a01b03166118c08161365c565b6118c861373a565b600480546040517f94955cec0000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936394955cec9361127c93909116910161578d565b61191a613608565b611922613531565b6004546001600160a01b03166119378161365c565b61193f61373a565b600480546040517f08f95a620000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936308f95a6293610fbf939091169188918891016158bf565b6001546001600160a01b031681565b60006119a661373a565b6001600160a01b03166355182ccb836040518263ffffffff1660e01b81526004016119d1919061578d565b60606040518083038186803b1580156119e957600080fd5b505afa1580156119fd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a219190810190614c57565b50909392505050565b611a32613753565b5050565b611a3e613795565b6002546040516001600160a01b039091169063907dff9790611a669085908590602001615a1a565b6040516020818303038152906040526002604051611a839061574b565b6040518091039020611a94886137cd565b6000806040518763ffffffff1660e01b8152600401610fbf96959493929190615aaa565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a0823190611ae990859060040161578d565b60206040518083038186803b158015611b0157600080fd5b505afa158015611b15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f3e9190810190614b96565b6060611b4361223f565b905060005b8151811015611a32576000828281518110611b5f57fe5b602002602001015190506000600b60009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001611ba19190615777565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401611bcd929190615a28565b60206040518083038186803b158015611be557600080fd5b505afa158015611bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c1d91908101906146c6565b6000838152600c60205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611c7990849084906159f1565b60405180910390a15050600101611b48565b611c9361376b565b6001600160a01b038116611cb95760405162461bcd60e51b815260040161176290615bea565b601180546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b03163314611d055760405162461bcd60e51b815260040161176290615b6a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611d48926001600160a01b03918216929116906157c4565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000611d81613608565b600f546001600160a01b03163314611dab5760405162461bcd60e51b815260040161176290615c1a565b6000611db5613c07565b6001600160a01b03161415611ddc5760405162461bcd60e51b815260040161176290615b9a565b6000611de6613c07565b90506000611df2613c32565b6001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e2a57600080fd5b505afa158015611e3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e629190810190614b96565b9050611e6c613c5d565b6001600160a01b0316637e7961d7826040518263ffffffff1660e01b8152600401611e9791906159e3565b602060405180830381600087803b158015611eb157600080fd5b505af1158015611ec5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ee99190810190614a65565b506000611ef4613c5d565b6001600160a01b0316639bdd7ac76040518163ffffffff1660e01b815260040160206040518083038186803b158015611f2c57600080fd5b505afa158015611f40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f649190810190614b96565b90506000611f78838363ffffffff613b1616565b6005546040516370a0823160e01b81529192506001600160a01b03169063b46310f6908690611fb990859085906370a08231906117db90869060040161578d565b6040518363ffffffff1660e01b8152600401611fd69291906158b1565b600060405180830381600087803b158015611ff057600080fd5b505af1158015612004573d6000803e3d6000fd5b50505050612013308583613b3e565b6040517f59974e380000000000000000000000000000000000000000000000000000000081526001600160a01b038516906359974e38906120589084906004016159e3565b602060405180830381600087803b15801561207257600080fd5b505af1158015612086573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120aa9190810190614a65565b506005546040516370a0823160e01b81526001600160a01b039091169063b46310f69033906120eb90869085906370a08231906117db90869060040161579b565b6040518363ffffffff1660e01b81526004016121089291906157a9565b600060405180830381600087803b15801561212257600080fd5b505af1158015612136573d6000803e3d6000fd5b50505050612145303384613b3e565b600854612158908463ffffffff613be216565b600855506001935050505090565b61216e61376b565b601080546001600160a01b0319166001600160a01b0392909216919091179055565b612198613608565b6121a0613531565b6004546001600160a01b03166121b58161365c565b6121bd61373a565b600480546040517f171af0630000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363171af0639361220993909116918791016158b1565b600060405180830381600087803b15801561222357600080fd5b505af1158015612237573d6000803e3d6000fd5b505050505050565b60608061224a613c88565b60408051600480825260a0820190925291925060609190602082016080803883390190505090507f526577617264457363726f7756320000000000000000000000000000000000008160008151811061229f57fe5b6020026020010181815250507f537570706c795363686564756c65000000000000000000000000000000000000816001815181106122d957fe5b6020026020010181815250507f43726f7373436861696e4d616e616765720000000000000000000000000000008160028151811061231357fe5b6020026020010181815250506a427269646765537461746560a81b8160038151811061233b57fe5b6020026020010181815250506123518282613dce565b9250505090565b6000546001600160a01b031681565b61236f613608565b612377613531565b6004546001600160a01b031661238c8161365c565b61239461373a565b600480546040517ff0617e5b0000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363f0617e5b9361127c93909116910161578d565b600085846123ec8282613b81565b6123f4613531565b6004546001600160a01b03166124098161365c565b896124138161365c565b61241b6137d9565b6001600160a01b031663dfffca768c600460009054906101000a90046001600160a01b03168d8d8d8d8d6040518863ffffffff1660e01b81526004016124679796959493929190615821565b602060405180830381600087803b15801561248157600080fd5b505af1158015612495573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124b99190810190614b96565b9b9a5050505050505050505050565b6124d061376b565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b61250361376b565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6007805460408051602060026001851615610100026000190190941693909304601f81018490048402820184019092528181529291830182828015610e955780601f10610e6a57610100808354040283529160200191610e95565b61258861376b565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9061108790839061579b565b60008060006125e0613531565b6004546001600160a01b03166125f58161365c565b6125fd6137d9565b600480546040517f1b16802c0000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693631b16802c9361264993909116918a91016158b1565b606060405180830381600087803b15801561266357600080fd5b505af1158015612677573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061269b9190810190614c57565b935093509350509193909250565b6126b1613531565b6004546001600160a01b03166126c68161365c565b600084116126e65760405162461bcd60e51b815260040161176290615c7a565b60006126f061373a565b600480546005546040516370a0823160e01b81526001600160a01b0394851694638d542eb394938116939216916370a082319161272f9185910161578d565b60206040518083038186803b15801561274757600080fd5b505afa15801561275b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061277f9190810190614b96565b6040518363ffffffff1660e01b815260040161279c9291906158b1565b604080518083038186803b1580156127b357600080fd5b505afa1580156127c7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127eb9190810190614bb4565b5090508481101561280e5760405162461bcd60e51b815260040161176290615c9a565b612816613e83565b6001600160a01b031663962438036040518163ffffffff1660e01b815260040160206040518083038186803b15801561284e57600080fd5b505afa158015612862573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128869190810190614b96565b3410156128a55760405162461bcd60e51b815260040161176290615cba565b6010546040516001600160a01b03909116903480156108fc02916000818181858888f193505050501580156128de573d6000803e3d6000fd5b506004546128f5906001600160a01b031686613eae565b6129115760405162461bcd60e51b815260040161176290615bca565b612919613f4a565b600480546040517f62f0c06b0000000000000000000000000000000000000000000000000000000081526001600160a01b03938416936362f0c06b9361296993909116918a918a918a9101615986565b600060405180830381600087803b15801561298357600080fd5b505af1158015612997573d6000803e3d6000fd5b505050505050505050565b6003546001600160a01b031681565b6129b9613f63565b600580546001600160a01b0319166001600160a01b03831617905561159881613fe8565b60006129e761373a565b6001600160a01b031663a311c7c2836040518263ffffffff1660e01b8152600401611ae9919061578d565b612a1a61376b565b6001600160a01b038116612a405760405162461bcd60e51b815260040161176290615c3a565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6000612a6c61373a565b6001600160a01b031663a5fdc5de836040518263ffffffff1660e01b8152600401611ae9919061578d565b6000612aa1613531565b612aa96137f0565b6004546001600160a01b0316612abe8161365c565b600454612ad4906001600160a01b031684613830565b50600454612aec906001600160a01b03168585614072565b50600191505b5092915050565b612b01613795565b6002546040516001600160a01b039091169063907dff9790612b299085908590602001615a1a565b6040516020818303038152906040526002604051611a839061570a565b612b4e613531565b6060612b58613f4a565b600480546040517f0a2da1780000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693630a2da17893612ba293909116910161578d565b60006040518083038186803b158015612bba57600080fd5b505afa158015612bce573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612bf69190810190614a30565b90506000815111612c195760405162461bcd60e51b815260040161176290615baa565b612c21613e83565b6001600160a01b03166387c24d346040518163ffffffff1660e01b815260040160206040518083038186803b158015612c5957600080fd5b505afa158015612c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612c919190810190614b96565b341015612cb05760405162461bcd60e51b815260040161176290615cba565b6010546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015612ce9573d6000803e3d6000fd5b5060005b8151811015611a3257612d12828281518110612d0557fe5b602002602001015161407f565b50600101612ced565b612d236141d6565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b600080612d5061373a565b6001600160a01b031663becf5ff8846040518263ffffffff1660e01b8152600401612d7b919061578d565b604080518083038186803b158015612d9257600080fd5b505afa158015612da6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dca9190810190614be4565b9094909350915050565b6011546001600160a01b031681565b60008382612df18282613b81565b612df9613531565b6004546001600160a01b0316612e0e8161365c565b87612e188161365c565b612e206137d9565b600480546040517f6a1c47580000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693636a1c475893611624938f939216918e918e918e91016157df565b612e79613531565b6011546004546001600160a01b03908116911614612ea95760405162461bcd60e51b815260040161176290615bfa565b6000612eb782840184614a83565b6005546040516370a0823160e01b81529192506001600160a01b03169063b46310f6908690612ef890859085906370a08231906117db90869060040161578d565b6040518363ffffffff1660e01b8152600401612f159291906158b1565b600060405180830381600087803b158015612f2f57600080fd5b505af1158015612f43573d6000803e3d6000fd5b50505050612f5360008583613b3e565b50505050565b6000612f6361373a565b6001600160a01b031663d37c4d8b84846040518363ffffffff1660e01b8152600401612f909291906158b1565b60206040518083038186803b158015612fa857600080fd5b505afa158015612fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612fe09190810190614b96565b9392505050565b6000612ff161373a565b6001600160a01b031663f023e8db8360006040518363ffffffff1660e01b815260040161301f9291906159ff565b604080518083038186803b15801561303657600080fd5b505afa15801561304a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612af29190810190614bb4565b6004546001600160a01b031681565b600061308761373a565b6001600160a01b031663f023e8db8360016040518363ffffffff1660e01b815260040161301f9291906159ff565b611598613753565b600d546001600160a01b031681565b600554604051636eb1769f60e11b81526000916001600160a01b03169063dd62ed3e90612f9090869086906004016157c4565b613107613795565b6002546040516001600160a01b039091169063907dff979061312f9085908590602001615a1a565b604051602081830303815290604052600260405161314c90615756565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b168252610fbf93929189906000908190600401615aaa565b61319b61376b565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b6010546001600160a01b031681565b60006131d661373a565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb39286929116906370a082319061321190849060040161578d565b60206040518083038186803b15801561322957600080fd5b505afa15801561323d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132619190810190614b96565b6040518363ffffffff1660e01b815260040161301f9291906158b1565b60006132886137f0565b613290613531565b6004546001600160a01b03166132a58161365c565b6000806132b061373a565b600480546040517fa63c4df40000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363a63c4df4936132fe938c938c93909116910161595e565b6040805180830381600087803b15801561331757600080fd5b505af115801561332b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061334f9190810190614be4565b600454919350915061336f908790849084906001600160a01b0316614215565b6004546113059087906001600160a01b031684614072565b6005546001600160a01b031681565b61339e613608565b6133a6613531565b6004546001600160a01b03166133bb8161365c565b6133c361373a565b600480546040517fb42652e90000000000000000000000000000000000000000000000000000000081526001600160a01b039384169363b42652e99361127c93909116910161578d565b6002546001600160a01b031681565b6000838261342a8282613b81565b613432613531565b6004546001600160a01b03166134478161365c565b61344f6137d9565b600480546040517f0a1e187d0000000000000000000000000000000000000000000000000000000081526001600160a01b0393841693630a1e187d936134a193909116918c918c918c918591016158da565b602060405180830381600087803b1580156134bb57600080fd5b505af11580156134cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134f39190810190614b96565b979650505050505050565b600e546001600160a01b031681565b7f705553440000000000000000000000000000000000000000000000000000000081565b6002546001600160a01b0316331480159061355757506003546001600160a01b03163314155b801561356e57506004546001600160a01b03163314155b1561358657600480546001600160a01b031916331790555b565b6002546040516001600160a01b039091169063907dff97906135ae9084906020016159e3565b60405160208183030381529060405260036040516135cb90615740565b60405180910390206135dc886137cd565b6135e5886137cd565b60006040518763ffffffff1660e01b8152600401610fbf96959493929190615ae4565b6136106142c9565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561364857600080fd5b505afa158015612f53573d6000803e3d6000fd5b600d546001600160a01b03166136845760405162461bcd60e51b815260040161176290615b4a565b600d546040517fcb2505cf0000000000000000000000000000000000000000000000000000000081526001600160a01b039091169063cb2505cf906136cd90849060040161578d565b60206040518083038186803b1580156136e557600080fd5b505afa1580156136f9573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061371d9190810190614a65565b156115985760405162461bcd60e51b815260040161176290615cca565b600061374e6524b9b9bab2b960d11b613ab9565b905090565b60405162461bcd60e51b815260040161176290615c0a565b6000546001600160a01b031633146135865760405162461bcd60e51b815260040161176290615c6a565b61379d6137d9565b6001600160a01b0316336001600160a01b0316146135865760405162461bcd60e51b815260040161176290615c5a565b6001600160a01b031690565b600061374e6822bc31b430b733b2b960b91b613ab9565b6137f86142c9565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b15801561364857600080fd5b60008061383b6142e3565b6001600160a01b0316638b3f8088856040518263ffffffff1660e01b8152600401613866919061578d565b604080518083038186803b15801561387d57600080fd5b505afa158015613891573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506138b59190810190614be4565b5090508015610f38576000806138c961373a565b6005546040516370a0823160e01b81526001600160a01b0392831692638d542eb3928a929116906370a082319061390490849060040161578d565b60206040518083038186803b15801561391c57600080fd5b505afa158015613930573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139549190810190614b96565b6040518363ffffffff1660e01b81526004016139719291906158b1565b604080518083038186803b15801561398857600080fd5b505afa15801561399c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139c09190810190614bb4565b91509150818511156139e45760405162461bcd60e51b815260040161176290615c8a565b8015613a025760405162461bcd60e51b815260040161176290615c2a565b50600195945050505050565b600554604051636eb1769f60e11b81526000916001600160a01b03169063da46098c9086908890613a53908790869063dd62ed3e906114d490879087906004016157c4565b6040518463ffffffff1660e01b8152600401613a7193929190615889565b600060405180830381600087803b158015613a8b57600080fd5b505af1158015613a9f573d6000803e3d6000fd5b50505050613aae84848461430e565b90505b949350505050565b6000818152600c602090815260408083205490516001600160a01b039091169182151591613ae991869101615720565b60405160208183030381529060405290612af25760405162461bcd60e51b81526004016117629190615b39565b600082821115613b385760405162461bcd60e51b815260040161176290615bda565b50900390565b6002546040516001600160a01b039091169063907dff9790613b649084906020016159e3565b60405160208183030381529060405260036040516135cb90615782565b613b896142c9565b6001600160a01b0316632cb28bd883836040518363ffffffff1660e01b8152600401613bb6929190615a1a565b60006040518083038186803b158015613bce57600080fd5b505afa158015612237573d6000803e3d6000fd5b600082820183811015612fe05760405162461bcd60e51b815260040161176290615bba565b600061374e7f52657761726473446973747269627574696f6e00000000000000000000000000613ab9565b600061374e7f43726f7373436861696e4d616e61676572000000000000000000000000000000613ab9565b600061374e7f537570706c795363686564756c65000000000000000000000000000000000000613ab9565b60408051600680825260e082019092526060916020820160c0803883390190505090507f5065726946696e616e636553746174650000000000000000000000000000000081600081518110613cd957fe5b6020026020010181815250506b53797374656d53746174757360a01b81600181518110613d0257fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600281518110613d2857fe5b6020026020010181815250506524b9b9bab2b960d11b81600381518110613d4b57fe5b6020026020010181815250507f52657761726473446973747269627574696f6e0000000000000000000000000081600481518110613d8557fe5b6020026020010181815250507f53797374656d53657474696e677300000000000000000000000000000000000081600581518110613dbf57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613dfe578160200160208202803883390190505b50905060005b8351811015613e4057838181518110613e1957fe5b6020026020010151828281518110613e2d57fe5b6020908102919091010152600101613e04565b5060005b8251811015612af257828181518110613e5957fe5b6020026020010151828286510181518110613e7057fe5b6020908102919091010152600101613e44565b600061374e7f53797374656d53657474696e6773000000000000000000000000000000000000613ab9565b6005546040516370a0823160e01b81526000916001600160a01b03169063b46310f6908590613eef90869085906370a08231906114d490869060040161578d565b6040518363ffffffff1660e01b8152600401613f0c9291906158b1565b600060405180830381600087803b158015613f2657600080fd5b505af1158015613f3a573d6000803e3d6000fd5b5050505061189283600084613b3e565b600061374e6a427269646765537461746560a81b613ab9565b6002546001600160a01b03163314801590613f8957506003546001600160a01b03163314155b8015613fa057506004546001600160a01b03163314155b15613fb857600480546001600160a01b031916331790555b6000546004546001600160a01b039081169116146135865760405162461bcd60e51b815260040161176290615b7a565b6002546040516001600160a01b039091169063907dff979061400e90849060200161578d565b604051602081830303815290604052600160405161402b90615761565b6040519081900381207fffffffff0000000000000000000000000000000000000000000000000000000060e086901b16825261127c93929160009081908190600401615a56565b6000613ab184848461430e565b600080600061408c613f4a565b6001600160a01b0316631e1d164f856040518263ffffffff1660e01b81526004016140b791906159e3565b6101006040518083038186803b1580156140d057600080fd5b505afa1580156140e4573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061410891908101906149b5565b505060045493955091935050506001600160a01b0380841691161461413f5760405162461bcd60e51b815260040161176290615b8a565b614147613f4a565b6001600160a01b031663909f018a85836040518363ffffffff1660e01b8152600401614174929190615a1a565b600060405180830381600087803b15801561418e57600080fd5b505af11580156141a2573d6000803e3d6000fd5b505050506141b082826144c9565b6141cc5760405162461bcd60e51b815260040161176290615c4a565b5060019392505050565b6002546001600160a01b03163314806141f957506003546001600160a01b031633145b6135865760405162461bcd60e51b815260040161176290615caa565b6002546040516001600160a01b039091169063907dff979061423f90869086908690602001615d05565b604051602081830303815290604052600260405161425c9061576c565b604051809103902061426d896137cd565b6000806040518763ffffffff1660e01b815260040161429196959493929190615aaa565b600060405180830381600087803b1580156142ab57600080fd5b505af11580156142bf573d6000803e3d6000fd5b5050505050505050565b600061374e6b53797374656d53746174757360a01b613ab9565b600061374e7f5065726946696e616e6365537461746500000000000000000000000000000000613ab9565b60006001600160a01b0383161580159061433157506001600160a01b0383163014155b801561434b57506002546001600160a01b03848116911614155b6143675760405162461bcd60e51b815260040161176290615b5a565b6001600160a01b0384166000908152600a602052604090205460ff16156143a05760405162461bcd60e51b815260040161176290615cda565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f69086906143e090869085906370a08231906114d490869060040161578d565b6040518363ffffffff1660e01b81526004016143fd9291906158b1565b600060405180830381600087803b15801561441757600080fd5b505af115801561442b573d6000803e3d6000fd5b50506005546040516370a0823160e01b81526001600160a01b03909116925063b46310f69150859061446f90869085906370a08231906117db90869060040161578d565b6040518363ffffffff1660e01b815260040161448c9291906158b1565b600060405180830381600087803b1580156144a657600080fd5b505af11580156144ba573d6000803e3d6000fd5b505050506141cc848484613b3e565b6005546040516370a0823160e01b81526000916001600160a01b03169063b46310f690859061183790869085906370a08231906117db90869060040161578d565b8035610f3e81615e28565b8051610f3e81615e28565b600082601f83011261453157600080fd5b815161454461453f82615d56565b615d2f565b9150818183526020840193506020810190508385602084028201111561456957600080fd5b60005b83811015614595578161457f88826145c0565b845250602092830192919091019060010161456c565b5050505092915050565b8035610f3e81615e3c565b8051610f3e81615e3c565b8035610f3e81615e45565b8051610f3e81615e45565b60008083601f8401126145dd57600080fd5b50813567ffffffffffffffff8111156145f557600080fd5b60208301915083600182028301111561460d57600080fd5b9250929050565b8035610f3e81615e4e565b60006060828403121561463157600080fd5b50919050565b60006060828403121561464957600080fd5b6146536060615d2f565b9050600061466184846145c0565b8252506020614672848483016145c0565b60208301525060406146868482850161469d565b60408301525092915050565b8035610f3e81615e57565b8051610f3e81615e57565b6000602082840312156146ba57600080fd5b6000613ab1848461450a565b6000602082840312156146d857600080fd5b6000613ab18484614515565b600080604083850312156146f757600080fd5b6000614703858561450a565b92505060206147148582860161450a565b9150509250929050565b60008060006060848603121561473357600080fd5b600061473f868661450a565b93505060206147508682870161450a565b9250506040614761868287016145b5565b9150509250925092565b6000806040838503121561477e57600080fd5b600061478a858561450a565b92505060206147148582860161459f565b600080604083850312156147ae57600080fd5b60006147ba858561450a565b9250506020614714858286016145b5565b6000806000606084860312156147e057600080fd5b60006147ec868661450a565b9350506020614750868287016145b5565b6000806000806080858703121561481357600080fd5b600061481f878761450a565b9450506020614830878288016145b5565b9350506040614841878288016145b5565b9250506060614852878288016145b5565b91505092959194509250565b60008060008060008060c0878903121561487757600080fd5b6000614883898961450a565b965050602061489489828a016145b5565b95505060406148a589828a016145b5565b94505060606148b689828a016145b5565b93505060806148c789828a0161450a565b92505060a06148d889828a016145b5565b9150509295509295509295565b60008060008060008060c087890312156148fe57600080fd5b600061490a898961450a565b965050602061491b89828a016145b5565b955050604061492c89828a016145b5565b945050606061493d89828a016145b5565b935050608061494e89828a016145b5565b92505060a06148d889828a0161450a565b60008060006040848603121561497457600080fd5b6000614980868661450a565b935050602084013567ffffffffffffffff81111561499d57600080fd5b6149a9868287016145cb565b92509250509250925092565b60008060008060008061010087890312156149cf57600080fd5b60006149db8989614515565b96505060206149ec89828a016145c0565b95505060406149fd89828a016145c0565b9450506060614a0e89828a016145c0565b9350506080614a1f89828a016145aa565b92505060a06148d889828a01614637565b600060208284031215614a4257600080fd5b815167ffffffffffffffff811115614a5957600080fd5b613ab184828501614520565b600060208284031215614a7757600080fd5b6000613ab184846145aa565b600060208284031215614a9557600080fd5b6000613ab184846145b5565b600080600060608486031215614ab657600080fd5b60006147ec86866145b5565b60008060408385031215614ad557600080fd5b60006147ba85856145b5565b600080600080600060a08688031215614af957600080fd5b6000614b0588886145b5565b9550506020614b16888289016145b5565b9450506040614b27888289016145b5565b9350506060614b388882890161450a565b9250506080614b49888289016145b5565b9150509295509295909350565b60008060008060808587031215614b6c57600080fd5b600061481f87876145b5565b600060208284031215614b8a57600080fd5b6000613ab18484614614565b600060208284031215614ba857600080fd5b6000613ab184846145c0565b60008060408385031215614bc757600080fd5b6000614bd385856145c0565b9250506020614714858286016145aa565b60008060408385031215614bf757600080fd5b6000614c0385856145c0565b9250506020614714858286016145c0565b600080600060a08486031215614c2957600080fd5b6000614c3586866145b5565b9350506020614c46868287016145b5565b92505060406147618682870161461f565b600080600060608486031215614c6c57600080fd5b6000614c7886866145c0565b9350506020614c89868287016145c0565b9250506040614761868287016145c0565b6000614ca68383614d28565b505060200190565b614cb781615dce565b82525050565b614cb781615dad565b6000614cd182615d7d565b614cdb8185615d81565b9350614ce683615d77565b8060005b83811015614d14578151614cfe8882614c9a565b9750614d0983615d77565b925050600101614cea565b509495945050505050565b614cb781615db8565b614cb781611476565b614cb7614d3d82611476565b611476565b6000614d4d82615d7d565b614d578185615d81565b9350614d67818560208601615df2565b614d7081615e1e565b9093019392505050565b614cb781615dbd565b614cb781615dd9565b614cb781615de7565b6000614da2601383615d81565b7f436f6e7472616374206e6f742073657474656400000000000000000000000000815260200192915050565b6000614ddb601f83615d81565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b6000614e14603583615d81565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000614e73601383615d81565b7f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000815260200192915050565b6000614eac600c83615d81565b7f436865636b416464726573730000000000000000000000000000000000000000815260200192915050565b6000614ee5601683615d81565b7f4e6f2052657761726473446973747269627574696f6e00000000000000000000815260200192915050565b6000614f1e600b83615d81565b7f4e6f436c61696d61626c65000000000000000000000000000000000000000000815260200192915050565b6000614f57601b83615d81565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000614f90600883615d81565b7f4275726e4661696c000000000000000000000000000000000000000000000000815260200192915050565b6000614fc9602883615d8a565b7f45786368616e67655265636c61696d28616464726573732c627974657333322c81527f75696e7432353629000000000000000000000000000000000000000000000000602082015260280192915050565b6000615028603e83615d8a565b7f50796e746845786368616e676528616464726573732c627974657333322c756981527f6e743235362c627974657333322c75696e743235362c616464726573732900006020820152603e0192915050565b6000615087601e83615d81565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006150c0601683615d81565b7f416464726573732063616e6e6f74206265207a65726f00000000000000000000815260200192915050565b60006150f9601483615d81565b7f43616c6c65722063616e2774206465706f736974000000000000000000000000815260200192915050565b6000615132601183615d8a565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b600061516b600983615d81565b7f43616e27742072756e0000000000000000000000000000000000000000000000815260200192915050565b60006151a4600a83615d81565b7f6f6e6c794d696e74657200000000000000000000000000000000000000000000815260200192915050565b60006151dd600c83615d81565b7f5261746520696e76616c69640000000000000000000000000000000000000000815260200192915050565b6000615216600983615d81565b7f3020616464726573730000000000000000000000000000000000000000000000815260200192915050565b600061524f600883615d81565b7f4d696e744661696c000000000000000000000000000000000000000000000000815260200192915050565b6000615288600d83615d81565b7f4f6e6c7945786368616e67657200000000000000000000000000000000000000815260200192915050565b60006152c1602f83615d81565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000615320602183615d8a565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000615363602783615d8a565b7f45786368616e676552656261746528616464726573732c627974657333322c7581527f696e743235362900000000000000000000000000000000000000000000000000602082015260270192915050565b60006153c2602983615d8a565b7f45786368616e6765547261636b696e6728627974657333322c6279746573333281527f2c75696e74323536290000000000000000000000000000000000000000000000602082015260290192915050565b6000615421601a83615d8a565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b600061545a603283615d8a565b7f4163636f756e744c69717569646174656428616464726573732c75696e74323581527f362c75696e743235362c61646472657373290000000000000000000000000000602082015260320192915050565b60006154b9600883615d81565b7f3020616d6f756e74000000000000000000000000000000000000000000000000815260200192915050565b60006154f2601983615d8a565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061552b601283615d81565b7f436865636b205472616e7366657261626c650000000000000000000000000000815260200192915050565b6000615564600b83615d81565b7f436865636b416d6f756e74000000000000000000000000000000000000000000815260200192915050565b600061559d602183615d8a565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b60006155e0601783615d81565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b6000615619600583615d81565b7f4e6f466565000000000000000000000000000000000000000000000000000000815260200192915050565b6000615652600b83615d81565b7f426c61636b6c6973746564000000000000000000000000000000000000000000815260200192915050565b600061568b600f83615d81565b7f426c6f636b656420616464726573730000000000000000000000000000000000815260200192915050565b606082016156c58280615d8f565b6156cf8482614d28565b506156dd6020830183615d8f565b6156ea6020850182614d28565b506156f86040830183615d9e565b612f5360408501825b614cb781615dc8565b6000610f3e82614fbc565b6000610f3e8261501b565b600061572b82615125565b91506157378284614d31565b50602001919050565b6000610f3e82615313565b6000610f3e82615356565b6000610f3e826153b5565b6000610f3e82615414565b6000610f3e8261544d565b600061572b826154e5565b6000610f3e82615590565b60208101610f3e8284614cbd565b60208101610f3e8284614cae565b604081016157b78285614cae565b612fe06020830184614d28565b604081016157d28285614cbd565b612fe06020830184614cbd565b60a081016157ed8288614cbd565b6157fa6020830187614cbd565b6158076040830186614d28565b6158146060830185614d28565b6113056080830184614d28565b60e0810161582f828a614cbd565b61583c6020830189614cbd565b6158496040830188614d28565b6158566060830187614d28565b6158636080830186614d28565b61587060a0830185614cbd565b61587d60c0830184614d28565b98975050505050505050565b606081016158978286614cbd565b6158a46020830185614cbd565b613ab16040830184614d28565b604081016157b78285614cbd565b606081016158cd8286614cbd565b6158a46020830185614d28565b60a081016158e88288614cbd565b6158f56020830187614d28565b6159026040830186614d28565b61590f6060830185614d28565b6113056080830184614cbd565b60e0810161592a828a614cbd565b6159376020830189614d28565b6159446040830188614d28565b6159516060830187614d28565b6158636080830186614cbd565b6060810161596c8286614cbd565b6159796020830185614d28565b613ab16040830184614cbd565b60c081016159948287614cbd565b6159a16020830186614d28565b6159ae6040830185614d28565b6159bb60608301846156b7565b95945050505050565b60208082528101612fe08184614cc6565b60208101610f3e8284614d1f565b60208101610f3e8284614d28565b604081016157d28285614d28565b60408101615a0d8285614d28565b612fe06020830184614d1f565b604081016157b78285614d28565b60408101615a368285614d28565b8181036020830152613ab18184614d42565b60a081016158e88288614d28565b60c08082528101615a678189614d42565b9050615a766020830188614d8c565b615a836040830187614d28565b615a906060830186614d83565b615a9d6080830185614d83565b6134f360a0830184614d83565b60c08082528101615abb8189614d42565b9050615aca6020830188614d8c565b615ad76040830187614d28565b615a906060830186614d28565b60c08082528101615af58189614d42565b9050615b046020830188614d8c565b615b116040830187614d28565b615b1e6060830186614d28565b615a9d6080830185614d28565b60208101610f3e8284614d7a565b60208082528101612fe08184614d42565b60208082528101610f3e81614d95565b60208082528101610f3e81614dce565b60208082528101610f3e81614e07565b60208082528101610f3e81614e66565b60208082528101610f3e81614e9f565b60208082528101610f3e81614ed8565b60208082528101610f3e81614f11565b60208082528101610f3e81614f4a565b60208082528101610f3e81614f83565b60208082528101610f3e8161507a565b60208082528101610f3e816150b3565b60208082528101610f3e816150ec565b60208082528101610f3e8161515e565b60208082528101610f3e81615197565b60208082528101610f3e816151d0565b60208082528101610f3e81615209565b60208082528101610f3e81615242565b60208082528101610f3e8161527b565b60208082528101610f3e816152b4565b60208082528101610f3e816154ac565b60208082528101610f3e8161551e565b60208082528101610f3e81615557565b60208082528101610f3e816155d3565b60208082528101610f3e8161560c565b60208082528101610f3e81615645565b60208082528101610f3e8161567e565b60408101615cf88285614d28565b612fe06020830184614d7a565b6060810161596c8286614d28565b606081016158cd8286614d28565b60208101610f3e8284615701565b60405181810167ffffffffffffffff81118282101715615d4e57600080fd5b604052919050565b600067ffffffffffffffff821115615d6d57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b919050565b6000612fe060208401846145b5565b6000612fe06020840184614692565b6000610f3e826137cd565b151590565b6000610f3e82615dad565b60ff1690565b6000610f3e82615dbd565b6000610f3e614d3d83611476565b6000610f3e82611476565b60005b83811015615e0d578181015183820152602001615df5565b83811115612f535750506000910152565b601f01601f191690565b615e3181615dad565b811461159857600080fd5b615e3181615db8565b615e3181611476565b615e3181615dbd565b615e3181615dc856fea365627a7a72315820f89f6957bec36777bbc22713e3545558aeb040b7a410a170c99d540caa2d0acc6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_childChainManager",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_blacklistManager",
							"type": "address"
						},
						{
							"internalType": "address payable",
							"name": "_bridgeValidator",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periRedeemed",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amountLiquidated",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "AccountLiquidated",
					"type": "event",
					"signature": "0xaadb11d74982254be0fa96d24a08db29d68f446bc96b3092a9c9120b5c89caf2"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeRebate",
					"type": "event",
					"signature": "0x93751433c6897553c8950f14ccc193ccffb8f539f7421ffde9af83b9b7dae1a8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "ExchangeReclaim",
					"type": "event",
					"signature": "0x491df6adf9cabe8ca514806effd6b6b6475572dc88fe4b8b58d0a20ecf45e105"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						}
					],
					"name": "ExchangeTracking",
					"type": "event",
					"signature": "0x9b39fce028952c685c9c73b2f5f825f8e369fbdaca2bec73c4abb52c2abc123c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "fromCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "fromAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "toCurrencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "toAmount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "toAddress",
							"type": "address"
						}
					],
					"name": "PynthExchange",
					"type": "event",
					"signature": "0x4a0ae13ecb43c31fb105d00f9bb9bb573465fe44c0e86d51dc9b6c36090f6e28"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_NAME",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18821400"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "TOKEN_SYMBOL",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2a905318"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "amountsToFitClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTokenAmountToUnstake",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbecf5ff8"
				},
				{
					"constant": 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": "blacklistManager",
					"outputs": [
						{
							"internalType": "contract IBlacklistManager",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd9dbf657"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeValidator",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe22760f7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_burnAmount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a057b76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "burnSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xedef719a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "childChainManager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8291d84"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimAllBridgedAmounts",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xaf5a5e4c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "bytes",
							"name": "depositData",
							"type": "bytes"
						}
					],
					"name": "deposit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcf2c52cb"
				},
				{
					"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": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0e30963c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9fad8ee"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "fitToClaimable",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x50d0573c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						}
					],
					"name": "forceFitToClaimable",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x2190764c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_contractName",
							"type": "bytes32"
						}
					],
					"name": "getRequiredAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2bc93ad6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "inflationMinter",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x321ea17c"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "inflationalMint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7a725c68"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isWaitingPeriod",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1fce304d"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8e2ac0ea"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x534f079c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "issuePynthsToMaxQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x85d18d36"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe6203ed1"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "mint",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x40c10f19"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondary",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x666ed4f1"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "mintSecondaryRewards",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd8a1f76f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "minterRole",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf084219e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_destChainId",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct IBridgeState.Signature",
							"name": "_sign",
							"type": "tuple"
						}
					],
					"name": "overchainTransfer",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x9a26669e"
				},
				{
					"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": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b09280a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_blacklistManager",
							"type": "address"
						}
					],
					"name": "setBlacklistManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa56c62cf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setBlockedAddress",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x92d5011f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_bridgeValidator",
							"type": "address"
						}
					],
					"name": "setBridgeValidator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x842efb01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_childChainManager",
							"type": "address"
						}
					],
					"name": "setChildChainManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x764a81bb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newInflationMinter",
							"type": "address"
						}
					],
					"name": "setInflationMinter",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe12c4cea"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_integrationProxy",
							"type": "address"
						}
					],
					"name": "setIntegrationProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x131b0ae7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "sender",
							"type": "address"
						}
					],
					"name": "setMessageSender",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbc67f832"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newMinter",
							"type": "address"
						}
					],
					"name": "setMinterRole",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x945d1229"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						}
					],
					"name": "setProxy",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x97107d6d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						}
					],
					"name": "setTokenState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9f769807"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "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": "totalIssued",
							"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": "totalIssued",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6980ba1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transfer",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa9059cbb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "transferFrom",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x23b872dd"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "transferablePeriFinance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "transferable",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe3c3af98"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e1a7d4d"
				}
			],
			"source": {
				"keccak256": "0x29ff9645a85b50f1f411026c6687b70428e08c6b3b9413cdc537acebe7dcb367",
				"urls": [
					"bzz-raw://4b8ac8ed60ac95b926b019ee0574cc902df3237ad736bc0187d04d14c6731cc8",
					"dweb:/ipfs/Qma2EyB9kNEb3ALHTGrDyxU33rE8n96gyDwYgFgjxfr7qe"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"PeriFinanceToPolygon.sol": "PeriFinanceToPolygon"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"PeriFinanceToPolygon.sol": {
						"keccak256": "0x29ff9645a85b50f1f411026c6687b70428e08c6b3b9413cdc537acebe7dcb367",
						"urls": [
							"bzz-raw://4b8ac8ed60ac95b926b019ee0574cc902df3237ad736bc0187d04d14c6731cc8",
							"dweb:/ipfs/Qma2EyB9kNEb3ALHTGrDyxU33rE8n96gyDwYgFgjxfr7qe"
						]
					}
				},
				"version": 1
			}
		},
		"DebtCache": {
			"bytecode": "60806040526007805460ff1916600117905534801561001d57600080fd5b5060405161261e38038061261e8339818101604052604081101561004057600080fd5b50805160209091015181818080836001600160a01b0381166100a9576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b031990921691909117905550505050506124e7806101376000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c80638da5cb5b116100c3578063dae3de981161007c578063dae3de98146103dd578063e3476cd41461044b578063f7cc999f14610453578063fa9f18d314610470578063fc524773146104de578063fca28f74146104e657610158565b80638da5cb5b146102e25780639f98fb49146102ea578063a5f27edb146103a8578063af5355d8146103b0578063d0fffafd146103b8578063d6576c84146103c057610158565b806353a47bb71161011557806353a47bb71461022e5780637418536014610236578063759076e51461023e57806379ba50971461025f5780638376a78214610267578063899ffef41461028a57610158565b806304bd11e51461015d57806304f3bcec1461017e57806305393262146101a25780631627540c146101bc5780632af64bd3146101e25780633a900a2e146101fe575b600080fd5b61017c6004803603602081101561017357600080fd5b503515156105b3565b005b6101866105c7565b604080516001600160a01b039092168252519081900360200190f35b6101aa6105d6565b60408051918252519081900360200190f35b61017c600480360360208110156101d257600080fd5b50356001600160a01b03166105dd565b6101ea610639565b604080519115158252519081900360200190f35b610206610743565b6040805194855260208501939093529015158383015215156060830152519081900360800190f35b610186610774565b61017c610783565b61024661094b565b6040805192835290151560208301528051918290030190f35b61017c61095e565b61017c6004803603604081101561027d57600080fd5b5080359060200135610a1a565b610292610aad565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156102ce5781810151838201526020016102b6565b505050509050019250505060405180910390f35b610186610c17565b61017c6004803603604081101561030057600080fd5b810190602081018135600160201b81111561031a57600080fd5b82018360208201111561032c57600080fd5b803590602001918460208302840111600160201b8311171561034d57600080fd5b919390929091602081019035600160201b81111561036a57600080fd5b82018360208201111561037c57600080fd5b803590602001918460208302840111600160201b8311171561039d57600080fd5b509092509050610c26565b6101ea610c9b565b6101aa610ca4565b6101aa610cb3565b61017c600480360360208110156103d657600080fd5b5035610cb9565b610292600480360360208110156103f357600080fd5b810190602081018135600160201b81111561040d57600080fd5b82018360208201111561041f57600080fd5b803590602001918460208302840111600160201b8311171561044057600080fd5b509092509050610d95565b61017c610ddc565b6101aa6004803603602081101561046957600080fd5b503561106f565b61017c6004803603602081101561048657600080fd5b810190602081018135600160201b8111156104a057600080fd5b8201836020820111156104b257600080fd5b803590602001918460208302840111600160201b831117156104d357600080fd5b509092509050611081565b6101ea611216565b610554600480360360208110156104fc57600080fd5b810190602081018135600160201b81111561051657600080fd5b82018360208201111561052857600080fd5b803590602001918460208302840111600160201b8311171561054957600080fd5b509092509050611223565b604051808060200183151515158152602001828103825284818151815260200191508051906020019060200280838360005b8381101561059e578181015183820152602001610586565b50505050905001935050505060405180910390f35b6105bb61126e565b6105c48161137d565b50565b6002546001600160a01b031681565b6004545b90565b6105e56113ca565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60006060610645610aad565b905060005b815181101561073a57600082828151811061066157fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156106c957600080fd5b505afa1580156106dd573d6000803e3d6000fd5b505050506040513d60208110156106f357600080fd5b50516001600160a01b031614158061072057506000818152600360205260409020546001600160a01b0316155b1561073157600093505050506105da565b5060010161064a565b50600191505090565b6006546004546007546000928392839283929190829060ff1661076582611415565b94509450945094505090919293565b6001546001600160a01b031681565b606061078d610aad565b905060005b81518110156109475760008282815181106107a957fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561085f578181015183820152602001610847565b50505050905090810190601f16801561088c5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156108aa57600080fd5b505afa1580156108be573d6000803e3d6000fd5b505050506040513d60208110156108d457600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610792565b5050565b60008061095661142e565b915091509091565b6001546001600160a01b031633146109a75760405162461bcd60e51b81526004018080602001828103825260358152602001806124006035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610a2261126e565b604080516001808252818301909252606091602080830190803883390190505090508281600081518110610a5257fe5b60209081029190910101526040805160018082528183019092526060918160200160208202803883390190505090508281600081518110610a8f57fe5b602002602001018181525050610aa78282600061162c565b50505050565b606080610ab86117e1565b6040805160078082526101008201909252919250606091906020820160e0803883390190505090506524b9b9bab2b960d11b81600081518110610af757fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610b1d57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110610b4757fe5b6020026020010181815250506b53797374656d53746174757360a01b81600381518110610b7057fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b81600481518110610b9c57fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1c1554d1606a1b81600581518110610bcc57fe5b6020026020010181815250507021b7b63630ba32b930b626b0b730b3b2b960791b81600681518110610bfa57fe5b602002602001018181525050610c108282611832565b9250505090565b6000546001600160a01b031681565b610c2e61126e565b610aa7848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040805160208088028281018201909352878252909350879250869182918501908490808284376000920182905250925061162c915050565b60075460ff1690565b6000610cae6118ee565b905090565b60065490565b610cc16113ca565b6000610ccb61199d565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d0e57600080fd5b505afa158015610d22573d6000803e3d6000fd5b505050506040513d6020811015610d3857600080fd5b50516001600160a01b031614610d84576040805162461bcd60e51b815260206004820152600c60248201526b50796e74682065786973747360a01b604482015290519081900360640190fd5b600090815260056020526040812055565b6060610dd38383808060200260200160405190810160405280939291908181526020018383602002808284376000920191909152506119b192505050565b90505b92915050565b610de4611a41565b6060610dee61199d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015610e2657600080fd5b505afa158015610e3a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610e6357600080fd5b8101908080516040519392919084600160201b821115610e8257600080fd5b908301906020820185811115610e9757600080fd5b82518660208202830111600160201b82111715610eb357600080fd5b82525081516020918201928201910280838360005b83811015610ee0578181015183820152602001610ec8565b50505050905001604052505050905060606000610efc83611aa7565b915091506000610f0a611c20565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b158015610f4157600080fd5b505afa158015610f55573d6000803e3d6000fd5b505050506040513d6040811015610f6b57600080fd5b505183519091506000805b82811015610fe0576000868281518110610f8c57fe5b60200260200101519050610fa98184611c3f90919063ffffffff16565b925080600560008a8581518110610fbc57fe5b60209081029190910181015182528101919091526040016000205550600101610f76565b50610ff1818463ffffffff611c9916565b600455426006556040805182815290517f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be5999181900360200190a16040805142815290517fc481e742c89630d4b1a5ed3a0fc624c1c41ed463bd00ac26a7e93c71e932126f9181900360200190a16110678461137d565b505050505050565b60009081526005602052604090205490565b611089611a41565b60606000611095611cf6565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b15801561110757600080fd5b505afa15801561111b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561114457600080fd5b8101908080516040519392919084600160201b82111561116357600080fd5b90830190602082018581111561117857600080fd5b82518660208202830111600160201b8211171561119457600080fd5b82525081516020918201928201910280838360005b838110156111c15781810151838201526020016111a9565b505050509190910160408181526020938401518a850280840186019092528a8352969850959650610aa795909450899350889283925085019084908082843760009201919091525086925085915061162c9050565b6000610cae600654611415565b60606000611263848480806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250611aa792505050565b915091509250929050565b600061127861199d565b6001600160a01b03166357ad4663631c1554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156112c257600080fd5b505afa1580156112d6573d6000803e3d6000fd5b505050506040513d60208110156112ec57600080fd5b505190506112f861199d565b6001600160a01b0316336001600160a01b0316148061132f575061131a611d11565b6001600160a01b0316336001600160a01b0316145b806113425750336001600160a01b038216145b6105c45760405162461bcd60e51b815260040180806020018281038252602e815260200180612485602e913960400191505060405180910390fd5b60075460ff161515811515146105c4576007805460ff19168215159081179091556040517f8eebec690c34bbf0fe0d5b93e442beaf16bdaf99052569581de2dcb3e31a53a790600090a250565b6000546001600160a01b031633146114135760405162461bcd60e51b815260040180806020018281038252602f815260200180612435602f913960400191505060405180910390fd5b565b60008142036114226118ee565b1080610dd65750501590565b6000806060600061154461144061199d565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b15801561147857600080fd5b505afa15801561148c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156114b557600080fd5b8101908080516040519392919084600160201b8211156114d457600080fd5b9083019060208201858111156114e957600080fd5b82518660208202830111600160201b8211171561150557600080fd5b82525081516020918201928201910280838360005b8381101561153257818101518382015260200161151a565b50505050905001604052505050611aa7565b815191935091506000805b828110156115875761157d85828151811061156657fe5b602002602001015183611c3f90919063ffffffff16565b915060010161154f565b50600080611593611c20565b6001600160a01b031663ad79a8586040518163ffffffff1660e01b8152600401604080518083038186803b1580156115ca57600080fd5b505afa1580156115de573d6000803e3d6000fd5b505050506040513d60408110156115f457600080fd5b5080516020909101519092509050611612838363ffffffff611c9916565b9250848061161d5750805b92975091955050505050509091565b825182518114611683576040805162461bcd60e51b815260206004820152601a60248201527f496e707574206172726179206c656e6774687320646966666572000000000000604482015290519081900360640190fd5b60008060606116928787611d28565b905060005b848110156117215760008882815181106116ad57fe5b6020026020010151905060008383815181106116c557fe5b602002602001015190506116f5600560008481526020019081526020016000205487611c3f90919063ffffffff16565b9550611707858263ffffffff611c3f16565b600092835260056020526040909220559250600101611697565b508183146117c9576004548084111561176b5760405162461bcd60e51b81526004018080602001828103825260238152602001806123dd6023913960400191505060405180910390fd5b61178b8361177f838763ffffffff611c9916565b9063ffffffff611c3f16565b60048190556040805182815290519192507f294a7c394e53042c7d754779562747d93b41db019dd4b970dd9b531db71be599919081900360200190a1505b84156117d8576117d88561137d565b50505050505050565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061182357fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015611862578160200160208202803883390190505b50905060005b83518110156118a45783818151811061187d57fe5b602002602001015182828151811061189157fe5b6020908102919091010152600101611868565b5060005b82518110156118e7578281815181106118bd57fe5b60200260200101518282865101815181106118d457fe5b60209081029190910101526001016118a8565b5092915050565b60006118f86121eb565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7464656274536e617073686f745374616c6554696d6560581b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561196c57600080fd5b505afa158015611980573d6000803e3d6000fd5b505050506040513d602081101561199657600080fd5b5051905090565b6000610cae6524b9b9bab2b960d11b612204565b60606000825190506060816040519080825280602002602001820160405280156119e5578160200160208202803883390190505b50905060005b82811015611a395760056000868381518110611a0357fe5b6020026020010151815260200190815260200160002054828281518110611a2657fe5b60209081029190910101526001016119eb565b509392505050565b6000546001600160a01b0316331461141357611a5b6122e1565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015611a9357600080fd5b505afa158015610aa7573d6000803e3d6000fd5b6060600060606000611ab7611cf6565b6001600160a01b031663c8e5bbd5866040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611b15578181015183820152602001611afd565b505050509050019250505060006040518083038186803b158015611b3857600080fd5b505afa158015611b4c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015611b7557600080fd5b8101908080516040519392919084600160201b821115611b9457600080fd5b908301906020820185811115611ba957600080fd5b82518660208202830111600160201b82111715611bc557600080fd5b82525081516020918201928201910280838360005b83811015611bf2578181015183820152602001611bda565b50505050919091016040525060200151929450919250611c16915086905083611d28565b9350915050915091565b6000610cae7021b7b63630ba32b930b626b0b730b3b2b960791b612204565b600082820183811015610dd3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115611cf0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000610cae6c45786368616e6765526174657360981b612204565b6000610cae6822bc31b430b733b2b960b91b612204565b6060600083519050606081604051908082528060200260200182016040528015611d5c578160200160208202803883390190505b5090506060611d6961199d565b6001600160a01b0316631db63a33876040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015611dc7578181015183820152602001611daf565b505050509050019250505060006040518083038186803b158015611dea57600080fd5b505afa158015611dfe573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015611e2757600080fd5b8101908080516040519392919084600160201b821115611e4657600080fd5b908301906020820185811115611e5b57600080fd5b82518660208202830111600160201b82111715611e7757600080fd5b82525081516020918201928201910280838360005b83811015611ea4578181015183820152602001611e8c565b50505050905001604052505050905060008090505b838110156121e0576000878281518110611ecf57fe5b602002602001015190506000838381518110611ee757fe5b6020026020010151905060006001600160a01b0316816001600160a01b03161415611f50576040805162461bcd60e51b8152602060048201526014602482015273141e5b9d1a08191bd95cc81b9bdd08195e1a5cdd60621b604482015290519081900360640190fd5b6000816001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f8b57600080fd5b505afa158015611f9f573d6000803e3d6000fd5b505050506040513d6020811015611fb557600080fd5b50519050611fc1611c20565b6001600160a01b03166342e32f13846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561200457600080fd5b505afa158015612018573d6000803e3d6000fd5b505050506040513d602081101561202e57600080fd5b5051156120d657600061203f611c20565b6001600160a01b031663d2f00475856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561208257600080fd5b505afa158015612096573d6000803e3d6000fd5b505050506040513d60208110156120ac57600080fd5b50519050818111156120c157600091506120d4565b6120d1828263ffffffff611c9916565b91505b505b631c1554d160e21b831480806120f25750630e08aa8960e31b84145b156121935760008161210b576121066122fb565b612113565b612113612318565b90506000816001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b15801561215057600080fd5b505afa158015612164573d6000803e3d6000fd5b505050506040513d602081101561217a57600080fd5b5051905061218e848263ffffffff611c9916565b935050505b6121b98a86815181106121a257fe5b60200260200101518361233990919063ffffffff16565b8786815181106121c557fe5b6020908102919091010152505060019092019150611eb99050565b509095945050505050565b6000610cae6e466c657869626c6553746f7261676560881b5b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816118e75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156122a657818101518382015260200161228e565b50505050905090810190601f1680156122d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000610cae6b53797374656d53746174757360a01b612204565b6000610cae6e115d1a195c90dbdb1b185d195c985b608a1b612204565b6000610cae72115d1a195c90dbdb1b185d195c985b1c1554d1606a1b612204565b6000610dd38383670de0b6b3a7640000848067016345785d8a000061235e8686612383565b8161236557fe5b0490506005600a82061061237757600a015b600a9004949350505050565b60008261239257506000610dd6565b8282028284828161239f57fe5b0414610dd35760405162461bcd60e51b81526004018080602001828103825260218152602001806124646021913960400191505060405180910390fdfe4361636865642070796e74682073756d206578636565647320746f74616c2064656274596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7753656e646572206973206e6f7420497373756572206f722045786368616e676572206f722070796e746870555344a265627a7a723158201255a1e8b8b81586db1e0d227fdf2a31ece8463f93252df7378453a2857bf43264736f6c63430005100032",
			"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": "0x850da0bdf50e338a491a002d059f85f4c6ba02415b20dfadafb515971dbad3ae",
				"urls": [
					"bzz-raw://f1629988ddb23e1356f01ca96487fc01adea7087ea8db23e8a46824b2d05d1bf",
					"dweb:/ipfs/QmWaNxgH9xvDjtpvcDZZ5jvtyJ7MgnAuaGufEsKXZb3wGZ"
				]
			},
			"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": "0x850da0bdf50e338a491a002d059f85f4c6ba02415b20dfadafb515971dbad3ae",
						"urls": [
							"bzz-raw://f1629988ddb23e1356f01ca96487fc01adea7087ea8db23e8a46824b2d05d1bf",
							"dweb:/ipfs/QmWaNxgH9xvDjtpvcDZZ5jvtyJ7MgnAuaGufEsKXZb3wGZ"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangerWithVirtualPynth": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005b4038038062005b40833981810160405260408110156200003757600080fd5b50805160209091015181818080836001600160a01b038116620000a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050505050615a1080620001306000396000f3fe60806040523480156200001157600080fd5b5060043610620001f05760003560e01c80636a1c475811620001115780638da5cb5b11620000a5578063d6f32e06116200007b578063d6f32e061462000591578063dfffca7614620005c0578063f39952241462000613578063f450aa34146200067d57620001f0565b80638da5cb5b146200055d578063a4a9c2661462000567578063c193f0d8146200058757620001f0565b80637dd1a57a11620000e75780637dd1a57a146200048457806386baa45c14620004a45780638925711714620004f7578063899ffef4146200050157620001f0565b80636a1c4758146200042b57806374185360146200047057806379ba5097146200047a57620001f0565b80631b16802c11620001895780633fa70f45116200015f5780633fa70f4514620003b65780634c268fc814620003c057806353a47bb714620003fb57806357630a40146200040557620001f0565b80631b16802c146200035f5780632af64bd3146200038e578063372a395a14620003ac57620001f0565b80630aed5b4611620001cb5780630aed5b4614620002a15780631627540c14620002c357806319d5c66514620002ec5780631a5c6095146200033957620001f0565b806304f3bcec14620001f5578063059c29ec146200021b5780630a1e187d146200025c575b600080fd5b620001ff620006a9565b604080516001600160a01b039092168252519081900360200190f35b6200024a600480360360408110156200023357600080fd5b506001600160a01b038135169060200135620006b8565b60408051918252519081900360200190f35b6200024a600480360360a08110156200027457600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080909101351662000763565b620002c160048036036020811015620002b957600080fd5b50356200086e565b005b620002c160048036036020811015620002db57600080fd5b50356001600160a01b031662000ae3565b6200031b600480360360408110156200030457600080fd5b506001600160a01b03813516906020013562000b41565b60408051938452602084019290925282820152519081900360600190f35b6200024a600480360360408110156200035157600080fd5b508035906020013562000b61565b6200031b600480360360408110156200037757600080fd5b506001600160a01b03813516906020013562000b6f565b6200039862000bf6565b604080519115158252519081900360200190f35b6200024a62000d0c565b6200024a62000d1d565b6200024a60048036036080811015620003d857600080fd5b506001600160a01b03813516906020810135906040810135906060013562000d22565b620001ff62000e4e565b620002c1600480360360408110156200041d57600080fd5b508035906020013562000e5d565b6200024a600480360360a08110156200044357600080fd5b506001600160a01b0381358116916020810135909116906040810135906060810135906080013562000f29565b620002c162001107565b620002c1620012da565b6200024a600480360360208110156200049c57600080fd5b503562001398565b6200024a600480360360e0811015620004bc57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c00135620013aa565b6200024a620014c4565b6200050b620014d0565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015620005495781810151838201526020016200052f565b505050509050019250505060405180910390f35b620001ff6200168d565b62000398600480360360208110156200057f57600080fd5b50356200169c565b62000398620016f9565b6200039860048036036040811015620005a957600080fd5b506001600160a01b03813516906020013562001705565b6200024a600480360360e0811015620005d857600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c001356200173d565b6200065c600480360360c08110156200062b57600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a0013562001928565b604080519283526001600160a01b0390911660208301528051918290030190f35b6200031b600480360360608110156200069557600080fd5b508035906020810135906040013562001a4d565b6002546001600160a01b031681565b60006200075a620006c862001a6f565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156200072657600080fd5b505afa1580156200073b573d6000803e3d6000fd5b505050506040513d60208110156200075257600080fd5b505162001a8c565b90505b92915050565b6000806200077062001af6565b9050336001600160a01b03821614806200080157506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b158015620007d057600080fd5b505afa158015620007e5573d6000803e3d6000fd5b505050506040513d6020811015620007fc57600080fd5b505114155b6200083e5760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b6000620008518888888888600062001b11565b50909350905062000863818562001f56565b505095945050505050565b620008786200200e565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b158015620008b157600080fd5b505afa158015620008c6573d6000803e3d6000fd5b5050505060006001600160a01b0316620008df6200202a565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200092357600080fd5b505afa15801562000938573d6000803e3d6000fd5b505050506040513d60208110156200094f57600080fd5b50516001600160a01b031614156200099e576040805162461bcd60e51b815260206004820152600d60248201526c09cde40e6eac6d040e0f2dce8d609b1b604482015290519081900360640190fd5b62000a2581620009ad62002040565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620009f157600080fd5b505afa15801562000a06573d6000803e3d6000fd5b505050506040513d602081101562000a1d57600080fd5b50516200205d565b62000a6e576040805162461bcd60e51b8152602060048201526014602482015273141e5b9d1a081c1c9a58d9481a5cc81d985b1a5960621b604482015290519081900360640190fd5b62000a786200200e565b6001600160a01b031663631070fc8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801562000ac757600080fd5b505af115801562000adc573d6000803e3d6000fd5b5050505050565b62000aed620022cb565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b600080600062000b52858562002318565b50919790965090945092505050565b60006200075a83836200260d565b600080600062000b7e6200200e565b6001600160a01b0316631d7e7789856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801562000bc257600080fd5b505afa15801562000bd7573d6000803e3d6000fd5b5050505062000be985856001620026d6565b9250925092509250925092565b6000606062000c04620014d0565b905060005b815181101562000d0257600082828151811062000c2257fe5b6020908102919091018101516000818152600383526040908190205460025482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801562000c8b57600080fd5b505afa15801562000ca0573d6000803e3d6000fd5b505050506040513d602081101562000cb757600080fd5b50516001600160a01b031614158062000ce557506000818152600360205260409020546001600160a01b0316155b1562000cf8576000935050505062000d09565b5060010162000c09565b5060019150505b90565b600062000d1862002a6c565b905090565b604181565b81600062000d2f6200202a565b6001600160a01b03166357ad4663866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562000d7357600080fd5b505afa15801562000d88573d6000803e3d6000fd5b505050506040513d602081101562000d9f57600080fd5b5051604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801562000dec57600080fd5b505afa15801562000e01573d6000803e3d6000fd5b505050506040513d602081101562000e1857600080fd5b505190508082111562000e29578091505b821562000e455762000e42828463ffffffff62002b2816565b91505b50949350505050565b6001546001600160a01b031681565b600062000e6962002040565b9050336001600160a01b0382161462000ec9576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b6000821162000f16576040805162461bcd60e51b8152602060048201526014602482015273052617465206d7573742062652061626f766520360641b604482015290519081900360640190fd5b5060009182526004602052604090912055565b60008062000f3662001af6565b9050336001600160a01b038216148062000fc757506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b15801562000f9657600080fd5b505afa15801562000fab573d6000803e3d6000fd5b505050506040513d602081101562000fc257600080fd5b505114155b620010045760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b6200100e62002b83565b6040805163faf431bb60e01b81526001600160a01b038a8116600483015289811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b1580156200106257600080fd5b505afa15801562001077573d6000803e3d6000fd5b505050506040513d60208110156200108e57600080fd5b5051620010e2576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b6000620010f5888787878c600062001b11565b50909350905062000863818962001f56565b606062001113620014d0565b905060005b8151811015620012d65760008282815181106200113157fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015620011e9578181015183820152602001620011cf565b50505050905090810190601f168015620012175780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b1580156200123657600080fd5b505afa1580156200124b573d6000803e3d6000fd5b505050506040513d60208110156200126257600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010162001118565b5050565b6001546001600160a01b03163314620013255760405162461bcd60e51b8152600401808060200182810382526035815260200180620058cb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b600080620013b762001af6565b9050336001600160a01b03821614806200144857506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b1580156200141757600080fd5b505afa1580156200142c573d6000803e3d6000fd5b505050506040513d60208110156200144357600080fd5b505114155b620014855760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b6000620014988a8a8a8a8a600062001b11565b509093509050620014aa818662001f56565b620014b784888562002ba4565b5050979650505050505050565b600062000d1862002c22565b606080620014dd62002c9f565b60408051600980825261014082019092529192506060919060208201610120803883390190505090506b53797374656d53746174757360a01b816000815181106200152457fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106200154f57fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106200157a57fe5b6020026020010181815250506a5065726946696e616e636560a81b81600381518110620015a357fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110620015c857fe5b6020026020010181815250506d54726164696e675265776172647360901b81600581518110620015f457fe5b6020026020010181815250507044656c6567617465417070726f76616c7360781b816006815181106200162357fe5b6020026020010181815250506524b9b9bab2b960d11b816007815181106200164757fe5b6020026020010181815250506844656274436163686560b81b816008815181106200166e57fe5b60200260200101818152505062001686828262002cf1565b9250505090565b6000546001600160a01b031681565b6000620016f182620016ad62002040565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620009f157600080fd5b90505b919050565b600062000d1862002db6565b6000620017138383620006b8565b1562001722575060016200075d565b600062001730848462002318565b5050501515949350505050565b6000806200174a62001af6565b9050336001600160a01b0382161480620017db57506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b158015620017aa57600080fd5b505afa158015620017bf573d6000803e3d6000fd5b505050506040513d6020811015620017d657600080fd5b505114155b620018185760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b6200182262002b83565b6040805163faf431bb60e01b81526001600160a01b038c811660048301528b811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b1580156200187657600080fd5b505afa1580156200188b573d6000803e3d6000fd5b505050506040513d6020811015620018a257600080fd5b5051620018f6576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b6000620019098a8989898e600062001b11565b5090935090506200191b818662001f56565b620014b784878562002ba4565b60008060006200193762001af6565b9050336001600160a01b0382161480620019c857506040805163c9a2f3ad60e01b815233600482015290516000916001600160a01b0384169163c9a2f3ad91602480820192602092909190829003018186803b1580156200199757600080fd5b505afa158015620019ac573d6000803e3d6000fd5b505050506040513d6020811015620019c357600080fd5b505114155b62001a055760405162461bcd60e51b8152600401808060200182810382526047815260200180620059006047913960600191505060405180910390fd5b600062001a188a8a8a8a8a600162001b11565b919550909350905062001a2c818762001f56565b841562001a405762001a4085888662002ba4565b5050965096945050505050565b600080600062001a5f86868662002e37565b5092999198509650945050505050565b600062000d186c45786368616e6765537461746560981b62002f1c565b60008062001a9962002c22565b905082158062001aba575062001ab6838263ffffffff62002b2816565b4210155b1562001acb576000915050620016f4565b62001aef4262001ae2858463ffffffff62002b2816565b9063ffffffff62002ffd16565b9392505050565b600062000d186a5065726946696e616e636560a81b62002f1c565b600080600062001b238888886200305b565b600062001b32888b8b62003241565b90508062001b4b57506000925082915081905062001f4a565b600080600062001b5d848d8c62002e37565b939a5091985094509250905062001b758c836200327e565b8062001b88575062001b888a826200327e565b1562001ba357506000955085945084935062001f4a92505050565b62001bb48c8e868d8b8e8e62003321565b94506001600160a01b0385161562001bca578498505b851562001e395762001bdb62002040565b6001600160a01b031663654a60ac8b88631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b15801562001c3657600080fd5b505afa15801562001c4b573d6000803e3d6000fd5b505050506040513d602081101562001c6257600080fd5b5051955062001c706200202a565b6001600160a01b03166357ad4663631c1554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801562001cbb57600080fd5b505afa15801562001cd0573d6000803e3d6000fd5b505050506040513d602081101562001ce757600080fd5b50516001600160a01b031663867904b462001d0162003616565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801562001d3a57600080fd5b505afa15801562001d4f573d6000803e3d6000fd5b505050506040513d602081101562001d6657600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b15801562001db657600080fd5b505af115801562001dcb573d6000803e3d6000fd5b5050505062001dd962003616565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801562001e1f57600080fd5b505af115801562001e34573d6000803e3d6000fd5b505050505b62001e6d60405180604001604052808e81526020018c8152506040518060400160405280858152602001848152506200362d565b62001e7762001af6565b6001600160a01b0316631b99084c8e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b15801562001f0957600080fd5b505af115801562001f1e573d6000803e3d6000fd5b50505050600062001f2e62002c22565b111562001f455762001f45898d868d8b8862003902565b505050505b96509650969350505050565b60008211801562001f6f57506001600160a01b03811615155b801562001f81575062001f8162002db6565b15620012d65762001f9162003b1f565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801562001ff157600080fd5b505af115801562002006573d6000803e3d6000fd5b505050505050565b600062000d186b53797374656d53746174757360a01b62002f1c565b600062000d186524b9b9bab2b960d11b62002f1c565b600062000d186c45786368616e6765526174657360981b62002f1c565b6000816200206e575060016200075d565b6000838152600460205260409020548015620020995762002090818462003b3d565b9150506200075d565b6060620020a562002040565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b158015620020f257600080fd5b505afa15801562002107573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160409081528110156200213157600080fd5b81019080805160405193929190846401000000008211156200215257600080fd5b9083019060208201858111156200216857600080fd5b82518660208202830111640100000000821117156200218657600080fd5b82525081516020918201928201910280838360005b83811015620021b55781810151838201526020016200219b565b5050505090500160405260200180516040519392919084640100000000821115620021df57600080fd5b908301906020820185811115620021f557600080fd5b82518660208202830111640100000000821117156200221357600080fd5b82525081516020918201928201910280838360005b838110156200224257818101518382015260200162002228565b505050509050016040525050505090506000600190505b8151811015620022bf5760008282815181106200227257fe5b6020026020010151118015620022a35750620022a38282815181106200229457fe5b60200260200101518662003b3d565b15620022b657600193505050506200075d565b60010162002259565b50600095945050505050565b6000546001600160a01b03163314620023165760405162461bcd60e51b815260040180806020018281038252602f81526020018062005947602f913960400191505060405180910390fd5b565b600080600060606200232962001a6f565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156200238757600080fd5b505afa1580156200239c573d6000803e3d6000fd5b505050506040513d6020811015620023b357600080fd5b5051604080518281526020808402820101909152909250606090838015620023f857816020015b620023e4620044e8565b815260200190600190039081620023da5790505b50905060005b83811015620026015760008062002414620044e8565b620024218b8b8662003ba7565b9050600080620024318362003cc9565b9150915060006200244162002040565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b158015620024b157600080fd5b505afa158015620024c6573d6000803e3d6000fd5b505050506040513d6020811015620024dd57600080fd5b50516080850151909150600090620024f790839062003e26565b90506200250985606001518262003b3d565b6200258a5780856060015111156200254e57606085015162002532908263ffffffff62002ffd16565b9650620025468d8863ffffffff62002b2816565b9c506200258a565b84606001518111156200258a5760608501516200257390829063ffffffff62002ffd16565b9550620025878c8763ffffffff62002b2816565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a00151815250898981518110620025e157fe5b6020026020010181905250505050505050508080600101915050620023fe565b50905092959194509250565b60006200261a8262003ebf565b9050631c1554d160e21b831480620026385750631c1554d160e21b82145b1562002644576200075d565b607360f81b6001600160f81b0319600085901a60f81b161480156200267d5750606960f81b6001600160f81b0319600084901a60f81b16145b80620026bd5750606960f81b6001600160f81b0319600085901a60f81b16148015620026bd5750607360f81b6001600160f81b0319600084901a60f81b16145b156200075d576200075a81600263ffffffff62003f9c16565b6000806000620026e78686620006b8565b15620027255760405162461bcd60e51b8152600401808060200182810382526023815260200180620059b96023913960400191505060405180910390fd5b60008060006060620027388a8a62002318565b93509350935093508284111562002770576200275b848463ffffffff62002ffd16565b96506200276a8a8a8962003ffa565b6200279a565b838311156200279a576200278b838563ffffffff62002ffd16565b95506200279a8a8a8862004154565b87156200288957604080516001808252818301909252606091602080830190803883390190505090508981600081518110620027d257fe5b602002602001018181525050620027e8620042ae565b6001600160a01b031663fa9f18d3826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015620028485781810151838201526020016200282e565b5050505090500192505050600060405180830381600087803b1580156200286e57600080fd5b505af115801562002883573d6000803e3d6000fd5b50505050505b60005b8151811015620029d8578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110620028ce57fe5b602002602001015160000151848481518110620028e757fe5b6020026020010151602001518585815181106200290057fe5b6020026020010151604001518686815181106200291957fe5b6020026020010151606001518787815181106200293257fe5b6020026020010151608001518888815181106200294b57fe5b602002602001015160a001518989815181106200296457fe5b602002602001015160c001518a8a815181106200297d57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a26001016200288c565b50819450620029e662001a6f565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801562002a4657600080fd5b505af115801562002a5b573d6000803e3d6000fd5b505050505050505093509350939050565b600062002a78620042c7565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002af557600080fd5b505afa15801562002b0a573d6000803e3d6000fd5b505050506040513d602081101562002b2157600080fd5b5051905090565b6000828201838110156200075a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600062000d187044656c6567617465417070726f76616c7360781b62002f1c565b62002bae62001af6565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b15801562002c0457600080fd5b505af115801562002c19573d6000803e3d6000fd5b50505050505050565b600062002c2e620042c7565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7077616974696e67506572696f645365637360781b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002af557600080fd5b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811062002ce257fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801562002d22578160200160208202803883390190505b50905060005b835181101562002d685783818151811062002d3f57fe5b602002602001015182828151811062002d5457fe5b602090810291909101015260010162002d28565b5060005b825181101562002daf5782818151811062002d8357fe5b602002602001015182828651018151811062002d9b57fe5b602090810291909101015260010162002d6c565b5092915050565b600062002dc2620042c7565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b741d1c98591a5b99d4995dd85c991cd15b98589b1959605a1b6040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562002af557600080fd5b60008060008060008062002e4a62002040565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b15801562002e9e57600080fd5b505afa15801562002eb3573d6000803e3d6000fd5b505050506040513d606081101562002eca57600080fd5b5080516020820151604090920151919450909250905062002eec88886200260d565b935062002efa818562003e26565b955062002f0e818763ffffffff62002ffd16565b945050939792965093509350565b600081815260036020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b0316908162002daf5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101562002fc157818101518382015260200162002fa7565b50505050905090810190601f16801562002fef5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60008282111562003055576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b80831415620030a7576040805162461bcd60e51b8152602060048201526013602482015272086c2dc4ee840c4ca40e6c2daca40e0f2dce8d606b1b604482015290519081900360640190fd5b60008211620030eb576040805162461bcd60e51b815260206004820152600b60248201526a16995c9bc8185b5bdd5b9d60aa1b604482015290519081900360640190fd5b604080516002808252606080830184529260208301908038833901905050905083816000815181106200311a57fe5b60200260200101818152505081816001815181106200313557fe5b6020026020010181815250506200314b62002040565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015620031ab57818101518382015260200162003191565b505050509050019250505060206040518083038186803b158015620031cf57600080fd5b505afa158015620031e4573d6000803e3d6000fd5b505050506040513d6020811015620031fb57600080fd5b5051156200323b5760405162461bcd60e51b8152600401808060200182810382526022815260200180620059976022913960400191505060405180910390fd5b50505050565b60008060006200325485856000620026d6565b88955090935091505080156200327557620032728585888562000d22565b92505b50509392505050565b60006200328c83836200205d565b156200330e576200329c6200200e565b6001600160a01b031663631070fc8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015620032eb57600080fd5b505af115801562003300573d6000803e3d6000fd5b50505050600190506200075d565b6000928352600460205260409092205590565b60006200332d6200202a565b6001600160a01b03166357ad4663896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200337157600080fd5b505afa15801562003386573d6000803e3d6000fd5b505050506040513d60208110156200339d57600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b158015620033f257600080fd5b505af115801562003407573d6000803e3d6000fd5b505050506000620034176200202a565b6001600160a01b03166357ad4663876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200345b57600080fd5b505afa15801562003470573d6000803e3d6000fd5b505050506040513d60208110156200348757600080fd5b5051905082156200358f5760008190506200350c816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b158015620034d557600080fd5b505afa158015620034ea573d6000803e3d6000fd5b505050506040513d60208110156200350157600080fd5b505186888a620042e6565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156200356f57600080fd5b505af115801562003584573d6000803e3d6000fd5b50505050506200360a565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015620035f057600080fd5b505af115801562003605573d6000803e3d6000fd5b505050505b50979650505050505050565b600062000d1866119959541bdbdb60ca1b62002f1c565b8151600090631c1554d160e21b14806200365157506020830151631c1554d160e21b145b90506000816200366357600362003666565b60025b60ff16905060608160405190808252806020026020018201604052801562003698578160200160208202803883390190505b509050846000602002015181600081518110620036b157fe5b6020908102919091010152846001602002015181600181518110620036d257fe5b6020026020010181815250506060826040519080825280602002602001820160405280156200370b578160200160208202803883390190505b5090508460006020020151816000815181106200372457fe5b60209081029190910101528460016020020151816001815181106200374557fe5b602002602001018181525050836200380957631c1554d160e21b826002815181106200376d57fe5b60200260200101818152505073__$4ebb82ca590d84b81fb31f12bec06880a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620037be57600080fd5b505af4158015620037d3573d6000803e3d6000fd5b505050506040513d6020811015620037ea57600080fd5b5051815182906002908110620037fc57fe5b6020026020010181815250505b62003813620042ae565b6001600160a01b0316639f98fb4983836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015620038785781810151838201526020016200385e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015620038b95781810151838201526020016200389f565b50505050905001945050505050600060405180830381600087803b158015620038e157600080fd5b505af1158015620038f6573d6000803e3d6000fd5b50505050505050505050565b60006200390e62002040565b90506000816001600160a01b0316637a018a1e886040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200395757600080fd5b505afa1580156200396c573d6000803e3d6000fd5b505050506040513d60208110156200398357600080fd5b505160408051633d00c50f60e11b81526004810188905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015620039d357600080fd5b505afa158015620039e8573d6000803e3d6000fd5b505050506040513d6020811015620039ff57600080fd5b5051905062003a0d62001a6f565b60408051630f2a761760e21b81526001600160a01b038c81166004830152602482018c9052604482018b9052606482018a90526084820189905260a482018890524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b15801562003a9357600080fd5b505af115801562003aa8573d6000803e3d6000fd5b5050604080518b8152602081018b90528082018a9052606081018990526080810188905260a0810186905260c0810185905290516001600160a01b038d1693507f62e40d554c7abcdd31074960d8347a2225daeb04d93bc748f049ba2ce946239892509081900360e00190a2505050505050505050565b600062000d186d54726164696e675265776172647360901b62002f1c565b600082158062003b4b575081155b1562003b5a575060016200075d565b60008383111562003b7f5762003b77838563ffffffff6200442116565b905062003b94565b62003b91848463ffffffff6200442116565b90505b62003b9e62002a6c565b11159392505050565b62003bb1620044e8565b60008060008060008060008062003bc762001a6f565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b15801562003c2e57600080fd5b505afa15801562003c43573d6000803e3d6000fd5b505050506040513d61010081101562003c5b57600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b600080600062003cd862002040565b9050600062003ce662002c22565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801562003d5157600080fd5b505afa15801562003d66573d6000803e3d6000fd5b505050506040513d602081101562003d7d57600080fd5b505160408087015160e088015160a0890151835163084f235160e11b81526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b15801562003dee57600080fd5b505afa15801562003e03573d6000803e3d6000fd5b505050506040513d602081101562003e1a57600080fd5b50519395939450505050565b60006200075a62003eb18373__$4ebb82ca590d84b81fb31f12bec06880a9$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801562003e7657600080fd5b505af415801562003e8b573d6000803e3d6000fd5b505050506040513d602081101562003ea257600080fd5b50519063ffffffff62002ffd16565b849063ffffffff6200444f16565b600062003ecb620042c7565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b6e65786368616e67654665655261746560881b856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801562003f6857600080fd5b505afa15801562003f7d573d6000803e3d6000fd5b505050506040513d602081101562003f9457600080fd5b505192915050565b60008262003fad575060006200075d565b8282028284828162003fbb57fe5b04146200075a5760405162461bcd60e51b8152600401808060200182810382526021815260200180620059766021913960400191505060405180910390fd5b620040046200202a565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156200404857600080fd5b505afa1580156200405d573d6000803e3d6000fd5b505050506040513d60208110156200407457600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b158015620040c957600080fd5b505af1158015620040de573d6000803e3d6000fd5b50505050620040ec62001af6565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002c0457600080fd5b6200415e6200202a565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015620041a257600080fd5b505afa158015620041b7573d6000803e3d6000fd5b505050506040513d6020811015620041ce57600080fd5b50516040805163219e412d60e21b81526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b1580156200422357600080fd5b505af115801562004238573d6000803e3d6000fd5b505050506200424662001af6565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801562002c0457600080fd5b600062000d186844656274436163686560b81b62002f1c565b600062000d186e466c657869626c6553746f7261676560881b62002f1c565b6000606960f81b6001600160f81b031983831a60f81b16141562004351576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732070796e746800000000604482015290519081900360640190fd5b60025460405186916001600160a01b031690869086908690620043749062004533565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f080158015620043c3573d6000803e3d6000fd5b50604080516001600160a01b03808416825260208201869052818301879052915192935081871692918816917f40d987c0a731a91929904e2b9a1a44b1aa1c6ab528b7ee2e35652fe1691cbd369181900360600190a3949350505050565b60006200075a826200444285670de0b6b3a764000063ffffffff62003f9c16565b9063ffffffff6200447c16565b6000670de0b6b3a76400006200446c848463ffffffff62003f9c16565b816200447457fe5b049392505050565b6000808211620044d3576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481620044df57fe5b04949350505050565b60405180610100016040528060008019168152602001600081526020016000801916815260200160008152602001600081526020016000815260200160008152602001600081525090565b61138980620045428339019056fe60806040526004805460ff60a01b1916905534801561001d57600080fd5b50604051611389380380611389833981810160405260a081101561004057600080fd5b508051602082015160408301516060840151608090940151600380546001600160a01b038087166001600160a01b03199283161790925560048054928616929091169190911790556007819055929391929091906100a783836001600160e01b036100b416565b506005555061020f915050565b6001600160a01b03821661010f576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b610128816002546101ae60201b610b011790919060201c565b6002556001600160a01b03821660009081526020818152604090912054610158918390610b016101ae821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b600082820183811015610208576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b61116b8061021e6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80633db3dc9b116100b85780638f7758391161007c5780638f7758391461036657806395d89b411461036e578063a457c2d714610376578063a9059cbb146103a2578063dbd06c85146103ce578063dd62ed3e146103d657610142565b80633db3dc9b146103005780634be37cea146103085780636a256b291461031057806370a082311461033857806378f2ac261461035e57610142565b806323b872dd1161010a57806323b872dd1461024a5780632c4e722e14610280578063313ce56714610288578063378dc3dc146102a657806339509351146102ae5780633af9e669146102da57610142565b806304f3bcec1461014757806306fdde031461016b578063095ea7b3146101e857806318160ddd146102285780631d0cbc8b14610242575b600080fd5b61014f610404565b604080516001600160a01b039092168252519081900360200190f35b610173610413565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ad578181015183820152602001610195565b50505050905090810190601f1680156101da5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610214600480360360408110156101fe57600080fd5b506001600160a01b03813516906020013561044d565b604080519115158252519081900360200190f35b610230610464565b60408051918252519081900360200190f35b61014f61046a565b6102146004803603606081101561026057600080fd5b506001600160a01b03813581169160208101359091169060400135610479565b6102306104d0565b6102906104df565b6040805160ff9092168252519081900360200190f35b6102306104e4565b610214600480360360408110156102c457600080fd5b506001600160a01b0381351690602001356104ea565b610230600480360360208110156102f057600080fd5b50356001600160a01b0316610526565b610230610531565b610230610537565b6103366004803603602081101561032657600080fd5b50356001600160a01b0316610541565b005b6102306004803603602081101561034e57600080fd5b50356001600160a01b03166105f5565b610214610610565b610214610620565b610173610630565b6102146004803603604081101561038c57600080fd5b506001600160a01b03813516906020013561065c565b610214600480360360408110156103b857600080fd5b506001600160a01b038135169060200135610698565b6102306106a5565b610230600480360360408110156103ec57600080fd5b506001600160a01b03813581169160200135166106ab565b6004546001600160a01b031681565b600754604080516d02b34b93a3ab0b610283cb73a34160951b6020820152602e8082019390935281518082039093018352604e0190525b90565b600061045a3384846106d6565b5060015b92915050565b60025490565b6003546001600160a01b031681565b60006104868484846107c2565b6001600160a01b0384166000908152600160209081526040808320338085529252909120546104c69186916104c1908663ffffffff61090416565b6106d6565b5060019392505050565b60006104da610961565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff610b0116565b600061045e82610b62565b60065481565b60006104da610b88565b610549610c22565b6003546001600160a01b031663a9059cbb8261056481610b62565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156105b357600080fd5b505af11580156105c7573d6000803e3d6000fd5b505050506040513d60208110156105dd57600080fd5b506105f29050816105ed816105f5565b610da2565b50565b6001600160a01b031660009081526020819052604090205490565b600061061a610b88565b15905090565b600454600160a01b900460ff1681565b60075460408051603b60f91b602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b0387168452909152812054909161045a9185906104c1908663ffffffff61090416565b600061045a3384846107c2565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b03831661071b5760405162461bcd60e51b81526004018080602001828103825260248152602001806111136024913960400191505060405180910390fd5b6001600160a01b0382166107605760405162461bcd60e51b815260040180806020018281038252602281526020018061108a6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108075760405162461bcd60e51b81526004018080602001828103825260258152602001806110ee6025913960400191505060405180910390fd5b6001600160a01b03821661084c5760405162461bcd60e51b81526004018080602001828103825260238152602001806110676023913960400191505060405180910390fd5b6001600160a01b038316600090815260208190526040902054610875908263ffffffff61090416565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546108aa908263ffffffff610b0116565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b60008282111561095b576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000600554600014156109765750600061044a565b600454600090600160a01b900460ff16610ae257600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b1580156109d557600080fd5b505afa1580156109e9573d6000803e3d6000fd5b505050506040513d60208110156109ff57600080fd5b50519050600080610a0e610e7b565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610a6d57600080fd5b505afa158015610a81573d6000803e3d6000fd5b505050506040513d6060811015610a9757600080fd5b50805160209091015190925090508115610ac257610abb838363ffffffff61090416565b9250610adb565b8015610adb57610ad8838263ffffffff610b0116565b92505b5050610ae7565b506006545b600554610afb90829063ffffffff610f0a16565b91505090565b600082820183811015610b5b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610b6e836105f5565b9050610b5b610b7b610961565b829063ffffffff610f1f16565b6000610b92610e7b565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610bf157600080fd5b505afa158015610c05573d6000803e3d6000fd5b505050506040513d6020811015610c1b57600080fd5b5051905090565b600454600160a01b900460ff1615610c3957610da0565b6004805460ff60a01b1916600160a01b179055610c54610e7b565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610cb557600080fd5b505af1158015610cc9573d6000803e3d6000fd5b505050506040513d6060811015610cdf57600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610d2c57600080fd5b505afa158015610d40573d6000803e3d6000fd5b505050506040513d6020811015610d5657600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610d84610464565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610de75760405162461bcd60e51b81526004018080602001828103825260218152602001806110cd6021913960400191505060405180910390fd5b600254610dfa908263ffffffff61090416565b6002556001600160a01b038216600090815260208190526040902054610e26908263ffffffff61090416565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b600480546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b9381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610bf157600080fd5b6000610b5b8383670de0b6b3a7640000610f34565b6000610b5b8383670de0b6b3a7640000610f78565b600080610f5a84610f4e87600a870263ffffffff610fa316565b9063ffffffff610ffc16565b90506005600a825b0610610f6c57600a015b600a9004949350505050565b600080600a8304610f8f868663ffffffff610fa316565b81610f9657fe5b0490506005600a82610f62565b600082610fb25750600061045e565b82820282848281610fbf57fe5b0414610b5b5760405162461bcd60e51b81526004018080602001828103825260218152602001806110ac6021913960400191505060405180910390fd5b6000808211611052576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161105d57fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a7231582019ae5fee0f44923af6712c37749f952fcba1f43f6917fe728ed0176039d6001d64736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c79207065726946696e616e6365206f7220612070796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a723158208cb9e2a4f6e47ffc959147a1d0a40dba9375aa2948b27e61bb66f6793aaf61a864736f6c63430005100032",
			"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": "0x41a9fd0463d739d445f1f141b005945565dabb885919f756e97cc736eac98644",
				"urls": [
					"bzz-raw://78eaa66f191464aadc2e64980a14fa24146eeda5f733dee3429186ece13cb7a8",
					"dweb:/ipfs/QmYS7j3UvQ8A1sG6U3vdbCqvDs8a93ZpPPcWhdE5VW4fFT"
				]
			},
			"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": "0x41a9fd0463d739d445f1f141b005945565dabb885919f756e97cc736eac98644",
						"urls": [
							"bzz-raw://78eaa66f191464aadc2e64980a14fa24146eeda5f733dee3429186ece13cb7a8",
							"dweb:/ipfs/QmYS7j3UvQ8A1sG6U3vdbCqvDs8a93ZpPPcWhdE5VW4fFT"
						]
					}
				},
				"version": 1
			}
		},
		"ExchangeState": {
			"bytecode": "6080604052600c60045534801561001557600080fd5b50604051610bc5380380610bc58339818101604052604081101561003857600080fd5b50805160209091015180826001600160a01b03811661009e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610148576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050610a1a806101ab6000396000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c806379ba50971161008c578063b44e975311610066578063b44e975314610290578063cd8b94dc146102bc578063d0d3d62a146102d9578063f1406dc814610305576100ea565b806379ba5097146102785780638da5cb5b14610280578063aefc4ccb14610288576100ea565b80633ca9d85c116100c85780633ca9d85c146101a457806352f445ca146101fc57806353a47bb7146102225780636e13fe7614610246576100ea565b80630d40d0cf146100ef57806315987eb6146101095780631627540c1461017c575b600080fd5b6100f7610331565b60408051918252519081900360200190f35b61013b6004803603606081101561011f57600080fd5b506001600160a01b038135169060208101359060400135610337565b604080519889526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b6101a26004803603602081101561019257600080fd5b50356001600160a01b03166103dc565b005b6101a260048036036101208110156101bb57600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a08101359060c08101359060e0810135906101000135610438565b6101a26004803603602081101561021257600080fd5b50356001600160a01b03166105aa565b61022a610606565b604080516001600160a01b039092168252519081900360200190f35b61013b6004803603606081101561025c57600080fd5b506001600160a01b038135169060208101359060400135610615565b6101a261067f565b61022a61073b565b61022a61074a565b6100f7600480360360408110156102a657600080fd5b506001600160a01b038135169060200135610759565b6101a2600480360360208110156102d257600080fd5b5035610781565b6101a2600480360360408110156102ef57600080fd5b506001600160a01b03813516906020013561078e565b6100f76004803603604081101561031b57600080fd5b506001600160a01b038135169060200135610807565b60045481565b6000806000806000806000806000600360008d6001600160a01b03166001600160a01b0316815260200190815260200160002060008c81526020019081526020016000208a8154811061038657fe5b906000526020600020906008020190508060000154816001015482600201548360030154846004015485600501548660060154876007015498509850985098509850985098509850509397509397509397509397565b6103e461088d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146104815760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6004546001600160a01b038a1660009081526003602090815260408083208a8452909152902054106104fa576040805162461bcd60e51b815260206004820152601860248201527f4d6178207175657565206c656e67746820726561636865640000000000000000604482015290519081900360640190fd5b6001600160a01b03909816600090815260036020818152604080842089855282528084208151610100810183529b8c528b83019a8b52908b0198895260608b0197885260808b0196875260a08b0195865260c08b0194855260e08b019b8c5280546001818101835591855291909320995160089091029099019889559651908801559351600287015591519385019390935591516004840155905160058301555160068201559051600790910155565b6105b261088d565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6003602052826000526040600020602052816000526040600020818154811061063a57fe5b60009182526020909120600890910201805460018201546002830154600384015460048501546005860154600687015460079097015495995093975091955093909288565b6001546001600160a01b031633146106c85760405162461bcd60e51b815260040180806020018281038252603581526020018061094e6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b031681565b6001600160a01b03919091166000908152600360209081526040808320938352929052205490565b61078961088d565b600455565b6002546001600160a01b031633146107d75760405162461bcd60e51b81526004018080602001828103825260348152602001806109b26034913960400191505060405180910390fd5b6001600160a01b03821660009081526003602090815260408083208484529091528120610803916108d8565b5050565b6001600160a01b0382166000908152600360209081526040808320848452909152812081805b8254811015610884578183828154811061084357fe5b906000526020600020906008020160050154111561087c5782818154811061086757fe5b90600052602060002090600802016005015491505b60010161082d565b50949350505050565b6000546001600160a01b031633146108d65760405162461bcd60e51b815260040180806020018281038252602f815260200180610983602f913960400191505060405180910390fd5b565b50805460008255600802906000526020600020908101906108f991906108fc565b50565b61094a91905b808211156109465760008082556001820181905560028201819055600382018190556004820181905560058201819055600682018190556007820155600801610902565b5090565b9056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6ea265627a7a7231582052f349782cf5c8eaa9d7efc04abe8807d864391dc840cfe0e8cf396ff565eef864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"name": "appendExchangeEntry",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3ca9d85c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "exchanges",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6e13fe76"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "index",
							"type": "uint256"
						}
					],
					"name": "getEntryAt",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "src",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "dest",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForSrc",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "roundIdForDest",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x15987eb6"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getLengthOfEntries",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb44e9753"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getMaxTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf1406dc8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "maxEntriesInQueue",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0d40d0cf"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removeEntries",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd0d3d62a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_maxEntriesInQueue",
							"type": "uint256"
						}
					],
					"name": "setMaxEntriesInQueue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcd8b94dc"
				}
			],
			"source": {
				"keccak256": "0x467497b23dc7a493e04190e616c4c8d5cd0cfe6d6a72727e49ea5908ba1befb6",
				"urls": [
					"bzz-raw://9a48701ab79b8b88c37c06e986769718458ff1495db18e82c9880ef4ab211bc3",
					"dweb:/ipfs/QmcKGUsbzSQSceqj3idb1aKNTuJiamBCyaVWqnuXBM6nbB"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExchangeState.sol": "ExchangeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExchangeState.sol": {
						"keccak256": "0x467497b23dc7a493e04190e616c4c8d5cd0cfe6d6a72727e49ea5908ba1befb6",
						"urls": [
							"bzz-raw://9a48701ab79b8b88c37c06e986769718458ff1495db18e82c9880ef4ab211bc3",
							"dweb:/ipfs/QmcKGUsbzSQSceqj3idb1aKNTuJiamBCyaVWqnuXBM6nbB"
						]
					}
				},
				"version": 1
			}
		},
		"Issuer": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162005e9e38038062005e9e833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050615d72806200012c6000396000f3fe608060405234801561001057600080fd5b50600436106102e95760003560e01c80637418536011610191578063ae3bbbbb116100e3578063d37c4d8b11610097578063f023e8db11610071578063f023e8db146109ca578063f0617e5b146109ef578063f5adc4f514610a15576102e9565b8063d37c4d8b14610970578063d99947de1461099c578063dd3d2b2e146109a4576102e9565b8063becf5ff8116100c8578063becf5ff8146108e6578063c29ea3141461090c578063c9a2f3ad1461094a576102e9565b8063ae3bbbbb1461089a578063b42652e9146108c0576102e9565b806394955cec11610145578063a311c7c21161011f578063a311c7c2146107ff578063a5fdc5de14610825578063a63c4df41461084b576102e9565b806394955cec1461079657806398df0de2146107bc5780639df95f9f146107e2576102e9565b8063899ffef411610176578063899ffef4146107415780638d542eb3146107495780638da5cb5b1461078e576102e9565b8063741853601461073157806379ba509714610739576102e9565b80634c29b0af1161024a5780635543dadc116101fe578063614d08f8116101d8578063614d08f8146106ef5780636ac471c4146106f757806372cb051f14610729576102e9565b80635543dadc1461063657806357ad4663146106a65780635ba9f145146106c3576102e9565b8063506e40931161022f578063506e4093146105d057806353a47bb71461060857806355182ccb14610610576102e9565b80634c29b0af146105855780634d6d83a4146105a2576102e9565b80632ae78fdb116102a15780632da4e97c116102865780632da4e97c1461049a5780633b09280a146104fb57806344c2cd041461053f576102e9565b80632ae78fdb146104585780632af64bd314610492576102e9565b80631627540c116102d25780631627540c14610346578063171af0631461036c5780631db63a3314610398576102e9565b806304f3bcec146102ee57806308f95a6214610312575b600080fd5b6102f6610a1d565b604080516001600160a01b039092168252519081900360200190f35b6103446004803603606081101561032857600080fd5b506001600160a01b038135169060208101359060400135610a2c565b005b6103446004803603602081101561035c57600080fd5b50356001600160a01b0316610c94565b6103446004803603604081101561038257600080fd5b506001600160a01b038135169060200135610cf0565b610408600480360360208110156103ae57600080fd5b8101906020810181356401000000008111156103c957600080fd5b8201836020820111156103db57600080fd5b803590602001918460208302840111640100000000831117156103fd57600080fd5b509092509050610e19565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561044457818101518382015260200161042c565b505050509050019250505060405180910390f35b61047e6004803603602081101561046e57600080fd5b50356001600160a01b0316610ec7565b604080519115158252519081900360200190f35b61047e610ed2565b6104c8600480360360408110156104b057600080fd5b506001600160a01b0381351690602001351515610ff6565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b6105216004803603602081101561051157600080fd5b50356001600160a01b03166110dc565b60408051938452602084019290925282820152519081900360600190f35b6105656004803603602081101561055557600080fd5b50356001600160a01b03166110f7565b604080519384526020840192909252151582820152519081900360600190f35b6103446004803603602081101561059b57600080fd5b50356111c4565b610521600480360360408110156105b857600080fd5b506001600160a01b03813516906020013515156112c5565b6105f6600480360360208110156105e657600080fd5b50356001600160a01b03166112e2565b60408051918252519081900360200190f35b6102f6611392565b6105216004803603602081101561062657600080fd5b50356001600160a01b03166113a1565b6103446004803603602081101561064c57600080fd5b81019060208101813564010000000081111561066757600080fd5b82018360208201111561067957600080fd5b8035906020019184602083028401116401000000008311171561069b57600080fd5b5090925090506113d3565b6102f6600480360360208110156106bc57600080fd5b503561147a565b6105f6600480360360408110156106d957600080fd5b506001600160a01b038135169060200135611495565b6105f661156f565b6103446004803603606081101561070d57600080fd5b506001600160a01b03813516906020810135906040013561157c565b61040861172c565b61034461173d565b61034461191a565b6104086119d6565b6107756004803603604081101561075f57600080fd5b506001600160a01b038135169060200135611d10565b6040805192835290151560208301528051918290030190f35b6102f6611e14565b610344600480360360208110156107ac57600080fd5b50356001600160a01b0316611e23565b6104c8600480360360208110156107d257600080fd5b50356001600160a01b0316611e43565b6102f6600480360360208110156107f857600080fd5b5035611fb5565b6105f66004803603602081101561081557600080fd5b50356001600160a01b0316611fdc565b6105f66004803603602081101561083b57600080fd5b50356001600160a01b0316611fee565b6108816004803603606081101561086157600080fd5b506001600160a01b03813581169160208101359160409091013516611ff9565b6040805192835260208301919091528051918290030190f35b610775600480360360208110156108b057600080fd5b50356001600160a01b03166122e0565b610344600480360360208110156108d657600080fd5b50356001600160a01b031661239d565b610881600480360360208110156108fc57600080fd5b50356001600160a01b03166123b2565b610344600480360360a081101561092257600080fd5b508035906001600160a01b036020820135169060408101359060608101359060800135612474565b6105f66004803603602081101561096057600080fd5b50356001600160a01b031661264a565b6105f66004803603604081101561098657600080fd5b506001600160a01b03813516906020013561265c565b6105f6612706565b6105f6600480360360208110156109ba57600080fd5b50356001600160a01b031661270c565b610775600480360360408110156109e057600080fd5b50803590602001351515612717565b61034460048036036020811015610a0557600080fd5b50356001600160a01b031661272f565b61047e61275e565b6002546001600160a01b031681565b610a346128c6565b610a3d8261291f565b60008111610a92576040805162461bcd60e51b815260206004820152600e60248201527f416d6f756e74206973207a65726f000000000000000000000000000000000000604482015290519081900360640190fd5b610b11610a9d61297b565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610ae057600080fd5b505afa158015610af4573d6000803e3d6000fd5b505050506040513d6020811015610b0a57600080fd5b5051612996565b6000806000635045524960e01b8514610c19576000610b318760016129e9565b91945092509050610b4183612ac8565b610b49612b1d565b604080517fffb0a0810000000000000000000000000000000000000000000000000000000081526001600160a01b038a81166004830152602482018990526044820187905260648201859052608482018a9052631c1554d160e21b60a48301529151929091169163ffb0a0819160c4808201926020929091908290030181600087803b158015610bd857600080fd5b505af1158015610bec573d6000803e3d6000fd5b505050506040513d6020811015610c0257600080fd5b50519350610c1287858585612b48565b5050610c8c565b610c2286612d46565b9194509250905082841115610c7e576040805162461bcd60e51b815260206004820152601060248201527f416d6f756e7420746f6f206c6172676500000000000000000000000000000000604482015290519081900360640190fd5b610c8a86858484612b48565b505b505050505050565b610c9c612da2565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610cf86128c6565b610d018161291f565b635045524960e01b811415610d475760405162461bcd60e51b8152600401808060200182810382526024815260200180615d1a6024913960400191505060405180910390fd5b6000806000610d578560016129e9565b925092509250610d6683612ac8565b6000610d70612b1d565b6001600160a01b0316636446406c878685896040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b03168152602001848152602001838152602001828152602001945050505050602060405180830381600087803b158015610ddf57600080fd5b505af1158015610df3573d6000803e3d6000fd5b505050506040513d6020811015610e0957600080fd5b50519050610c8a86828686612b48565b60408051828152602080840282010190915260609082908290828015610e49578160200160208202803883390190505b50905060005b82811015610ebc5760056000878784818110610e6757fe5b90506020020135815260200190815260200160002060009054906101000a90046001600160a01b0316828281518110610e9c57fe5b6001600160a01b0390921660209283029190910190910152600101610e4f565b509150505b92915050565b6000610ec182612deb565b60006060610ede6119d6565b905060005b8151811015610fec576000828281518110610efa57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610f7b57600080fd5b505afa158015610f8f573d6000803e3d6000fd5b505050506040513d6020811015610fa557600080fd5b50516001600160a01b0316141580610fd257506000818152600360205260409020546001600160a01b0316155b15610fe35760009350505050610ff3565b50600101610ee3565b5060019150505b90565b60008060008060008060008061100c8a8a6129e9565b9250509150611019612b1d565b6001600160a01b031663ede459568b84846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060c06040518083038186803b15801561107e57600080fd5b505afa158015611092573d6000803e3d6000fd5b505050506040513d60c08110156110a857600080fd5b508051602082015160408301516060840151608085015160a090950151939f929e50909c509a509198509650945050505050565b60008060006110ea84612d46565b9196909550909350915050565b60008060008061110e85631c1554d160e21b612e16565b935090915061111d9050612b1d565b604080517f1982de220000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152602482018590528251931692631982de2292604480840193919291829003018186803b15801561118357600080fd5b505afa158015611197573d6000803e3d6000fd5b505050506040513d60408110156111ad57600080fd5b508051602090910151909690955091935090915050565b6111cc612da2565b60006111d6613111565b9050806001600160a01b0316638376a7828360006040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b15801561122757600080fd5b505af115801561123b573d6000803e3d6000fd5b5050604080517f04bd11e50000000000000000000000000000000000000000000000000000000081526001600482015290516001600160a01b03851693506304bd11e59250602480830192600092919082900301818387803b1580156112a057600080fd5b505af11580156112b4573d6000803e3d6000fd5b505050506112c182613128565b5050565b60008060006112d485856129e9565b9250925092505b9250925092565b6000806112f683631c1554d160e21b612e16565b50509050611302612b1d565b6001600160a01b0316633b1cd52b84836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b15801561135f57600080fd5b505afa158015611373573d6000803e3d6000fd5b505050506040513d606081101561138957600080fd5b50519392505050565b6001546001600160a01b031681565b60008060006113b784631c1554d160e21b612e16565b509091506113c790508482613366565b90959094509092509050565b6113db612da2565b8060005b818110156114135761140b8484838181106113f657fe5b905060200201356001600160a01b0316613560565b6001016113df565b5061141c613111565b6001600160a01b03166304bd11e560016040518263ffffffff1660e01b81526004018082151515158152602001915050600060405180830381600087803b15801561146657600080fd5b505af1158015610c8a573d6000803e3d6000fd5b6005602052600090815260409020546001600160a01b031681565b60008060006114a58560016129e9565b92505091506114b2612b1d565b6001600160a01b0316637d52c4ec868484886040518563ffffffff1660e01b815260040180856001600160a01b03166001600160a01b0316815260200184815260200183815260200182815260200194505050505060206040518083038186803b15801561151f57600080fd5b505afa158015611533573d6000803e3d6000fd5b505050506040513d602081101561154957600080fd5b5051925061156661155985613714565b849063ffffffff6137fa16565b95945050505050565b6524b9b9bab2b960d11b81565b6115846128c6565b61158d8261291f565b635045524960e01b82141580156115a357508115155b156115ba576115b58382846000613824565b611727565b60008060006115d086631c1554d160e21b612e16565b9250925092506115df81612996565b84611699576116966115ef612b1d565b6001600160a01b031663dac6e5768887631c1554d160e21b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561165d57600080fd5b505af1158015611671573d6000803e3d6000fd5b505050506040513d602081101561168757600080fd5b5051859063ffffffff613a6916565b93505b6116a7868585856000613ac6565b9250635045524960e01b851415806116d657506116c2613dad565b6116d384600c63ffffffff613e6416565b11155b610c8c576040805162461bcd60e51b815260206004820152601760248201527f4f766572206d61782065787465726e616c2071756f7461000000000000000000604482015290519081900360640190fd5b505050565b60606117386000613e91565b905090565b60606117476119d6565b905060005b81518110156112c157600082828151811061176357fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561183257818101518382015260200161181a565b50505050905090810190601f16801561185f5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561187d57600080fd5b505afa158015611891573d6000803e3d6000fd5b505050506040513d60208110156118a757600080fd5b505160008381526003602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010161174c565b6001546001600160a01b031633146119635760405162461bcd60e51b8152600401808060200182810382526035815260200180615c2a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6060806119e1613f6e565b60408051600f808252610200820190925291925060609190602082016101e0803883390190505090506a5065726946696e616e636560a81b81600081518110611a2657fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110611a4c57fe5b6020026020010181815250506c45786368616e6765526174657360981b81600281518110611a7657fe5b6020026020010181815250507f5065726946696e616e636553746174650000000000000000000000000000000081600381518110611ab057fe5b60200260200101818152505066119959541bdbdb60ca1b81600481518110611ad457fe5b6020026020010181815250507f44656c6567617465417070726f76616c7300000000000000000000000000000081600581518110611b0e57fe5b6020026020010181815250507f4574686572436f6c6c61746572616c000000000000000000000000000000000081600681518110611b4857fe5b6020026020010181815250507f4574686572436f6c6c61746572616c705553440000000000000000000000000081600781518110611b8257fe5b6020026020010181815250507f526577617264457363726f77563200000000000000000000000000000000000081600881518110611bbc57fe5b6020026020010181815250507f5065726946696e616e6365457363726f7700000000000000000000000000000081600981518110611bf657fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b81600a81518110611c1f57fe5b6020026020010181815250506844656274436163686560b81b81600b81518110611c4557fe5b6020026020010181815250507f436f6c6c61746572616c4d616e6167657200000000000000000000000000000081600c81518110611c7f57fe5b6020026020010181815250507f45787465726e616c546f6b656e5374616b654d616e616765720000000000000081600d81518110611cb957fe5b6020026020010181815250507f43726f7373436861696e4d616e6167657200000000000000000000000000000081600e81518110611cf357fe5b602002602001018181525050611d098282613fcd565b9250505090565b6000806000611d2685635045524960e01b612e16565b935090915060009050611d37612b1d565b6001600160a01b0316639c1b38f7876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611d8c57600080fd5b505afa158015611da0573d6000803e3d6000fd5b505050506040513d6020811015611db657600080fd5b50519050808211611dc8576000611dd8565b611dd8828263ffffffff613a6916565b90506000611ded82611de8614082565b614108565b905080861115611e0a57611e07868263ffffffff613a6916565b94505b5050509250929050565b6000546001600160a01b031681565b611e2b6128c6565b611e40816000635045524960e01b6001613824565b50565b600080600080600080611e5d87631c1554d160e21b612e16565b5090925060009050611e6d61297b565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015611eb657600080fd5b505afa158015611eca573d6000803e3d6000fd5b505050506040513d6040811015611ee057600080fd5b50519050611eed88614127565b9150611ef7612b1d565b6001600160a01b031663ede459568985611f11868661428c565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060c06040518083038186803b158015611f6557600080fd5b505afa158015611f79573d6000803e3d6000fd5b505050506040513d60c0811015611f8f57600080fd5b50805160208201516040830151606090930151919b909a50919850965092945090925050565b60048181548110611fc257fe5b6000918252602090912001546001600160a01b0316905081565b6000611fe78261429e565b5092915050565b6000610ec182614127565b6000806120046128c6565b61200c614443565b6001600160a01b031663d6f32e0684631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561207057600080fd5b505afa158015612084573d6000803e3d6000fd5b505050506040513d602081101561209a57600080fd5b5051156120ee576040805162461bcd60e51b815260206004820152601860248201527f70555344206e6565647320746f20626520736574746c65640000000000000000604482015290519081900360640190fd5b631c1554d160e21b600052600560209081527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b54604080516370a0823160e01b81526001600160a01b0387811660048301529151889492909316926370a0823192602480840193919291829003018186803b15801561216c57600080fd5b505afa158015612180573d6000803e3d6000fd5b505050506040513d602081101561219657600080fd5b505110156121eb576040805162461bcd60e51b815260206004820152600f60248201527f4e6f7420656e6f75676820705553440000000000000000000000000000000000604482015290519081900360640190fd5b600080600061220188631c1554d160e21b612e16565b92509250925061221081612996565b61221861445a565b604080517f7f9358a20000000000000000000000000000000000000000000000000000000081526001600160a01b038b811660048301528981166024830152604482018b9052606482018790528251931692637f9358a2926084808401939192918290030181600087803b15801561228f57600080fd5b505af11580156122a3573d6000803e3d6000fd5b505050506040513d60408110156122b957600080fd5b50805160209091015190955093506122d48887868686614474565b50505050935093915050565b6000806000806122ee613111565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b15801561232657600080fd5b505afa15801561233a573d6000803e3d6000fd5b505050506040513d608081101561235057600080fd5b506040810151606090910151909250905060008061236d8761429e565b91509150838061237a5750825b61238c5784806123875750805b61238f565b60015b945081955050505050915091565b6123a56128c6565b611e408160008080613824565b6000806000806123c38560016129e9565b92505091506123d0612b1d565b6001600160a01b0316635abebd078684846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001838152602001828152602001935050505060606040518083038186803b15801561243557600080fd5b505afa158015612449573d6000803e3d6000fd5b505050506040513d606081101561245f57600080fd5b50805160209091015190969095509350505050565b61247c612da2565b60006124866147e6565b9050600061249a858463ffffffff61481116565b905060006124ae868363ffffffff61486b16565b90506124d0826124c4888863ffffffff61481116565b9063ffffffff61486b16565b9050826001600160a01b031663a764eb4588836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561253257600080fd5b505af1158015612546573d6000803e3d6000fd5b50505050826001600160a01b0316633d31e97b6125e96125dc8473__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a457600080fd5b505af41580156125b8573d6000803e3d6000fd5b505050506040513d60208110156125ce57600080fd5b50519063ffffffff613a6916565b8b9063ffffffff61488416565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561261f57600080fd5b505af1158015612633573d6000803e3d6000fd5b505050506126408761489d565b5050505050505050565b60066020526000908152604090205481565b6000806126676147e6565b60408051631167f01160e31b81526001600160a01b038781166004830152825193945060009390851692638b3f80889260248082019391829003018186803b1580156126b257600080fd5b505afa1580156126c6573d6000803e3d6000fd5b505050506040513d60408110156126dc57600080fd5b50519050806126f057600092505050610ec1565b6126fa8585612e16565b50909695505050505050565b60045490565b6000610ec182614995565b6000806127248484614a56565b909590945092505050565b6127376128c6565b600080600061274584612d46565b92509250925061275784848484612b48565b5050505050565b600061276861297b565b6001600160a01b031663c8e5bbd56127806001613e91565b6040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156127cf5781810151838201526020016127b7565b505050509050019250505060006040518083038186803b1580156127f257600080fd5b505afa158015612806573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561282f57600080fd5b810190808051604051939291908464010000000082111561284f57600080fd5b90830190602082018581111561286457600080fd5b825186602082028301116401000000008211171561288157600080fd5b82525081516020918201928201910280838360005b838110156128ae578181015183820152602001612896565b50505050919091016040525060200151949350505050565b6128ce614e11565b6001600160a01b0316336001600160a01b03161461291d5760405162461bcd60e51b815260040180806020018281038252603d815260200180615c5f603d913960400191505060405180910390fd5b565b631c1554d160e21b811415611e40576040805162461bcd60e51b815260206004820152601360248201527f705553442069736e2774207374616b61626c6500000000000000000000000000604482015290519081900360640190fd5b60006117386c45786368616e6765526174657360981b614e26565b8015611e40576040805162461bcd60e51b815260206004820152601f60248201527f412070796e7468206f722050455249207261746520697320696e76616c696400604482015290519081900360640190fd5b600080600080612a0086631c1554d160e21b612e16565b91955093509050600080612a1261297b565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015612a5b57600080fd5b505afa158015612a6f573d6000803e3d6000fd5b505050506040513d6040811015612a8557600080fd5b50805160209091015190925090508615612aaa57612aaa8380612aa55750815b612996565b612abc612ab689614127565b8361428c565b93505050509250925092565b60008111611e40576040805162461bcd60e51b815260206004820152601060248201527f5573657220686173206e6f206465627400000000000000000000000000000000604482015290519081900360640190fd5b60006117387f45787465726e616c546f6b656e5374616b654d616e6167657200000000000000614e26565b600083612b56575081612d3e565b612b6285858585614f0f565b612b6b8561538b565b631c1554d160e21b600090815260056020527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b54604080517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152602482018990529151919092169263867904b4926044808201939182900301818387803b158015612c0657600080fd5b505af1158015612c1a573d6000803e3d6000fd5b50505050612c26613111565b6001600160a01b0316638376a782631c1554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612c8057600080fd5b505af4158015612c94573d6000803e3d6000fd5b505050506040513d6020811015612caa57600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b158015612d0a57600080fd5b505af1158015612d1e573d6000803e3d6000fd5b50505050612d2b8561489d565b612d3b838563ffffffff61481116565b90505b949350505050565b600080600080612d5d85631c1554d160e21b612e16565b91945092509050612d6d81612996565b612d778584613366565b509350828411612d88576000612d98565b612d98848463ffffffff613a6916565b9350509193909250565b6000546001600160a01b0316331461291d5760405162461bcd60e51b815260040180806020018281038252602f815260200180615cca602f913960400191505060405180910390fd5b6000612e0d612df8615479565b612e0184614995565b9063ffffffff61481116565b42101592915050565b600080600080612e246147e6565b9050600080826001600160a01b0316638b3f8088896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050604080518083038186803b158015612e7e57600080fd5b505afa158015612e92573d6000803e3d6000fd5b505050506040513d6040811015612ea857600080fd5b5080516020909101519092509050612ebe6154ff565b6001600160a01b0316630ca1f911886040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015612f0057600080fd5b505afa158015612f14573d6000803e3d6000fd5b505050506040513d6040811015612f2a57600080fd5b508051602090910151909550935081612f4a5750600094506112db915050565b6000836001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b158015612f8557600080fd5b505afa158015612f99573d6000803e3d6000fd5b505050506040513d6020811015612faf57600080fd5b5051604080517f08d95cd50000000000000000000000000000000000000000000000000000000081526004810185905290519192506000916001600160a01b038716916308d95cd5916024808301926020929190829003018186803b15801561301757600080fd5b505afa15801561302b573d6000803e3d6000fd5b505050506040513d602081101561304157600080fd5b505190506000821580613052575081155b1561305f575060006130e7565b6130e4856130d884896001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b1580156130a057600080fd5b505afa1580156130b4573d6000803e3d6000fd5b505050506040513d60208110156130ca57600080fd5b50519063ffffffff61486b16565b9063ffffffff61488416565b90505b60006130f6826130d88b61552a565b905061310181615540565b9950505050505050509250925092565b60006117386844656274436163686560b81b614e26565b6000818152600560205260409020546001600160a01b031680613192576040805162461bcd60e51b815260206004820152601360248201527f50796e746820646f65736e277420657869737400000000000000000000000000604482015290519081900360640190fd5b806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156131cb57600080fd5b505afa1580156131df573d6000803e3d6000fd5b505050506040513d60208110156131f557600080fd5b505115613249576040805162461bcd60e51b815260206004820152601360248201527f50796e746820737570706c792065786973747300000000000000000000000000604482015290519081900360640190fd5b60005b60045481101561333057816001600160a01b03166004828154811061326d57fe5b6000918252602090912001546001600160a01b03161415613328576004818154811061329557fe5b600091825260209091200180546001600160a01b03191690556004805460001981019081106132c057fe5b600091825260209091200154600480546001600160a01b0390921691839081106132e657fe5b600091825260209091200180546001600160a01b0319166001600160a01b03929092169190911790556004805490613322906000198301615bec565b50613330565b60010161324c565b506001600160a01b03166000908152600660209081526040808320839055928252600590522080546001600160a01b0319169055565b600080600061338c61337786614127565b613387635045524960e01b615562565b61428c565b9050600080613399612b1d565b6001600160a01b031663c70cc960886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060606040518083038186803b1580156133ee57600080fd5b505afa158015613402573d6000803e3d6000fd5b505050506040513d606081101561341857600080fd5b5080516020820151604090920151955090925090506000613437614082565b905061344384826155f6565b9350613455848363ffffffff61481116565b9550818711156134985761346f878363ffffffff613a6916565b935061347f83612e018684614108565b9350613491838563ffffffff61561016565b935061351b565b600087116134a7576000613518565b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156134eb57600080fd5b505af41580156134ff573d6000803e3d6000fd5b505050506040513d602081101561351557600080fd5b50515b93505b6000841161352a576000613553565b613553613546613540878463ffffffff613a6916565b866155f6565b829063ffffffff61481116565b9450505050509250929050565b6000816001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561359b57600080fd5b505afa1580156135af573d6000803e3d6000fd5b505050506040513d60208110156135c557600080fd5b50516000818152600560205260409020549091506001600160a01b031615613634576040805162461bcd60e51b815260206004820152600c60248201527f50796e7468206578697374730000000000000000000000000000000000000000604482015290519081900360640190fd5b6001600160a01b0382166000908152600660205260409020541561369f576040805162461bcd60e51b815260206004820152601c60248201527f50796e7468206164647265737320616c72656164792065786973747300000000604482015290519081900360640190fd5b60048054600181019091557f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b0180546001600160a01b039093166001600160a01b0319938416811790915560008281526005602090815260408083208054909616841790955591815260069091529190912055565b600061371e61563a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6578546f6b656e49737375616e6365526174696f000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156137c857600080fd5b505afa1580156137dc573d6000803e3d6000fd5b505050506040513d60208110156137f257600080fd5b505192915050565b6000670de0b6b3a7640000613815848463ffffffff61566516565b8161381c57fe5b049392505050565b60008060006138348760016129e9565b9250925092506000831161388f576040805162461bcd60e51b815260206004820152601260248201527f4e6f206465627420746f20756e7374616b650000000000000000000000000000604482015290519081900360640190fd5b83156139375761389d612b1d565b6001600160a01b03166362197d9a8885846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050602060405180830381600087803b15801561390457600080fd5b505af1158015613918573d6000803e3d6000fd5b505050506040513d602081101561392e57600080fd5b50519550613a5c565b846139bb57613944612b1d565b6001600160a01b031663b42652e9886040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b15801561399b57600080fd5b505af11580156139af573d6000803e3d6000fd5b50505050829550613a5c565b6139c3612b1d565b604080517fb23e50530000000000000000000000000000000000000000000000000000000081526001600160a01b038a81166004830152602482018a905260448201899052631c1554d160e21b60648301529151929091169163b23e50539160848082019260009290919082900301818387803b158015613a4357600080fd5b505af1158015613a57573d6000803e3d6000fd5b505050505b6126408787858588613ac6565b600082821115613ac0576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000808411613b1c576040805162461bcd60e51b815260206004820152601260248201527f4e6f206465627420746f20666f72676976650000000000000000000000000000604482015290519081900360640190fd5b81613cd057613b2a86612deb565b613b655760405162461bcd60e51b815260040180806020018281038252602e815260200180615c9c602e913960400191505060405180910390fd5b600080613b70614443565b6001600160a01b0316631b16802c89631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015613bd657600080fd5b505af1158015613bea573d6000803e3d6000fd5b505050506040513d6060811015613c0057600080fd5b50602081015160409091015190925090508015613ccd57613c1f614443565b604080517f4c268fc80000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152631c1554d160e21b6024830152604482018b90526064820186905291519290911691634c268fc891608480820192602092909190829003018186803b158015613c9e57600080fd5b505afa158015613cb2573d6000803e3d6000fd5b505050506040513d6020811015613cc857600080fd5b505196505b50505b6000613cdf8788888888614474565b9050613cf1858263ffffffff613a6916565b90506000613cff8883613366565b935090508082111580613d25575064e8d4a51000613d23838363ffffffff613a6916565b105b15613da257613d3261445a565b6001600160a01b031663974e9e7f896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b03168152602001915050600060405180830381600087803b158015613d8957600080fd5b505af1158015613d9d573d6000803e3d6000fd5b505050505b505095945050505050565b6000613db761563a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65787465726e616c546f6b656e51756f746100000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613e3357600080fd5b505afa158015613e47573d6000803e3d6000fd5b505050506040513d6020811015613e5d57600080fd5b5051905090565b6000613e8a600a83900a613e7e858263ffffffff6156be16565b9063ffffffff61566516565b9392505050565b60608082613ea0576000613ea3565b60015b60ff1660048054905001604051908082528060200260200182016040528015613ed6578160200160208202803883390190505b50905060005b600454811015613f3d576006600060048381548110613ef757fe5b60009182526020808320909101546001600160a01b031683528201929092526040019020548251839083908110613f2a57fe5b6020908102919091010152600101613edc565b508215610ec1576004548151635045524960e01b9183918110613f5c57fe5b60200260200101818152505092915050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110613fbe57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015613ffd578160200160208202803883390190505b50905060005b835181101561403f5783818151811061401857fe5b602002602001015182828151811061402c57fe5b6020908102919091010152600101614003565b5060005b8251811015611fe75782818151811061405857fe5b602002602001015182828651018151811061406f57fe5b6020908102919091010152600101614043565b600061408c61563a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613e3357600080fd5b6000613e8a6141226141198461552a565b6124c48661552a565b615540565b600080614132614e11565b6001600160a01b03166370a08231846040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561418757600080fd5b505afa15801561419b573d6000803e3d6000fd5b505050506040513d60208110156141b157600080fd5b5051905060006141bf615728565b6001600160a01b031614614269576142666141d8615728565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561422d57600080fd5b505afa158015614241573d6000803e3d6000fd5b505050506040513d602081101561425757600080fd5b5051829063ffffffff61481116565b90505b6000614273615753565b6001600160a01b031614610ec157613e8a6141d8615753565b6000613e8a838363ffffffff61577e16565b60008060006142ab612b1d565b6001600160a01b0316637a84b61785631c1554d160e21b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561430f57600080fd5b505afa158015614323573d6000803e3d6000fd5b505050506040513d602081101561433957600080fd5b50519050600061434885614127565b905080158015614356575081155b1561436757506000925061443e9050565b600061437a86631c1554d160e21b612e16565b9196509091506000905061438c61297b565b6001600160a01b0316630c71cd23635045524960e01b6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156143d557600080fd5b505afa1580156143e9573d6000803e3d6000fd5b505050506040513d60408110156143ff57600080fd5b5080516020909101519550905081806144155750845b945061442584612e01858461428c565b9250614437868463ffffffff61561016565b9550505050505b915091565b60006117386822bc31b430b733b2b960b91b614e26565b60006117386b4c69717569646174696f6e7360a01b614e26565b6000828411156144cb576040805162461bcd60e51b815260206004820152601d60248201527f547279696e6720746f206275726e206d6f7265207468616e2064656274000000604482015290519081900360640190fd5b6144d786858585615793565b631c1554d160e21b6000908152600560209081527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b54604080516370a0823160e01b81526001600160a01b038a811660048301529151859492909316926370a0823192602480840193919291829003018186803b15801561455757600080fd5b505afa15801561456b573d6000803e3d6000fd5b505050506040513d602081101561458157600080fd5b505190508086116145a15761459c818763ffffffff613a6916565b6145b1565b6145b1868263ffffffff613a6916565b9150600a82106145c157856145c3565b805b95508581101561461a576040805162461bcd60e51b815260206004820152601760248201527f4e6f7420656e6f756768207055534420746f206275726e000000000000000000604482015290519081900360640190fd5b631c1554d160e21b600090815260056020527fab2931e6b2a3309efb1cd1e1ff687f87bc01e27560b68cf78de8eb3772ac922b54604080517f9dc29fac0000000000000000000000000000000000000000000000000000000081526001600160a01b038b81166004830152602482018b905291519190921692639dc29fac926044808201939182900301818387803b1580156146b557600080fd5b505af11580156146c9573d6000803e3d6000fd5b505050506146d5613111565b6001600160a01b0316638376a782631c1554d160e21b73__$595c53754087f91f9b1379b44678cc419e$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561472f57600080fd5b505af4158015614743573d6000803e3d6000fd5b505050506040513d602081101561475957600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e086901b1681526004810193909352602483019190915251604480830192600092919082900301818387803b1580156147b957600080fd5b505af11580156147cd573d6000803e3d6000fd5b505050506147da8861489d565b50939695505050505050565b60006117387f5065726946696e616e6365537461746500000000000000000000000000000000614e26565b600082820183811015613e8a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000613e8a83836b033b2e3c9fd0803ce8000000615ade565b6000613e8a83836b033b2e3c9fd0803ce8000000615b16565b6000806148a86147e6565b60408051631167f01160e31b81526001600160a01b0386811660048301528251931692638b3f808892602480840193919291829003018186803b1580156148ee57600080fd5b505afa158015614902573d6000803e3d6000fd5b505050506040513d604081101561491857600080fd5b508051602090910151909250905061492e615b41565b6001600160a01b031663866452748484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b15801561146657600080fd5b600061499f61563a565b6001600160a01b03166323257c2b6524b9b9bab2b960d11b7f6c61737449737375654576656e740000000000000000000000000000000000008560405160200180838152602001826001600160a01b03166001600160a01b031660601b815260140192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b1580156137c857600080fd5b6000806000806000614a66613111565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015614a9e57600080fd5b505afa158015614ab2573d6000803e3d6000fd5b505050506040513d6080811015614ac857600080fd5b5080516040820151606090920151909450909250905085614d3557600080614aee615b56565b6001600160a01b0316631e33fc6b6040518163ffffffff1660e01b8152600401604080518083038186803b158015614b2557600080fd5b505afa158015614b39573d6000803e3d6000fd5b505050506040513d6040811015614b4f57600080fd5b5080516020909101519092509050614b6d858363ffffffff61481116565b9450614beb614b7a615b81565b6001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b158015614bb257600080fd5b505afa158015614bc6573d6000803e3d6000fd5b505050506040513d6020811015614bdc57600080fd5b5051869063ffffffff61481116565b9450600080614bf861297b565b6001600160a01b0316630c71cd237f70455448000000000000000000000000000000000000000000000000000000006040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015614c5a57600080fd5b505afa158015614c6e573d6000803e3d6000fd5b505050506040513d6040811015614c8457600080fd5b50805160209091015190925090506000614d1083614ca0615bac565b6001600160a01b03166357b219206040518163ffffffff1660e01b815260040160206040518083038186803b158015614cd857600080fd5b505afa158015614cec573d6000803e3d6000fd5b505050506040513d6020811015614d0257600080fd5b50519063ffffffff61577e16565b9050614d22888263ffffffff61481116565b97508380614d2d5750815b985050505050505b8380614d3e5750815b80614d465750805b9350631c1554d160e21b871415614d625750909250614e0a9050565b600080614d6d61297b565b6001600160a01b0316630c71cd238a6040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015614daf57600080fd5b505afa158015614dc3573d6000803e3d6000fd5b505050506040513d6040811015614dd957600080fd5b5080516020909101519092509050614df7858363ffffffff615bd716565b8680614e005750815b9650965050505050505b9250929050565b60006117386a5065726946696e616e636560a81b5b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611fe75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015614ed4578181015183820152602001614ebc565b50505050905090810190601f168015614f015780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b6000614f196147e6565b90506000614f2d858463ffffffff61481116565b90506000614f41868363ffffffff61486b16565b90506000614f8d8273__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156125a457600080fd5b90508515614fb057614fa9836124c4898963ffffffff61481116565b9150615004565b836001600160a01b0316631bfba5956040518163ffffffff1660e01b8152600401600060405180830381600087803b158015614feb57600080fd5b505af1158015614fff573d6000803e3d6000fd5b505050505b836001600160a01b031663a764eb4589846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561506457600080fd5b505af1158015615078573d6000803e3d6000fd5b505050506150846154ff565b6001600160a01b0316634e03d640886040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156150c957600080fd5b505af11580156150dd573d6000803e3d6000fd5b505050506000846001600160a01b031663cd92eba96040518163ffffffff1660e01b815260040160206040518083038186803b15801561511c57600080fd5b505afa158015615130573d6000803e3d6000fd5b505050506040513d602081101561514657600080fd5b50511180156151b85750836001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b15801561518957600080fd5b505afa15801561519d573d6000803e3d6000fd5b505050506040513d60208110156151b357600080fd5b505115155b1561529457836001600160a01b0316633d31e97b61524183876001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b15801561520957600080fd5b505afa15801561521d573d6000803e3d6000fd5b505050506040513d602081101561523357600080fd5b50519063ffffffff61488416565b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561527757600080fd5b505af115801561528b573d6000803e3d6000fd5b50505050612640565b836001600160a01b0316633d31e97b73__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156152e757600080fd5b505af41580156152fb573d6000803e3d6000fd5b505050506040513d602081101561531157600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b168152600481019290925251602480830192600092919082900301818387803b15801561536957600080fd5b505af115801561537d573d6000803e3d6000fd5b505050505050505050505050565b61539361563a565b604080517f6c61737449737375654576656e740000000000000000000000000000000000006020808301919091526bffffffffffffffffffffffff19606086901b16828401528251603481840301815260548301808552815191909201207f1d5b277f000000000000000000000000000000000000000000000000000000009091526524b9b9bab2b960d11b6058830152607882015242609882015290516001600160a01b039290921691631d5b277f9160b88082019260009290919082900301818387803b15801561546557600080fd5b505af1158015612757573d6000803e3d6000fd5b600061548361563a565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6d696e696d756d5374616b6554696d65000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015613e3357600080fd5b60006117387f43726f7373436861696e4d616e61676572000000000000000000000000000000614e26565b6000610ec182633b9aca0063ffffffff61566516565b60006305f5e10082046005600a82061061555857600a015b600a900492915050565b60008061556d61297b565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b1580156155af57600080fd5b505afa1580156155c3573d6000803e3d6000fd5b505050506040513d60408110156155d957600080fd5b50805160209091015190925090506155f081612996565b50919050565b6000613e8a6141226156078461552a565b6130d88661552a565b6000613e8a8261562e85670de0b6b3a764000063ffffffff61566516565b9063ffffffff6156be16565b60006117387f466c657869626c6553746f726167650000000000000000000000000000000000614e26565b60008261567457506000610ec1565b8282028284828161568157fe5b0414613e8a5760405162461bcd60e51b8152600401808060200182810382526021815260200180615cf96021913960400191505060405180910390fd5b6000808211615714576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161571f57fe5b04949350505050565b60006117387f5065726946696e616e6365457363726f77000000000000000000000000000000614e26565b60006117387f526577617264457363726f775632000000000000000000000000000000000000614e26565b6000613e8a8383670de0b6b3a7640000615b16565b600061579d6147e6565b905060006157b1838663ffffffff613a6916565b9050600081156158535760006157cd878463ffffffff61486b16565b905061584f8173__$595c53754087f91f9b1379b44678cc419e$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b15801561581757600080fd5b505af415801561582b573d6000803e3d6000fd5b505050506040513d602081101561584157600080fd5b50519063ffffffff61481116565b9150505b8486141561593357604080517fa764eb450000000000000000000000000000000000000000000000000000000081526001600160a01b03898116600483015260006024830181905292519086169263a764eb45926044808201939182900301818387803b1580156158c357600080fd5b505af11580156158d7573d6000803e3d6000fd5b50505050826001600160a01b031663ba08f2996040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561591657600080fd5b505af115801561592a573d6000803e3d6000fd5b505050506159d6565b6000615945868863ffffffff613a6916565b90506000615959828563ffffffff61486b16565b9050846001600160a01b031663a764eb458a836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156159bb57600080fd5b505af11580156159cf573d6000803e3d6000fd5b5050505050505b6159de6154ff565b6001600160a01b031663d5495e06876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015615a2357600080fd5b505af1158015615a37573d6000803e3d6000fd5b50505050826001600160a01b0316633d31e97b615a8783866001600160a01b031663463177126040518163ffffffff1660e01b815260040160206040518083038186803b15801561520957600080fd5b6040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b158015615abd57600080fd5b505af1158015615ad1573d6000803e3d6000fd5b5050505050505050505050565b600080615af88461562e87600a870263ffffffff61566516565b90506005600a825b0610615b0a57600a015b600a9004949350505050565b600080600a8304615b2d868663ffffffff61566516565b81615b3457fe5b0490506005600a82615b00565b600061173866119959541bdbdb60ca1b614e26565b60006117387f436f6c6c61746572616c4d616e61676572000000000000000000000000000000614e26565b60006117387f4574686572436f6c6c61746572616c7055534400000000000000000000000000614e26565b60006117387f4574686572436f6c6c61746572616c0000000000000000000000000000000000614e26565b6000613e8a8383670de0b6b3a7640000615ade565b81548183558181111561172757600083815260209020611727918101908301610ff391905b80821115615c255760008155600101615c11565b509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704973737565723a204f6e6c7920746865207065726946696e616e636520636f6e74726163742063616e20706572666f726d207468697320616374696f6e4d696e207374616b652074696d65206e6f742072656163686564206f7220636861696e2073796e63207374616c654f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c792065787465726e616c20746f6b656e20616c6c6f77656420746f207374616b65a265627a7a72315820def7cc76df31d506a0dbbad7fd23580510976843fc63b7cb3a6f30219ed480c464736f6c63430005100032",
			"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": 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": "pynthsToAdd",
							"type": "address[]"
						}
					],
					"name": "addPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5543dadc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "amountsToFitClaimable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exRefundAmt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbecf5ff8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "anyPynthOrPERIRateIsInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "anyRateInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf5adc4f5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availableCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72cb051f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "availablePynthCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd99947de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "availablePynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9df95f9f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_burnAmount",
							"type": "uint256"
						}
					],
					"name": "burnPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6ac471c4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "cRatioNDebtsCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "cRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periCol",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x98df0de2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "canBurnPynths",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2ae78fdb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "collateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa5fdc5de"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa311c7c2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "collateralisationRatioAndAnyRatesInvalid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "cratio",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xae3bbbbb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "debtBalanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtBalance",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd37c4d8b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_checkRate",
							"type": "bool"
						}
					],
					"name": "debtsCollateral",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "systemDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periCol",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4d6d83a4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "exStakingRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exSR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "maxSR",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "rateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44c2cd04"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						}
					],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb42652e9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						}
					],
					"name": "fitToClaimable",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x94955cec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "prevLedgerValue",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "existingDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalDebtIssued",
							"type": "uint256"
						}
					],
					"name": "fixDebtRegister",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xc29ea314"
				},
				{
					"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": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_checkRate",
							"type": "bool"
						}
					],
					"name": "getRatios",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "cRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exSR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "maxSR",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2da4e97c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "getTargetRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x506e4093"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "issueMaxPynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf0617e5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_issueAmount",
							"type": "uint256"
						}
					],
					"name": "issuePynths",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x08f95a62"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "issuePynthsToMaxQuota",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x171af063"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "lastIssueEvent",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd3d2b2e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "pusdAmount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "liquidator",
							"type": "address"
						}
					],
					"name": "liquidateDelinquentAccount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalRedeemed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "amountToLiquidate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa63c4df4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "maxExIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "issuables",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5ba9f145"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "maxIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "existDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x55182ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "pynths",
					"outputs": [
						{
							"internalType": "contract IPynth",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x57ad4663"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "pynthsByAddress",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc9a2f3ad"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_issuer",
							"type": "address"
						}
					],
					"name": "remainingIssuablePynths",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxIssuable",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "alreadyIssued",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "totalSystemDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b09280a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "removePynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4c29b0af"
				},
				{
					"constant": 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"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"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": "0x19555545dccc48ecbcdd8b18d95ed6f5a17d7bd810b0782e16015d921daab79a",
				"urls": [
					"bzz-raw://bd2b7b210060a790372449ea570e93fc10fca0afebf23c4e007d7b148c8e71cb",
					"dweb:/ipfs/QmZvD3LXcrYuvT9QRAh5qPLi5adc4Z2RSjM1R8oFjicHws"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Issuer.sol": "Issuer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Issuer.sol": {
						"keccak256": "0x19555545dccc48ecbcdd8b18d95ed6f5a17d7bd810b0782e16015d921daab79a",
						"urls": [
							"bzz-raw://bd2b7b210060a790372449ea570e93fc10fca0afebf23c4e007d7b148c8e71cb",
							"dweb:/ipfs/QmZvD3LXcrYuvT9QRAh5qPLi5adc4Z2RSjM1R8oFjicHws"
						]
					}
				},
				"version": 1
			}
		},
		"TradingRewards": {
			"bytecode": "608060405234801561001057600080fd5b506040516122173803806122178339818101604052606081101561003357600080fd5b5080516020820151604090920151600160005590919080836001600160a01b0381166100a6576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600180546001600160a01b0319166001600160a01b0383169081179091556040805160008152602081019290925280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506001546001600160a01b0316610152576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b60048054610100600160a81b0319166101006001600160a01b039384160217905582166101c6576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b50600980546001600160a01b0319166001600160a01b039290921691909117905550612020806101f76000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063741853601161010f578063b225dbaa116100a2578063f32ffd6911610071578063f32ffd69146104e2578063f61f5df614610552578063f6b584791461057e578063fc9c99ac146105fe576101f0565b8063b225dbaa14610491578063ccb6e043146102c5578063ce7fccba146104ae578063dea021a5146104da576101f0565b806391b4ded9116100de57806391b4ded914610438578063937ffb8f146104405780639865fdb71461045d578063ae934a7a14610465576101f0565b806374185360146103c857806379ba5097146103d0578063899ffef4146103d85780638da5cb5b14610430576101f0565b80632af64bd31161018757806355aa41bf1161015657806355aa41bf1461037e5780635c975abb1461039b5780636fe4136b146103a3578063706848d2146103ab576101f0565b80632af64bd31461032257806338dfa8cf1461032a5780633dbf12fa1461035057806353a47bb714610376576101f0565b806316841952116101c3578063168419521461028957806316c38b3c146102a6578063175c5189146102c557806321cad774146102f6576101f0565b806304f3bcec146101f5578063056097ac14610219578063086146d2146102495780631627540c14610263575b600080fd5b6101fd610606565b604080516001600160a01b039092168252519081900360200190f35b6102476004803603604081101561022f57600080fd5b506001600160a01b038135811691602001351661061a565b005b6102516107c5565b60408051918252519081900360200190f35b6102476004803603602081101561027957600080fd5b50356001600160a01b03166107cc565b6102476004803603602081101561029f57600080fd5b5035610828565b610247600480360360208110156102bc57600080fd5b50351515610a51565b6102e2600480360360208110156102db57600080fd5b5035610acb565b604080519115158252519081900360200190f35b6102476004803603604081101561030c57600080fd5b50803590602001356001600160a01b0316610ae0565b6102e2610c0a565b6102476004803603602081101561034057600080fd5b50356001600160a01b0316610d1c565b6102476004803603602081101561036657600080fd5b50356001600160a01b0316610ed4565b6101fd610f8b565b6102516004803603602081101561039457600080fd5b5035610f9a565b6102e2610faf565b6101fd610fb8565b610251600480360360208110156103c157600080fd5b5035610fc7565b610247610fdc565b6102476111b9565b6103e0611275565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561041c578181015183820152602001610404565b505050509050019250505060405180910390f35b6101fd6112e6565b6102516112f5565b6102516004803603602081101561045657600080fd5b50356112fb565b610251611310565b6102476004803603604081101561047b57600080fd5b506001600160a01b0381351690602001356113ad565b610247600480360360208110156104a757600080fd5b503561151a565b610251600480360360408110156104c457600080fd5b506001600160a01b0381351690602001356115c7565b6101fd6115dc565b610247600480360360208110156104f857600080fd5b81019060208101813564010000000081111561051357600080fd5b82018360208201111561052557600080fd5b8035906020019184602083028401116401000000008311171561054757600080fd5b5090925090506115eb565b6102516004803603604081101561056857600080fd5b506001600160a01b0381351690602001356116c9565b6102516004803603604081101561059457600080fd5b6001600160a01b0382351691908101906040810160208201356401000000008111156105bf57600080fd5b8201836020820111156105d157600080fd5b803590602001918460208302840111640100000000831117156105f357600080fd5b5090925090506116f4565b610251611744565b60045461010090046001600160a01b031681565b61062261174a565b61062b81611795565b610633611805565b6001600160a01b0316826001600160a01b03161415610699576040805162461bcd60e51b815260206004820152601960248201527f4d7573742075736520616e6f746865722066756e6374696f6e00000000000000604482015290519081900360640190fd5b604080516370a0823160e01b8152306004820152905183916000916001600160a01b038416916370a08231916024808301926020929190829003018186803b1580156106e457600080fd5b505afa1580156106f8573d6000803e3d6000fd5b505050506040513d602081101561070e57600080fd5b505190508061075b576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6107756001600160a01b038316848363ffffffff61181e16565b604080516001600160a01b0380871682528516602082015280820183905290517f401f439d865a766757ec78675925bd67198d5e78805aa41691b34b5d6a6cbbe69181900360600190a150505050565b6006545b90565b6107d461174a565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6009546001600160a01b03163314610887576040805162461bcd60e51b815260206004820152601c60248201527f43616c6c6572206e6f7420706572696f6420636f6e74726f6c6c657200000000604482015290519081900360640190fd5b6000610891611805565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156108e657600080fd5b505afa1580156108fa573d6000803e3d6000fd5b505050506040513d602081101561091057600080fd5b505160075490915060009061092c90839063ffffffff61187016565b905080831115610983576040805162461bcd60e51b815260206004820152601960248201527f496e73756666696369656e742066726565207265776172647300000000000000604482015290519081900360640190fd5b60065460009081526008602052604090206002810184905560038101849055805460ff191660011781556007546109c0908563ffffffff6118cd16565b600755600654604080519182526020820186905280517ffa0492b63d7120c62ccb8708eb597813e6968a23d09adac98d54dd0085cb264f9281900390910190a1600654610a1490600163ffffffff6118cd16565b600681905560408051918252517f4368a9298adc0e57eceb11d0ef07022051a2feb5985d832be0764cde9a2307329181900360200190a150505050565b610a5961174a565b60045460ff1615158115151415610a6f57610ac8565b6004805460ff1916821515179081905560ff1615610a8c57426003555b6004546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60009081526008602052604090205460ff1690565b610ae8611927565b6001600160a01b0316336001600160a01b031614610b4d576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b60065460009081526008602090815260408083206001600160a01b03851684526004810190925290912054610b88908463ffffffff6118cd16565b6001600160a01b03831660009081526004830160205260409020556001810154610bb8908463ffffffff6118cd16565b600182015560065460408051858152602081019290925280516001600160a01b038516927f927be3e95451b16be3f4586524834dfffa10e6f9ee4c1e26fe3c46140fbbf86692908290030190a2505050565b60006060610c16611275565b905060005b8151811015610d13576000828281518110610c3257fe5b602090810291909101810151600081815260058352604090819020546004805483516321f8a72160e01b815291820185905292519395506001600160a01b0391821694610100909304909116926321f8a72192602480840193919291829003018186803b158015610ca257600080fd5b505afa158015610cb6573d6000803e3d6000fd5b505050506040513d6020811015610ccc57600080fd5b50516001600160a01b0316141580610cf957506000818152600560205260409020546001600160a01b0316155b15610d0a57600093505050506107c9565b50600101610c1b565b50600191505090565b610d2461174a565b610d2d81611795565b6000610d37611805565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015610d8c57600080fd5b505afa158015610da0573d6000803e3d6000fd5b505050506040513d6020811015610db657600080fd5b5051905080610e03576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b6000610e1a6007548361187090919063ffffffff16565b905060008111610e68576040805162461bcd60e51b81526020600482015260146024820152732737903a37b5b2b739903a37903932b1b7bb32b960611b604482015290519081900360640190fd5b610e8b8382610e75611805565b6001600160a01b0316919063ffffffff61181e16565b604080516001600160a01b03851681526020810183905281517f14e7312259d4851b8b6742ace55ac44b31d7929a6b2998b35ba22445859e5ee3929181900390910190a1505050565b610edc61174a565b6001600160a01b038116610f37576040805162461bcd60e51b815260206004820152601960248201527f496e76616c696420706572696f6420636f6e74726f6c6c657200000000000000604482015290519081900360640190fd5b600980546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb81e5409e39d3d3d85951a2af3563e484cfe2e7b4af2500a0ecbe14035a9bddc9181900360200190a150565b6002546001600160a01b031681565b60009081526008602052604090206001015490565b60045460ff1681565b6000610fc2611805565b905090565b60009081526008602052604090206003015490565b6060610fe6611275565b905060005b81518110156111b557600082828151811061100257fe5b602002602001015190506000600460019054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200180807f5265736f6c766572206d697373696e67207461726765743a20000000000000008152506019018281526020019150506040516020818303038152906040526040518363ffffffff1660e01b81526004018083815260200180602001828103825283818151815260200191508051906020019080838360005b838110156110cd5781810151838201526020016110b5565b50505050905090810190601f1680156110fa5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561111857600080fd5b505afa15801561112c573d6000803e3d6000fd5b505050506040513d602081101561114257600080fd5b505160008381526005602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610feb565b5050565b6002546001600160a01b031633146112025760405162461bcd60e51b8152600401808060200182810382526035815260200180611f016035913960400191505060405180910390fd5b600154600254604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160028054600180546001600160a01b03199081166001600160a01b03841617909155169055565b60408051600280825260608083018452926020830190803883390190505090506822bc31b430b733b2b960b91b816000815181106112af57fe5b6020026020010181815250506a5065726946696e616e636560a81b816001815181106112d757fe5b60200260200101818152505090565b6001546001600160a01b031681565b60035481565b60009081526008602052604090206002015490565b6000610fc2600754611320611805565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561137557600080fd5b505afa158015611389573d6000803e3d6000fd5b505050506040513d602081101561139f57600080fd5b50519063ffffffff61187016565b6113b561174a565b6113be82611795565b6006548110611414576040805162461bcd60e51b815260206004820152601a60248201527f43616e6e6f74207265636f7665722066726f6d20616374697665000000000000604482015290519081900360640190fd5b60008181526008602052604090206003810154611478576040805162461bcd60e51b815260206004820152601f60248201527f4e6f207265776172647320617661696c61626c6520746f207265636f76657200604482015290519081900360640190fd5b600381015461148a8482610e75611805565b60075461149d908263ffffffff61187016565b6007556000838152600860209081526040808320805460ff1916815560018101849055600281018490556003019290925581516001600160a01b038716815290810183905280820185905290517f60f2caebb6d06055322fce1f0db429f6bc0a48534c8c9ba42359a80f36bb7f0c9181900360600190a150505050565b600080546001019081905560045460ff16156115675760405162461bcd60e51b815260040180806020018281038252603c815260200180611f86603c913960400191505060405180910390fd5b611571338361193e565b60005481146111b5576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60006115d38383611a9d565b90505b92915050565b6009546001600160a01b031690565b600080546001019081905560045460ff16156116385760405162461bcd60e51b815260040180806020018281038252603c815260200180611f86603c913960400191505060405180910390fd5b60005b8281101561166d57600084848381811061165157fe5b905060200201359050611664338261193e565b5060010161163b565b5060005481146116c4576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b60009081526008602090815260408083206001600160a01b0394909416835260049093019052205490565b6000805b8281101561173c57600084848381811061170e57fe5b9050602002013590506117316117248783611a9d565b849063ffffffff6118cd16565b9250506001016116f8565b509392505050565b60075490565b6001546001600160a01b031633146117935760405162461bcd60e51b815260040180806020018281038252602f815260200180611f36602f913960400191505060405180910390fd5b565b6001600160a01b03811615806117b357506001600160a01b03811630145b15610ac8576040805162461bcd60e51b815260206004820152601760248201527f496e76616c6964207265636f7665722061646472657373000000000000000000604482015290519081900360640190fd5b6000610fc26a5065726946696e616e636560a81b611b41565b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526116c4908490611c25565b6000828211156118c7576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000828201838110156115d3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610fc26822bc31b430b733b2b960b91b611b41565b6000818152600860205260409020805460ff166119a2576040805162461bcd60e51b815260206004820152601760248201527f506572696f64206973206e6f742066696e616c697a6564000000000000000000604482015290519081900360640190fd5b60006119ae8484611a9d565b9050600081116119fc576040805162461bcd60e51b81526020600482015260146024820152734e6f207265776172647320617661696c61626c6560601b604482015290519081900360640190fd5b6001600160a01b03841660009081526004830160205260408120556003820154611a2c908263ffffffff61187016565b6003830155600754611a44908263ffffffff61187016565b600755611a548482610e75611805565b604080518281526020810185905281516001600160a01b038716927fdacbdde355ba930696a362ea6738feb9f8bd52dfb3d81947558fd3217e23e325928290030190a250505050565b600081815260086020526040812060038101541580611abe57506001810154155b80611acb5750805460ff16155b15611ada5760009150506115d6565b6001600160a01b038416600090815260048201602052604090205480611b05576000925050506115d6565b6000611b1e836001015483611de390919063ffffffff16565b9050611b37836002015482611e0d90919063ffffffff16565b9695505050505050565b600081815260056020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081611c1e5760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015611be3578181015183820152602001611bcb565b50505050905090810190601f168015611c105780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b611c37826001600160a01b0316611e37565b611c88576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b60208310611cc65780518252601f199092019160209182019101611ca7565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d8060008114611d28576040519150601f19603f3d011682016040523d82523d6000602084013e611d2d565b606091505b509150915081611d84576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b805115611ddd57808060200190516020811015611da057600080fd5b5051611ddd5760405162461bcd60e51b815260040180806020018281038252602a815260200180611fc2602a913960400191505060405180910390fd5b50505050565b60006115d382611e0185670de0b6b3a764000063ffffffff611e3d16565b9063ffffffff611e9616565b6000670de0b6b3a7640000611e28848463ffffffff611e3d16565b81611e2f57fe5b049392505050565b3b151590565b600082611e4c575060006115d6565b82820282848281611e5957fe5b04146115d35760405162461bcd60e51b8152600401808060200182810382526021815260200180611f656021913960400191505060405180910390fd5b6000808211611eec576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481611ef757fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e7472616374206973207061757365645361666545524332303a204552433230206f7065726174696f6e20646964206e6f742073756363656564a265627a7a723158201fc58a3d2f5dc51b71a195b6e2099484331bbcdffe715077c86ebb1b8aaf5e3564736f6c63430005100032",
			"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": "0x39f3f4845c02b6ed1a73152bb6eca405942cdffe6393eaa85c9f6d532ec56ce6",
				"urls": [
					"bzz-raw://8a643b4041d485c9e4b343e9ba076e59a37b234d96760931ba98226d908a1905",
					"dweb:/ipfs/QmVhVpxNTtVWmMYz4ywbCr4GCmAtQ2hEhZ4j7GCxxHzZHQ"
				]
			},
			"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": "0x39f3f4845c02b6ed1a73152bb6eca405942cdffe6393eaa85c9f6d532ec56ce6",
						"urls": [
							"bzz-raw://8a643b4041d485c9e4b343e9ba076e59a37b234d96760931ba98226d908a1905",
							"dweb:/ipfs/QmVhVpxNTtVWmMYz4ywbCr4GCmAtQ2hEhZ4j7GCxxHzZHQ"
						]
					}
				},
				"version": 1
			}
		},
		"EscrowChecker": {
			"bytecode": "608060405234801561001057600080fd5b506040516103173803806103178339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b03199092169190911790556102b2806100656000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c8063449d0eb11461003b57806359bd89761461009a575b600080fd5b6100616004803603602081101561005157600080fd5b50356001600160a01b03166100be565b604051808261020080838360005b8381101561008757818101518382015260200161006f565b5050505090500191505060405180910390f35b6100a2610231565b604080516001600160a01b039092168252519081900360200190f35b6100c6610240565b6100ce610240565b6000805460408051631025b3b560e11b81526001600160a01b0387811660048301529151919092169163204b676a916024808301926020929190829003018186803b15801561011c57600080fd5b505afa158015610130573d6000803e3d6000fd5b505050506040513d602081101561014657600080fd5b5051905060005b818110156102285761015d61025f565b6000546040805163da7bd3e960e01b81526001600160a01b03898116600483015260248201869052825193169263da7bd3e992604480840193919291829003018186803b1580156101ad57600080fd5b505afa1580156101c1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525060408110156101e657600080fd5b5080519091508460028402601081106101fb57fe5b6020020152806001602002015184836002026001016010811061021a57fe5b60200201525060010161014d565b50909392505050565b6000546001600160a01b031681565b6040518061020001604052806010906020820280388339509192915050565b6040518060400160405280600290602082028038833950919291505056fea265627a7a72315820adbe823bfde7f9f1072b8b9905b86d212826bfeeb11629cee00de345b0fb08cd64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "_esc",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "checkAccountSchedule",
					"outputs": [
						{
							"internalType": "uint256[16]",
							"name": "",
							"type": "uint256[16]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x449d0eb1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periFinance_escrow",
					"outputs": [
						{
							"internalType": "contract IPeriFinanceEscrow",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59bd8976"
				}
			],
			"source": {
				"keccak256": "0x30aecc989dc5b5d530ec9e0f8186b16934d7b7117c6ce38dd5bbf4ab52e7e969",
				"urls": [
					"bzz-raw://6cd91f0a9d782b4621f4832cdfaa20eff856fee80e81bc29898f05177cb650c3",
					"dweb:/ipfs/QmWR2vcbpB7M8b9hdrRxHgrd6GzyKWthwQg8JfMNNkDwbd"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"EscrowChecker.sol": "EscrowChecker"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"EscrowChecker.sol": {
						"keccak256": "0x30aecc989dc5b5d530ec9e0f8186b16934d7b7117c6ce38dd5bbf4ab52e7e969",
						"urls": [
							"bzz-raw://6cd91f0a9d782b4621f4832cdfaa20eff856fee80e81bc29898f05177cb650c3",
							"dweb:/ipfs/QmWR2vcbpB7M8b9hdrRxHgrd6GzyKWthwQg8JfMNNkDwbd"
						]
					}
				},
				"version": 1
			}
		},
		"SupplySchedule": {
			"bytecode": "6080604052600060045534801561001557600080fd5b506040516110263803806110268339818101604052606081101561003857600080fd5b5080516020820151604090920151909190826001600160a01b0381166100a5576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060029190915560035550610f0f806101176000396000f3fe608060405234801561001057600080fd5b50600436106101735760003560e01c80637e1b823f116100de578063be801f0111610097578063d12a701d11610071578063d12a701d14610310578063d3bd4bde14610318578063dbd3a6a714610320578063df5a9fc11461032857610173565b8063be801f01146102da578063c1b7ca11146102e2578063cc5c095c1461030857610173565b80637e1b823f1461027a5780637e7961d7146102825780638da5cb5b1461029f5780639bdd7ac7146102a7578063b3b2bcc0146102af578063badef30a146102d257610173565b806346b45af71161013057806346b45af7146101f05780634ae265211461020c5780634e070f501461022957806353a47bb71461024657806379ba50971461026a5780637c0605571461027257610173565b80631627540c146101785780631de40e49146101a057806322af2bab146101ba578063251330f1146101c257806325542064146101e057806346872a23146101e8575b600080fd5b61019e6004803603602081101561018e57600080fd5b50356001600160a01b0316610330565b005b6101a861038c565b60408051918252519081900360200190f35b6101a8610397565b6101ca6103a4565b6040805160ff9092168252519081900360200190f35b6101a86103a9565b6101a86103b4565b6101f86103bb565b604080519115158252519081900360200190f35b61019e6004803603602081101561022257600080fd5b50356103db565b6101a86004803603602081101561023f57600080fd5b5035610466565b61024e610526565b604080516001600160a01b039092168252519081900360200190f35b61019e610535565b6101ca6105f1565b6101a86105f6565b6101f86004803603602081101561029857600080fd5b50356105fe565b61024e61076b565b6101a861077a565b6101a8600480360360408110156102c557600080fd5b5080359060200135610780565b6101a86108ba565b6101a86108c8565b61019e600480360360208110156102f857600080fd5b50356001600160a01b03166108ce565b6101a8610981565b61024e610ade565b6101a8610aed565b6101a8610af3565b6101a8610b48565b610338610b4f565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b662c68af0bb1400081565b680ad78ebc5ac620000081565b603481565b66b1a2bc2ec5000081565b6201518081565b600062093a80600254420311156103d4575060016103d8565b5060005b90565b6103e3610b4f565b680ad78ebc5ac620000081111561042b5760405162461bcd60e51b8152600401808060200182810382526026815260200180610eb56026913960400191505060405180910390fd5b60048190556040805182815290517f036e0c635f8b7d9314bb6f2a577046108ef0f8b5e3869fbd29fd5a448ed99d309181900360200190a150565b600080610500836104f4662c68af0bb1400073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156104bc57600080fd5b505af41580156104d0573d6000803e3d6000fd5b505050506040513d60208110156104e657600080fd5b50519063ffffffff610b9a16565b9063ffffffff610bf716565b9050600061051e69104a18ef4d3b7a9a2b208363ffffffff610cb316565b949350505050565b6001546001600160a01b031681565b6001546001600160a01b0316331461057e5760405162461bcd60e51b8152600401808060200182810382526035815260200180610dfb6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60ac81565b6360e8e30081565b60055460408051636a5c1cc960e11b815290516000926001600160a01b03169163d4b83992916004808301926020929190829003018186803b15801561064357600080fd5b505afa158015610657573d6000803e3d6000fd5b505050506040513d602081101561066d57600080fd5b50516001600160a01b031633146106b55760405162461bcd60e51b8152600401808060200182810382526035815260200180610e306035913960400191505060405180910390fd5b60006106bf610af3565b6003549091506106d5908263ffffffff610cdd16565b600381905561071790620151809061070b906106fa9062093a8063ffffffff610d3716565b6360e8e3009063ffffffff610cdd16565b9063ffffffff610cdd16565b6002819055604080518581526020810184905280820192909252426060830152517f601e517d4811033fed8290c79b7823ce1ab70258da45400fe2391a3c7432edab9181900360800190a150600192915050565b6000546001600160a01b031681565b60045481565b60008061081e836104f46107a266b1a2bc2ec50000603463ffffffff610d9016565b73__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107e657600080fd5b505af41580156107fa573d6000803e3d6000fd5b505050506040513d602081101561081057600080fd5b50519063ffffffff610cdd16565b90506108b06108a373__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561086a57600080fd5b505af415801561087e573d6000803e3d6000fd5b505050506040513d602081101561089457600080fd5b5051839063ffffffff610b9a16565b859063ffffffff610cb316565b9150505b92915050565b69104a18ef4d3b7a9a2b2081565b60025481565b6108d6610b4f565b6001600160a01b038116610927576040805162461bcd60e51b81526020600482015260136024820152720416464726573732063616e6e6f74206265203606c1b604482015290519081900360640190fd5b600580546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4094b32859be9f48a78da629a4781a3dba62f3ac0c160db0d2b16fad5b7e4570916020908290030190a150565b60008061098c6103bb565b6109975790506103d8565b60006109a1610af3565b6003549091505b8115610ad65760010160348110156109e2576109d48369104a18ef4d3b7a9a2b2063ffffffff610cdd16565b925060001990910190610ad1565b60ac8111610a275760006109fd82603363ffffffff610b9a16565b9050610a18610a0b82610466565b859063ffffffff610cdd16565b93505060001990910190610ad1565b600554604080516318160ddd60e01b815290516000926001600160a01b0316916318160ddd916004808301926020929190829003018186803b158015610a6c57600080fd5b505afa158015610a80573d6000803e3d6000fd5b505050506040513d6020811015610a9657600080fd5b505190506000610aac828663ffffffff610cdd16565b9050610ac8610abb8286610780565b869063ffffffff610cdd16565b94506000935050505b6109a8565b509091505090565b6005546001600160a01b031681565b60035481565b600080600060025411610b1957610b14426360e8e30063ffffffff610b9a16565b610b2d565b600254610b2d90429063ffffffff610b9a16565b9050610b428162093a8063ffffffff610d9016565b91505090565b62093a8081565b6000546001600160a01b03163314610b985760405162461bcd60e51b815260040180806020018281038252602f815260200180610e65602f913960400191505060405180910390fd5b565b600082821115610bf1576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008073__$4162ccbd5d91574b6bbbe632a759499ba8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610c3e57600080fd5b505af4158015610c52573d6000803e3d6000fd5b505050506040513d6020811015610c6857600080fd5b505190505b8215610cac576002830615610c8f57610c8c818563ffffffff610cb316565b90505b610c9f848063ffffffff610cb316565b9350600283049250610c6d565b9392505050565b6000670de0b6b3a7640000610cce848463ffffffff610d3716565b81610cd557fe5b049392505050565b600082820183811015610cac576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082610d46575060006108b4565b82820282848281610d5357fe5b0414610cac5760405162461bcd60e51b8152600401808060200182810382526021815260200180610e946021913960400191505060405180910390fd5b6000808211610de6576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610df157fe5b0494935050505056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c7920746865207065726946696e616e636520636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775265776172642063616e6e6f7420657863656564206d6178206d696e74657220726577617264a265627a7a7231582066ed3f9fa5ec1a1914ea5c689670a2a9332dd5b9b8aede1ff527cdc7d53b110264736f6c63430005100032",
			"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": "0x7347a4b5753c2e598746755801fb9b77cfe2f30a6a53b215f257ce16d453c357",
				"urls": [
					"bzz-raw://ee5bc87939d8c20a8cddda36cfdfd8b937235565c05692d5a6de18e05cddf2c7",
					"dweb:/ipfs/QmeWtDLXesp538FGumxDwmdZtNhg3BUQyuJ9fN2bB5JTjM"
				]
			},
			"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": "0x7347a4b5753c2e598746755801fb9b77cfe2f30a6a53b215f257ce16d453c357",
						"urls": [
							"bzz-raw://ee5bc87939d8c20a8cddda36cfdfd8b937235565c05692d5a6de18e05cddf2c7",
							"dweb:/ipfs/QmeWtDLXesp538FGumxDwmdZtNhg3BUQyuJ9fN2bB5JTjM"
						]
					}
				},
				"version": 1
			}
		},
		"MultiCollateralPynth": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200445d3803806200445d833981016040819052620000349162000383565b888888888888888880888888888660128a86816001600160a01b038116620000795760405162461bcd60e51b81526004016200007090620005dc565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000c691849062000580565b60405180910390a1506000546001600160a01b0316620000fa5760405162461bcd60e51b81526004016200007090620005ca565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e906200014790839062000570565b60405180910390a150600580546001600160a01b0319166001600160a01b03881617905584516200018090600690602088019062000255565b5083516200019690600790602087019062000255565b50506008919091556009805460ff191660ff9092169190911790555050600b80546001600160a01b0319166001600160a01b0394851617905550508816620001f25760405162461bcd60e51b81526004016200007090620005a6565b6001600160a01b0384166200021b5760405162461bcd60e51b81526004016200007090620005b8565b5050600d555050600e80546001600160a01b0319166001600160a01b03959095169490941790935550620006dc9950505050505050505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200029857805160ff1916838001178555620002c8565b82800160010185558215620002c8579182015b82811115620002c8578251825591602001919060010190620002ab565b50620002d6929150620002da565b5090565b620002f791905b80821115620002d65760008155600101620002e1565b90565b80516200030781620006ac565b92915050565b80516200030781620006c6565b80516200030781620006d1565b600082601f8301126200033957600080fd5b8151620003506200034a8262000615565b620005ee565b915080825260208301602083018583830111156200036d57600080fd5b6200037a83828462000679565b50505092915050565b60008060008060008060008060006101208a8c031215620003a357600080fd5b6000620003b18c8c620002fa565b9950506020620003c48c828d016200031a565b98505060408a01516001600160401b03811115620003e157600080fd5b620003ef8c828d0162000327565b97505060608a01516001600160401b038111156200040c57600080fd5b6200041a8c828d0162000327565b96505060806200042d8c828d01620002fa565b95505060a0620004408c828d016200030d565b94505060c0620004538c828d016200030d565b93505060e0620004668c828d01620002fa565b9250506101006200047a8c828d01620002fa565b9150509295985092959850929598565b62000495816200066c565b82525050565b620004958162000646565b6000620004b56012836200063d565b7105f70726f78792063616e6e6f7420626520360741b815260200192915050565b6000620004e56012836200063d565b7105f6f776e65722063616e6e6f7420626520360741b815260200192915050565b6000620005156011836200063d565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620005446019836200063d565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200030782846200048a565b604081016200059082856200048a565b6200059f60208301846200049b565b9392505050565b602080825281016200030781620004a6565b602080825281016200030781620004d6565b60208082528101620003078162000506565b60208082528101620003078162000535565b6040518181016001600160401b03811182821017156200060d57600080fd5b604052919050565b60006001600160401b038211156200062c57600080fd5b506020601f91909101601f19160190565b90815260200190565b6000620003078262000660565b6000620003078262000646565b6001600160a01b031690565b6000620003078262000653565b60005b83811015620006965781810151838201526020016200067c565b83811115620006a6576000848401525b50505050565b620006b78162000646565b8114620006c357600080fd5b50565b620006b781620002f7565b620006b78162000653565b613d7180620006ec6000396000f3fe6080604052600436106102465760003560e01c80638da5cb5b11610139578063b014c3a3116100b6578063e22760f71161007a578063e22760f71461063c578063e73cced314610651578063e90dd9e214610671578063eb1edd6114610686578063ec5568891461069b578063f7ea7a3d146106b057610246565b8063b014c3a3146105b2578063bc67f832146105d2578063d67bdd25146105f2578063dbd06c8514610607578063dd62ed3e1461061c57610246565b80639cbdaeb6116100fd5780639cbdaeb6146105355780639dc29fac1461054a5780639f7698071461056a578063a9059cbb1461058a578063af5a5e4c146105aa57610246565b80638da5cb5b146104b857806392d5011f146104cd57806395d89b41146104ed57806397107d6d146105025780639a26669e1461052257610246565b8063440c6778116101c757806379ba50971161018b57806379ba5097146104215780637f4dab2f14610436578063842efb0114610456578063867904b414610476578063899ffef41461049657610246565b8063440c6778146103955780634466ec2c146103b557806353a47bb7146103ca57806370a08231146103ec578063741853601461040c57610246565b806318160ddd1161020e57806318160ddd1461030757806323b872dd146103295780632af64bd3146103495780632e0f26251461035e578063313ce5671461038057610246565b806304f3bcec1461024b57806306fdde0314610276578063095ea7b314610298578063131b0ae7146102c55780631627540c146102e7575b600080fd5b34801561025757600080fd5b506102606106d0565b60405161026d9190613ab5565b60405180910390f35b34801561028257600080fd5b5061028b6106df565b60405161026d9190613ac3565b3480156102a457600080fd5b506102b86102b3366004612eeb565b61076d565b60405161026d919061397d565b3480156102d157600080fd5b506102e56102e0366004612df0565b6107fb565b005b3480156102f357600080fd5b506102e5610302366004612df0565b610825565b34801561031357600080fd5b5061031c610883565b60405161026d919061398b565b34801561033557600080fd5b506102b8610344366004612e6e565b610889565b34801561035557600080fd5b506102b86108b2565b34801561036a57600080fd5b506103736109ca565b60405161026d9190613bf4565b34801561038c57600080fd5b506103736109cf565b3480156103a157600080fd5b506102e56103b0366004612df0565b6109d8565b3480156103c157600080fd5b50610260610a02565b3480156103d657600080fd5b506103df610a11565b60405161026d919061387c565b3480156103f857600080fd5b5061031c610407366004612df0565b610a20565b34801561041857600080fd5b506102e5610aa9565b34801561042d57600080fd5b506102e5610bff565b34801561044257600080fd5b5061031c610451366004612df0565b610ca4565b34801561046257600080fd5b506102e5610471366004612df0565b610de4565b34801561048257600080fd5b506102e5610491366004612eeb565b610e0e565b3480156104a257600080fd5b506104ab610f8e565b60405161026d919061396c565b3480156104c457600080fd5b506103df6110ac565b3480156104d957600080fd5b506102e56104e8366004612ebb565b6110bb565b3480156104f957600080fd5b5061028b6110ee565b34801561050e57600080fd5b506102e561051d366004612df0565b611149565b6102e5610530366004613050565b61119c565b34801561054157600080fd5b50610260611449565b34801561055657600080fd5b506102e5610565366004612eeb565b611458565b34801561057657600080fd5b506102e5610585366004612ff6565b6115d9565b34801561059657600080fd5b506102b86105a5366004612eeb565b611608565b6102e5611699565b3480156105be57600080fd5b506102b86105cd366004612eeb565b611893565b3480156105de57600080fd5b506102e56105ed366004612df0565b6119f3565b3480156105fe57600080fd5b506103df611a1d565b34801561061357600080fd5b5061031c611a2c565b34801561062857600080fd5b5061031c610637366004612e34565b611a32565b34801561064857600080fd5b506103df611ab5565b34801561065d57600080fd5b506102b861066c366004612e6e565b611ac4565b34801561067d57600080fd5b50610260611c0f565b34801561069257600080fd5b506103df611c1e565b3480156106a757600080fd5b50610260611c36565b3480156106bc57600080fd5b506102e56106cb366004613014565b611c45565b600b546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107655780601f1061073a57610100808354040283529160200191610765565b820191906000526020600020905b81548152906001019060200180831161074857829003601f168201915b505050505081565b6000610777611c52565b60048054600554604051633691826360e21b81526001600160a01b0392831693919092169163da46098c916107b291859189918991016138b3565b600060405180830381600087803b1580156107cc57600080fd5b505af11580156107e0573d6000803e3d6000fd5b505050506107ef818585611ca9565b60019150505b92915050565b610803611d29565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b61082d611d29565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061087890839061387c565b60405180910390a150565b60085481565b6000610893611c52565b61089d8483611d53565b6108a8848484611e88565b90505b9392505050565b600060606108be610f8e565b905060005b81518110156109c05760008282815181106108da57fe5b6020908102919091018101516000818152600c90925260409182902054600b5492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061092b90859060040161398b565b60206040518083038186803b15801561094357600080fd5b505afa158015610957573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061097b9190810190612e16565b6001600160a01b03161415806109a657506000818152600c60205260409020546001600160a01b0316155b156109b757600093505050506109c7565b506001016108c3565b5060019150505b90565b601281565b60095460ff1681565b6109e0611d29565b600f80546001600160a01b0319166001600160a01b0392909216919091179055565b600f546001600160a01b031681565b6001546001600160a01b031681565b6005546040516370a0823160e01b81526000916001600160a01b0316906370a0823190610a5190859060040161387c565b60206040518083038186803b158015610a6957600080fd5b505afa158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa19190810190613032565b90505b919050565b6060610ab3610f8e565b905060005b8151811015610bfb576000828281518110610acf57fe5b602002602001015190506000600b60009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610b119190613866565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610b3d9291906139a7565b60206040518083038186803b158015610b5557600080fd5b505afa158015610b69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b8d9190810190612e16565b6000838152600c60205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610be99084908490613999565b60405180910390a15050600101610ab8565b5050565b6001546001600160a01b03163314610c325760405162461bcd60e51b8152600401610c2990613ae4565b60405180910390fd5b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610c75926001600160a01b0391821692911690613898565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600080610caf612019565b6001600160a01b03166319d5c66584600d546040518363ffffffff1660e01b8152600401610cde9291906138db565b60606040518083038186803b158015610cf657600080fd5b505afa158015610d0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d2e9190810190613093565b50506005546040516370a0823160e01b81529192506000916001600160a01b03909116906370a0823190610d6690879060040161387c565b60206040518083038186803b158015610d7e57600080fd5b505afa158015610d92573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610db69190810190613032565b905080821115610dcb57600092505050610aa4565b610ddb818363ffffffff61203516565b92505050610aa4565b610dec611d29565b600e80546001600160a01b0319166001600160a01b0392909216919091179055565b6000610e1861205d565b6001600160a01b0316336001600160a01b03161490506000610e38612019565b6001600160a01b0316336001600160a01b03161490506000610e58612072565b6001600160a01b0316336001600160a01b03161490506000610e78612086565b6001600160a01b0316336001600160a01b03161490506000610e986120a3565b6001600160a01b0316336001600160a01b03161490506000610eb86120c4565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b8152600401610ee3919061388a565b60206040518083038186803b158015610efb57600080fd5b505afa158015610f0f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f339190810190612fd8565b90508580610f3e5750845b80610f465750835b80610f4e5750825b80610f565750815b80610f5e5750805b610f7a5760405162461bcd60e51b8152600401610c2990613b24565b610f8488886120e3565b5050505050505050565b606080610f996121fb565b60408051600580825260c08201909252919250606091906020820160a0803883390190505090507021b7b63630ba32b930b626b0b730b3b2b960791b81600081518110610fe257fe5b6020026020010181815250506e115d1a195c90dbdb1b185d195c985b608a1b8160018151811061100e57fe5b60200260200101818152505072115d1a195c90dbdb1b185d195c985b1c1554d1606a1b8160028151811061103e57fe5b6020026020010181815250506d53797374656d53657474696e677360901b8160038151811061106957fe5b6020026020010181815250506844656274436163686560b81b8160048151811061108f57fe5b6020026020010181815250506110a582826122b7565b9250505090565b6000546001600160a01b031681565b6110c3611d29565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107655780601f1061073a57610100808354040283529160200191610765565b611151611d29565b600280546001600160a01b0319166001600160a01b0383161790556040517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9061087890839061388a565b6111a4611c52565b600f546001600160a01b03166111cc5760405162461bcd60e51b8152600401610c2990613ba4565b600083116111ec5760405162461bcd60e51b8152600401610c2990613bc4565b6111f4612373565b6001600160a01b031663962438036040518163ffffffff1660e01b815260040160206040518083038186803b15801561122c57600080fd5b505afa158015611240573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112649190810190613032565b3410156112835760405162461bcd60e51b8152600401610c2990613b64565b600e546040516001600160a01b03909116903480156108fc02916000818181858888f193505050501580156112bc573d6000803e3d6000fd5b506004546112d3906001600160a01b03168461238f565b6112ef5760405162461bcd60e51b8152600401610c2990613b44565b6112f7612455565b6001600160a01b0316638376a782631c1554d160e21b73__$403e5438a00a7d3d295861087c3305b322$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561135157600080fd5b505af4158015611365573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113899190810190613032565b6040518363ffffffff1660e01b81526004016113a69291906139c7565b600060405180830381600087803b1580156113c057600080fd5b505af11580156113d4573d6000803e3d6000fd5b5050600f54600480546040516362f0c06b60e01b81526001600160a01b0393841695506362f0c06b9450611412939091169188918891889101613937565b600060405180830381600087803b15801561142c57600080fd5b505af1158015611440573d6000803e3d6000fd5b50505050505050565b6003546001600160a01b031681565b600061146261205d565b6001600160a01b0316336001600160a01b03161490506000611482612019565b6001600160a01b0316336001600160a01b031614905060006114a2612072565b6001600160a01b0316336001600160a01b031614905060006114c2612086565b6001600160a01b0316336001600160a01b031614905060006114e26120a3565b6001600160a01b0316336001600160a01b031614905060006115026120c4565b6001600160a01b031663b38988f7336040518263ffffffff1660e01b815260040161152d919061388a565b60206040518083038186803b15801561154557600080fd5b505afa158015611559573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061157d9190810190612fd8565b905085806115885750845b806115905750835b806115985750825b806115a05750815b806115a85750805b6115c45760405162461bcd60e51b8152600401610c2990613b24565b6115ce888861238f565b505050505050505050565b6115e161246c565b600580546001600160a01b0319166001600160a01b038316179055611605816124f1565b50565b6000611612611c52565b600454611628906001600160a01b031683611d53565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561165e576116578383612598565b90506107f5565b6001600160a01b03831661168257600454611657906001600160a01b03168361238f565b6004546108ab906001600160a01b031684846126e5565b6116a1611c52565b600f546001600160a01b03166116c95760405162461bcd60e51b8152600401610c2990613ba4565b600f5460048054604051630145b42f60e31b81526060936001600160a01b0390811693630a2da178936116ff939216910161387c565b60006040518083038186803b15801561171757600080fd5b505afa15801561172b573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526117539190810190612fa3565b905060008151116117765760405162461bcd60e51b8152600401610c2990613b84565b61177e612373565b6001600160a01b03166387c24d346040518163ffffffff1660e01b815260040160206040518083038186803b1580156117b657600080fd5b505afa1580156117ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117ee9190810190613032565b34101561180d5760405162461bcd60e51b8152600401610c2990613b64565b600e546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015611846573d6000803e3d6000fd5b5060005b8151811015610bfb5761186f82828151811061186257fe5b60200260200101516128aa565b61188b5760405162461bcd60e51b8152600401610c2990613b74565b60010161184a565b600061189d611c52565b60006118a7612019565b60048054600d546040516306c5a00b60e21b81526001600160a01b0394851694631b16802c946118dc949091169291016138db565b606060405180830381600087803b1580156118f657600080fd5b505af115801561190a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061192e9190810190613093565b92508491505081156119c157600554600480546040516370a0823160e01b81526001600160a01b03938416936370a082319361196e93909116910161387c565b60206040518083038186803b15801561198657600080fd5b505afa15801561199a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119be9190810190613032565b90505b8084116119ce57836119d0565b805b6004549094506119ea906001600160a01b031686866126e5565b95945050505050565b6119fb612a8c565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600d5481565b600554604051636eb1769f60e11b81526000916001600160a01b03169063dd62ed3e90611a659086908690600401613898565b60206040518083038186803b158015611a7d57600080fd5b505afa158015611a91573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108ab9190810190613032565b600e546001600160a01b031681565b6000611ace611c52565b6000611ad8612019565b6001600160a01b0316631b16802c86600d546040518363ffffffff1660e01b8152600401611b079291906138db565b606060405180830381600087803b158015611b2157600080fd5b505af1158015611b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b599190810190613093565b9250849150508115611be8576005546040516370a0823160e01b81526001600160a01b03909116906370a0823190611b9590899060040161387c565b60206040518083038186803b158015611bad57600080fd5b505afa158015611bc1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611be59190810190613032565b90505b80841015611bf65783611bf8565b805b9350611c05868686611e88565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b611c4d61246c565b600855565b6002546001600160a01b03163314801590611c7857506003546001600160a01b03163314155b8015611c8f57506004546001600160a01b03163314155b15611ca757600480546001600160a01b031916331790555b565b6002546040516001600160a01b039091169063907dff9790611ccf90849060200161398b565b6040516020818303038152906040526003604051611cec90613845565b6040518091039020611cfd88612acb565b611d0688612acb565b60006040518763ffffffff1660e01b815260040161141296959493929190613a6e565b6000546001600160a01b03163314611ca75760405162461bcd60e51b8152600401610c2990613b54565b611d5b612019565b6001600160a01b031663059c29ec83600d546040518363ffffffff1660e01b8152600401611d8a9291906138db565b60206040518083038186803b158015611da257600080fd5b505afa158015611db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dda9190810190613032565b15611df75760405162461bcd60e51b8152600401610c2990613bb4565b80611e0183610ca4565b1015611e1f5760405162461bcd60e51b8152600401610c2990613b14565b611e27612ad7565b6001600160a01b0316631d7e7789600d546040518263ffffffff1660e01b8152600401611e54919061398b565b60006040518083038186803b158015611e6c57600080fd5b505afa158015611e80573d6000803e3d6000fd5b505050505050565b60055460048054604051636eb1769f60e11b8152600093600019936001600160a01b039182169363dd62ed3e93611ec4938b9392169101613898565b60206040518083038186803b158015611edc57600080fd5b505afa158015611ef0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f149190810190613032565b1461200e5760055460048054604051636eb1769f60e11b81526001600160a01b039384169363da46098c93899390911691611fbd918891879163dd62ed3e91611f61918891889101613898565b60206040518083038186803b158015611f7957600080fd5b505afa158015611f8d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611fb19190810190613032565b9063ffffffff61203516565b6040518463ffffffff1660e01b8152600401611fdb939291906138b3565b600060405180830381600087803b158015611ff557600080fd5b505af1158015612009573d6000803e3d6000fd5b505050505b6108a88484846126e5565b60006120306822bc31b430b733b2b960b91b612aed565b905090565b6000828211156120575760405162461bcd60e51b8152600401610c2990613b34565b50900390565b600061203066119959541bdbdb60ca1b612aed565b60006120306524b9b9bab2b960d11b612aed565b60006120306e115d1a195c90dbdb1b185d195c985b608a1b612aed565b600061203072115d1a195c90dbdb1b185d195c985b1c1554d1606a1b612aed565b60006120307021b7b63630ba32b930b626b0b730b3b2b960791b612aed565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f690849061217f90859085906370a082319061212390869060040161387c565b60206040518083038186803b15801561213b57600080fd5b505afa15801561214f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121739190810190613032565b9063ffffffff612b4a16565b6040518363ffffffff1660e01b815260040161219c9291906138db565b600060405180830381600087803b1580156121b657600080fd5b505af11580156121ca573d6000803e3d6000fd5b50506008546121e2925090508263ffffffff612b4a16565b6008556121f160008383612b6f565b610bfb8282612bb2565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b8160008151811061223b57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160018151811061226157fe5b6020026020010181815250506524b9b9bab2b960d11b8160028151811061228457fe5b60200260200101818152505066119959541bdbdb60ca1b816003815181106122a857fe5b60200260200101818152505090565b606081518351016040519080825280602002602001820160405280156122e7578160200160208202803883390190505b50905060005b83518110156123295783818151811061230257fe5b602002602001015182828151811061231657fe5b60209081029190910101526001016122ed565b5060005b825181101561236c5782818151811061234257fe5b602002602001015182828651018151811061235957fe5b602090810291909101015260010161232d565b5092915050565b60006120306d53797374656d53657474696e677360901b612aed565b6005546040516370a0823160e01b81526000916001600160a01b03169063b46310f69085906123d090869085906370a0823190611f6190869060040161387c565b6040518363ffffffff1660e01b81526004016123ed9291906138db565b600060405180830381600087803b15801561240757600080fd5b505af115801561241b573d6000803e3d6000fd5b5050600854612433925090508363ffffffff61203516565b60085561244283600084612b6f565b61244c8383612c58565b50600192915050565b60006120306844656274436163686560b81b612aed565b6002546001600160a01b0316331480159061249257506003546001600160a01b03163314155b80156124a957506004546001600160a01b03163314155b156124c157600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614611ca75760405162461bcd60e51b8152600401610c2990613af4565b6002546040516001600160a01b039091169063907dff979061251790849060200161387c565b604051602081830303815290604052600160405161253490613850565b6040519081900381206001600160e01b031960e086901b168252612563939291600090819081906004016139d5565b600060405180830381600087803b15801561257d57600080fd5b505af1158015612591573d6000803e3d6000fd5b5050505050565b600080600d54631c1554d160e21b14156125cc575060045482906125c6906001600160a01b031685836126e5565b50612676565b6125d4612019565b60048054600d54604051630a1e187d60e01b81526001600160a01b0394851694630a1e187d94612621949091169291899173feefeefeefeefeefeefeefeefeefeefeefeefeef91016138f6565b602060405180830381600087803b15801561263b57600080fd5b505af115801561264f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126739190810190613032565b90505b61267e61205d565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b81526004016126a9919061398b565b600060405180830381600087803b1580156126c357600080fd5b505af11580156126d7573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b0383161580159061270857506001600160a01b0383163014155b801561272257506002546001600160a01b03848116911614155b61273e5760405162461bcd60e51b8152600401610c2990613ad4565b6001600160a01b0384166000908152600a602052604090205460ff16156127775760405162461bcd60e51b8152600401610c2990613be4565b6005546040516370a0823160e01b81526001600160a01b039091169063b46310f69086906127b790869085906370a0823190611f6190869060040161387c565b6040518363ffffffff1660e01b81526004016127d49291906138db565b600060405180830381600087803b1580156127ee57600080fd5b505af1158015612802573d6000803e3d6000fd5b50506005546040516370a0823160e01b81526001600160a01b03909116925063b46310f69150859061284690869085906370a082319061212390869060040161387c565b6040518363ffffffff1660e01b81526004016128639291906138db565b600060405180830381600087803b15801561287d57600080fd5b505af1158015612891573d6000803e3d6000fd5b505050506128a0848484612b6f565b5060019392505050565b600f54604051631e1d164f60e01b8152600091829182916001600160a01b031690631e1d164f906128df90879060040161398b565b6101006040518083038186803b1580156128f857600080fd5b505afa15801561290c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506129309190810190612f1b565b505060045493955091935050506001600160a01b038084169116146129675760405162461bcd60e51b8152600401610c2990613b94565b600f5460405163484f80c560e11b81526001600160a01b039091169063909f018a9061299990879085906004016139c7565b600060405180830381600087803b1580156129b357600080fd5b505af11580156129c7573d6000803e3d6000fd5b505050506129d582826120e3565b6129dd612455565b6001600160a01b0316638376a782631c1554d160e21b73__$403e5438a00a7d3d295861087c3305b322$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612a3757600080fd5b505af4158015612a4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a6f9190810190613032565b6040518363ffffffff1660e01b81526004016126a99291906139c7565b6002546001600160a01b0316331480612aaf57506003546001600160a01b031633145b611ca75760405162461bcd60e51b8152600401610c2990613bd4565b6001600160a01b031690565b60006120306b53797374656d53746174757360a01b5b6000818152600c602090815260408083205490516001600160a01b039091169182151591612b1d9186910161381a565b6040516020818303038152906040529061236c5760405162461bcd60e51b8152600401610c299190613ac3565b6000828201838110156108ab5760405162461bcd60e51b8152600401610c2990613b04565b6002546040516001600160a01b039091169063907dff9790612b9590849060200161398b565b6040516020818303038152906040526003604051611cec90613871565b6002546040516001600160a01b039091169063907dff9790612bd890849060200161398b565b6040516020818303038152906040526002604051612bf59061385b565b6040518091039020612c0687612acb565b6000806040518763ffffffff1660e01b8152600401612c2a96959493929190613a34565b600060405180830381600087803b158015612c4457600080fd5b505af1158015611e80573d6000803e3d6000fd5b6002546040516001600160a01b039091169063907dff9790612c7e90849060200161398b565b6040516020818303038152906040526002604051612bf59061383a565b80356107f581613cf6565b80516107f581613cf6565b600082601f830112612cc257600080fd5b8151612cd5612cd082613c29565b613c02565b91508181835260208401935060208101905083856020840282011115612cfa57600080fd5b60005b83811015612d265781612d108882612d51565b8452506020928301929190910190600101612cfd565b5050505092915050565b80356107f581613d0a565b80516107f581613d0a565b80356107f581613d13565b80516107f581613d13565b80356107f581613d1c565b600060608284031215612d7957600080fd5b50919050565b600060608284031215612d9157600080fd5b612d9b6060613c02565b90506000612da98484612d51565b8252506020612dba84848301612d51565b6020830152506040612dce84828501612de5565b60408301525092915050565b80356107f581613d25565b80516107f581613d25565b600060208284031215612e0257600080fd5b6000612e0e8484612c9b565b949350505050565b600060208284031215612e2857600080fd5b6000612e0e8484612ca6565b60008060408385031215612e4757600080fd5b6000612e538585612c9b565b9250506020612e6485828601612c9b565b9150509250929050565b600080600060608486031215612e8357600080fd5b6000612e8f8686612c9b565b9350506020612ea086828701612c9b565b9250506040612eb186828701612d46565b9150509250925092565b60008060408385031215612ece57600080fd5b6000612eda8585612c9b565b9250506020612e6485828601612d30565b60008060408385031215612efe57600080fd5b6000612f0a8585612c9b565b9250506020612e6485828601612d46565b6000806000806000806101008789031215612f3557600080fd5b6000612f418989612ca6565b9650506020612f5289828a01612d51565b9550506040612f6389828a01612d51565b9450506060612f7489828a01612d51565b9350506080612f8589828a01612d3b565b92505060a0612f9689828a01612d7f565b9150509295509295509295565b600060208284031215612fb557600080fd5b815167ffffffffffffffff811115612fcc57600080fd5b612e0e84828501612cb1565b600060208284031215612fea57600080fd5b6000612e0e8484612d3b565b60006020828403121561300857600080fd5b6000612e0e8484612d5c565b60006020828403121561302657600080fd5b6000612e0e8484612d46565b60006020828403121561304457600080fd5b6000612e0e8484612d51565b600080600060a0848603121561306557600080fd5b60006130718686612d46565b935050602061308286828701612d46565b9250506040612eb186828701612d67565b6000806000606084860312156130a857600080fd5b60006130b48686612d51565b93505060206130c586828701612d51565b9250506040612eb186828701612d51565b60006130e28383613164565b505060200190565b6130f381613c9c565b82525050565b6130f381613c7b565b600061310d82613c50565b6131178185613c54565b935061312283613c4a565b8060005b8381101561315057815161313a88826130d6565b975061314583613c4a565b925050600101613126565b509495945050505050565b6130f381613c86565b6130f3816109c7565b6130f3613179826109c7565b6109c7565b600061318982613c50565b6131938185613c54565b93506131a3818560208601613cc0565b6131ac81613cec565b9093019392505050565b6130f381613c8b565b6130f381613ca7565b6130f381613cb5565b60006131de601f83613c54565b7f43616e6e6f74207472616e7366657220746f2074686973206164647265737300815260200192915050565b6000613217603583613c54565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b600061326e601383613c54565b7227bbb732b91037b7363c90333ab731ba34b7b760691b815260200192915050565b600061329d601b83613c54565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006132d6602f83613c54565b7f496e73756666696369656e742062616c616e636520616674657220616e79207381526e6574746c656d656e74206f77696e6760881b602082015260400192915050565b6000613327604483613c54565b7f4f6e6c7920466565506f6f6c2c2045786368616e6765722c204973737565722081527f6f72204d756c7469436f6c6c61746572616c20636f6e74726163747320616c6c6020820152631bddd95960e21b604082015260600192915050565b6000613393601e83613c54565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b60006133cc601183610aa4565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006133f9601783610aa4565b7f4275726e656428616464726573732c75696e7432353629000000000000000000815260170192915050565b6000613432600e83613c54565b6d189d5c9b9a5b99c819985a5b195960921b815260200192915050565b600061345c602f83613c54565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006134ad602183610aa4565b7f417070726f76616c28616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b60006134f0601583613c54565b74199959481a5cc81b9bdd081cdd59999a58da595b9d605a1b815260200192915050565b6000613521601a83610aa4565b7f546f6b656e5374617465557064617465642861646472657373290000000000008152601a0192915050565b600061355a601783610aa4565b7f49737375656428616464726573732c75696e7432353629000000000000000000815260170192915050565b631c1554d160e21b9052565b600061359f600f83613c54565b6e4661696c656420746f20636c61696d60881b815260200192915050565b60006135ca601983610aa4565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000613603600c83613c54565b6b4e6f20636c61696d61626c6560a01b815260200192915050565b600061362b601583613c54565b7410d85b1b195c881a5cc81b9bdd081b585d18da1959605a1b815260200192915050565b600061365c602e83613c54565b7f427269646765205374617465206d7573742062652073657420746f2063616c6c81526d103a3434b990333ab731ba34b7b760911b602082015260400192915050565b60006136ac602583613c54565b7f43616e6e6f74207472616e7366657220647572696e672077616974696e672070815264195c9a5bd960da1b602082015260400192915050565b60006136f3602183610aa4565b7f5472616e7366657228616464726573732c616464726573732c75696e743235368152602960f81b602082015260210192915050565b6000613736601483613c54565b7343616e6e6f74207472616e73666572207a65726f60601b815260200192915050565b6000613766601783613c54565b7f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000815260200192915050565b600061379f600f83613c54565b6e426c6f636b6564206164647265737360881b815260200192915050565b606082016137cb8280613c5d565b6137d58482613164565b506137e36020830183613c5d565b6137f06020850182613164565b506137fe6040830183613c6c565b61380b6040850182613811565b50505050565b6130f381613c96565b6000613825826133bf565b9150613831828461316d565b50602001919050565b60006107f5826133ec565b60006107f5826134a0565b60006107f582613514565b60006107f58261354d565b6000613825826135bd565b60006107f5826136e6565b602081016107f582846130f9565b602081016107f582846130ea565b604081016138a682856130f9565b6108ab60208301846130f9565b606081016138c182866130f9565b6138ce60208301856130f9565b612e0e6040830184613164565b604081016138e982856130f9565b6108ab6020830184613164565b60a0810161390482876130f9565b6139116020830186613164565b61391e6040830185613164565b61392a60608301613586565b6119ea60808301846130f9565b60c0810161394582876130f9565b6139526020830186613164565b61395f6040830185613164565b6119ea60608301846137bd565b602080825281016108ab8184613102565b602081016107f5828461315b565b602081016107f58284613164565b604081016138a68285613164565b604081016139b58285613164565b81810360208301526108a8818461317e565b604081016138e98285613164565b60c080825281016139e6818961317e565b90506139f560208301886131c8565b613a026040830187613164565b613a0f60608301866131bf565b613a1c60808301856131bf565b613a2960a08301846131bf565b979650505050505050565b60c08082528101613a45818961317e565b9050613a5460208301886131c8565b613a616040830187613164565b613a0f6060830186613164565b60c08082528101613a7f818961317e565b9050613a8e60208301886131c8565b613a9b6040830187613164565b613aa86060830186613164565b613a1c6080830185613164565b602081016107f582846131b6565b602080825281016108ab818461317e565b60208082528101610aa1816131d1565b60208082528101610aa18161320a565b60208082528101610aa181613261565b60208082528101610aa181613290565b60208082528101610aa1816132c9565b60208082528101610aa18161331a565b60208082528101610aa181613386565b60208082528101610aa181613425565b60208082528101610aa18161344f565b60208082528101610aa1816134e3565b60208082528101610aa181613592565b60208082528101610aa1816135f6565b60208082528101610aa18161361e565b60208082528101610aa18161364f565b60208082528101610aa18161369f565b60208082528101610aa181613729565b60208082528101610aa181613759565b60208082528101610aa181613792565b602081016107f58284613811565b60405181810167ffffffffffffffff81118282101715613c2157600080fd5b604052919050565b600067ffffffffffffffff821115613c4057600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006108ab6020840184612d46565b60006108ab6020840184612dda565b6000610aa182612acb565b151590565b6000610aa182613c7b565b60ff1690565b6000610aa182613c8b565b6000610aa1613179836109c7565b6000610aa1826109c7565b60005b83811015613cdb578181015183820152602001613cc3565b8381111561380b5750506000910152565b601f01601f191690565b613cff81613c7b565b811461160557600080fd5b613cff81613c86565b613cff816109c7565b613cff81613c8b565b613cff81613c9656fea365627a7a723158209bdcfdf0404ffd60f06b8433f41ef5646c376b87f78466e39fadf3630c40cb906c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_proxy",
							"type": "address"
						},
						{
							"internalType": "contract TokenState",
							"name": "_tokenState",
							"type": "address"
						},
						{
							"internalType": "string",
							"name": "_tokenName",
							"type": "string"
						},
						{
							"internalType": "string",
							"name": "_tokenSymbol",
							"type": "string"
						},
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "_totalSupply",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address payable",
							"name": "_bridgeValidator",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Approval",
					"type": "event",
					"signature": "0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Burned",
					"type": "event",
					"signature": "0x696de425f79f4a40bc6d2122ca50507f0efbeabbff86a84871b7196ab8ea8df7"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Issued",
					"type": "event",
					"signature": "0xa59f12e354e8cd10bb74c559844c2dd69a5458e31fe56c7594c62ca57480509a"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "proxyAddress",
							"type": "address"
						}
					],
					"name": "ProxyUpdated",
					"type": "event",
					"signature": "0xfc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newTokenState",
							"type": "address"
						}
					],
					"name": "TokenStateUpdated",
					"type": "event",
					"signature": "0xa538c4dcfe9fb148efee2952bafe34982d2d07d5fbb38ae5b44abf659a46bfd8"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": true,
							"internalType": "address",
							"name": "to",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "Transfer",
					"type": "event",
					"signature": "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "DECIMALS",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2e0f2625"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "FEE_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeb1edd61"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						}
					],
					"name": "allowance",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdd62ed3e"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "spender",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "value",
							"type": "uint256"
						}
					],
					"name": "approve",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x095ea7b3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeState",
					"outputs": [
						{
							"internalType": "contract IBridgeState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4466ec2c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "bridgeValidator",
					"outputs": [
						{
							"internalType": "address payable",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe22760f7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "burn",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9dc29fac"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "claimAllBridgedAmounts",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0xaf5a5e4c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currencyKey",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdbd06c85"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "decimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x313ce567"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "integrationProxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9cbdaeb6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "issue",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x867904b4"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "messageSender",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd67bdd25"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "name",
					"outputs": [
						{
							"internalType": "string",
							"name": "",
							"type": "string"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x06fdde03"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_destChainId",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct IBridgeState.Signature",
							"name": "_sign",
							"type": "tuple"
						}
					],
					"name": "overchainTransfer",
					"outputs": [],
					"payable": true,
					"stateMutability": "payable",
					"type": "function",
					"signature": "0x9a26669e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "proxy",
					"outputs": [
						{
							"internalType": "contract Proxy",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xec556889"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setBlockedAddress",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x92d5011f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_newBridgeState",
							"type": "address"
						}
					],
					"name": "setBridgeState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x440c6778"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address payable",
							"name": "_bridgeValidator",
							"type": "address"
						}
					],
					"name": "setBridgeValidator",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x842efb01"
				},
				{
					"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": "0x835ef1db967b6441a31d7f7f50430a31ede5584efcadb476d1a6afdd6fc488fb",
				"urls": [
					"bzz-raw://8cd8c95c46c9c732140caa05885108c615ad8908284135aede2fd714d755c1c9",
					"dweb:/ipfs/QmZKXMGjgbwRd1vgu5cdzKZDZonhe3bGvxR8CJACtZ5H31"
				]
			},
			"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": "0x835ef1db967b6441a31d7f7f50430a31ede5584efcadb476d1a6afdd6fc488fb",
						"urls": [
							"bzz-raw://8cd8c95c46c9c732140caa05885108c615ad8908284135aede2fd714d755c1c9",
							"dweb:/ipfs/QmZKXMGjgbwRd1vgu5cdzKZDZonhe3bGvxR8CJACtZ5H31"
						]
					}
				},
				"version": 1
			}
		},
		"StakingStateUSDC": {
			"bytecode": "608060405234801561001057600080fd5b506040516111683803806111688339818101604052606081101561003357600080fd5b508051602082015160409092015190919081836001600160a01b0381166100a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031661014b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150600380546001600160a01b039092166001600160a01b03199092169190911790555050610f99806101cf6000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806379ba5097116100ad578063bb09d9b711610071578063bb09d9b71461034c578063c2a672e014610354578063c93c8f3414610380578063f2bc4c9c146103a6578063fd5e6dd1146103ae5761012c565b806379ba5097146102e25780638da5cb5b146102ea578063adc9772e146102f2578063aefc4ccb1461031e578063b2dd5c07146103265761012c565b8063410085df116100f4578063410085df1461022a57806352f445ca1461026a57806353a47bb714610290578063567e98f9146102b45780635fcdad91146102bc5761012c565b80631627540c146101315780631f91ce0314610159578063313ce56714610191578063320f90d4146101af5780633d4358b114610222575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b03166103cb565b005b61017f6004803603602081101561016f57600080fd5b50356001600160a01b0316610427565b60408051918252519081900360200190f35b61019961048c565b6040805160ff9092168252519081900360200190f35b6101d2600480360360408110156101c557600080fd5b5080359060200135610491565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561020e5781810151838201526020016101f6565b505050509050019250505060405180910390f35b61017f610573565b6102566004803603604081101561024057600080fd5b506001600160a01b038135169060200135610579565b604080519115158252519081900360200190f35b6101576004803603602081101561028057600080fd5b50356001600160a01b0316610673565b6102986106cf565b604080516001600160a01b039092168252519081900360200190f35b61017f6106de565b61017f600480360360208110156102d257600080fd5b50356001600160a01b03166106e4565b6101576106f6565b6102986107b2565b6101576004803603604081101561030857600080fd5b506001600160a01b0381351690602001356107c1565b61029861096c565b6102566004803603602081101561033c57600080fd5b50356001600160a01b031661097b565b610298610990565b6101576004803603604081101561036a57600080fd5b506001600160a01b03813516906020013561099f565b6102566004803603602081101561039657600080fd5b50356001600160a01b0316610b42565b61017f610b5f565b610298600480360360208110156103c457600080fd5b5035610b65565b6103d3610b8c565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6001600160a01b0381166000908152600460205260408120548190158061044e5750600654155b610482576006546001600160a01b03841660009081526004602052604090205461047d9163ffffffff610bd716565b610485565b60005b9392505050565b600690565b606060085483830111156104d65760405162461bcd60e51b8152600401808060200182810382526023815260200180610f426023913960400191505060405180910390fd5b606082604051908082528060200260200182016040528015610502578160200160208202803883390190505b50905060005b838110156105695760088582018154811061051f57fe5b9060005260206000200160009054906101000a90046001600160a01b031682828151811061054957fe5b6001600160a01b0390921660209283029190910190910152600101610508565b5090505b92915050565b60085490565b6002546000906001600160a01b031633146105c55760405162461bcd60e51b8152600401808060200182810382526034815260200180610eea6034913960400191505060405180910390fd5b6105cd610bec565b6001600160a01b031663a9059cbb846105f18564e8d4a5100063ffffffff610c5416565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561064057600080fd5b505af1158015610654573d6000803e3d6000fd5b505050506040513d602081101561066a57600080fd5b50519392505050565b61067b610b8c565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b60065481565b60046020526000908152604090205481565b6001546001600160a01b0316331461073f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610e3f6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6002546001600160a01b0316331461080a5760405162461bcd60e51b8152600401808060200182810382526034815260200180610eea6034913960400191505060405180910390fd5b6001600160a01b0382166000908152600460205260409020541580156108305750600081115b156108c35761083d610cbe565b6001600160a01b03821660009081526007602052604090205460ff166108c3576001600160a01b0382166000818152600760205260408120805460ff191660019081179091556008805491820181559091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30180546001600160a01b03191690911790555b6001600160a01b0382166000908152600460205260409020546108ec908263ffffffff610cd716565b6001600160a01b038316600090815260046020526040902055600654610918908263ffffffff610cd716565b6006556001600160a01b0382167fa7cce4e8ff59a515dccbee3a6382e94deb1db79bdb43cf35a51251d41ea395f08261095085610427565b6040805192835260208301919091528051918290030190a25050565b6002546001600160a01b031681565b60076020526000908152604090205460ff1681565b6003546001600160a01b031681565b6002546001600160a01b031633146109e85760405162461bcd60e51b8152600401808060200182810382526034815260200180610eea6034913960400191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054811115610a3f5760405162461bcd60e51b8152600401808060200182810382526026815260200180610e746026913960400191505060405180910390fd5b806006541015610a805760405162461bcd60e51b8152600401808060200182810382526024815260200180610f1e6024913960400191505060405180910390fd5b6001600160a01b038216600090815260046020526040902054610aa9908263ffffffff610d3116565b610ab557610ab5610d8e565b6001600160a01b038216600090815260046020526040902054610ade908263ffffffff610d3116565b6001600160a01b038316600090815260046020526040902055600654610b0a908263ffffffff610d3116565b6006556001600160a01b0382167f3b60256e821e357caf3d06e48635070876d10074a5b47de82d24b8df4fe217bc8261095085610427565b6001600160a01b0316600090815260046020526040902054151590565b60055481565b60088181548110610b7257fe5b6000918252602090912001546001600160a01b0316905081565b6000546001600160a01b03163314610bd55760405162461bcd60e51b815260040180806020018281038252602f815260200180610e9a602f913960400191505060405180910390fd5b565b60006104858383670de0b6b3a7640000610da2565b6003546000906001600160a01b0316610c44576040805162461bcd60e51b815260206004820152601560248201527455534443206164647265737320697320656d70747960581b604482015290519081900360640190fd5b506003546001600160a01b031690565b6000808211610caa576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610cb557fe5b04949350505050565b600554610cd290600163ffffffff610cd716565b600555565b600082820183811015610485576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115610d88576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600554610cd290600163ffffffff610d3116565b600080610dc884610dbc87600a870263ffffffff610de516565b9063ffffffff610c5416565b90506005600a820610610dd957600a015b600a9004949350505050565b600082610df45750600061056d565b82820282848281610e0157fe5b04146104855760405162461bcd60e51b8152600401808060200182810382526021815260200180610ec96021913960400191505060405180910390fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869705573657220646f65736e2774206861766520656e6f756768207374616b656420616d6f756e744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e4e6f7420656e6f756768207374616b656420616d6f756e7420746f20776974686472617772657175657374696e672073697a6520697320746f6f2062696720746f207175657279a265627a7a723158200592bb52941fa8ab3fe0f51601b776bea5a0eaef3fdf2c1ac1b9272481a67cf164736f6c63430005100032",
			"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": true,
					"inputs": [],
					"name": "USDC_ADDRESS",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xbb09d9b7"
				},
				{
					"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": "uint256",
							"name": "_index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_cnt",
							"type": "uint256"
						}
					],
					"name": "getStakersByRange",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x320f90d4"
				},
				{
					"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": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "registered",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb2dd5c07"
				},
				{
					"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": "_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": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "stakers",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfd5e6dd1"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakersLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3d4358b1"
				},
				{
					"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": "0xb2cac4d70973a3b5b9b151d14e96b9317d66c38a3607eec675c57d52598907ef",
				"urls": [
					"bzz-raw://1f1d1f0a6828efac3cb4bfe14827afc363feb02048fb41e6441e5cc9b1a838eb",
					"dweb:/ipfs/QmaaiyfPjdBABPtL9kG8Bh9YeuXnZpZfBVKh9mDsBLorH1"
				]
			},
			"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": "0xb2cac4d70973a3b5b9b151d14e96b9317d66c38a3607eec675c57d52598907ef",
						"urls": [
							"bzz-raw://1f1d1f0a6828efac3cb4bfe14827afc363feb02048fb41e6441e5cc9b1a838eb",
							"dweb:/ipfs/QmaaiyfPjdBABPtL9kG8Bh9YeuXnZpZfBVKh9mDsBLorH1"
						]
					}
				},
				"version": 1
			}
		},
		"ExternalRateAggregator": {
			"bytecode": "608060405234801561001057600080fd5b50604051610a72380380610a728339818101604052604081101561003357600080fd5b508051602090910151816001600160a01b038116610098576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b0319166001600160a01b039290921691909117905550610951806101216000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c80637dc0d1d0116100665780637dc0d1d01461013a5780638da5cb5b14610142578063be908cc61461014a578063cc425ca61461020c578063dc726205146102425761009e565b80631627540c146100a357806345938849146100cb57806353a47bb7146100e857806379ba50971461010c5780637adbf97314610114575b600080fd5b6100c9600480360360208110156100b957600080fd5b50356001600160a01b0316610288565b005b6100c9600480360360208110156100e157600080fd5b50356102e4565b6100f06102fd565b604080516001600160a01b039092168252519081900360200190f35b6100c961030c565b6100c96004803603602081101561012a57600080fd5b50356001600160a01b03166103c8565b6100f061044d565b6100f061045c565b6100c96004803603606081101561016057600080fd5b81019060208101813564010000000081111561017b57600080fd5b82018360208201111561018d57600080fd5b803590602001918460208302840111640100000000831117156101af57600080fd5b9193909290916020810190356401000000008111156101cd57600080fd5b8201836020820111156101df57600080fd5b8035906020019184602083028401116401000000008311171561020157600080fd5b91935091503561046b565b6102296004803603602081101561022257600080fd5b5035610706565b6040805192835260208301919091528051918290030190f35b61025f6004803603602081101561025857600080fd5b5035610732565b604080516001600160d81b03909316835264ffffffffff90911660208301528051918290030190f35b61029061075d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6102ec6107a8565b600090815260036020526040812055565b6001546001600160a01b031681565b6001546001600160a01b031633146103555760405162461bcd60e51b81526004018080602001828103825260358152602001806107f26035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6103d061075d565b6001600160a01b03811661042b576040805162461bcd60e51b815260206004820152601760248201527f416464726573732063616e6e6f7420626520656d707479000000000000000000604482015290519081900360640190fd5b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b031681565b6000546001600160a01b031681565b6104736107a8565b8382146104b15760405162461bcd60e51b81526004018080602001828103825260388152602001806108e56038913960400191505060405180910390fd5b61025842018110610509576040805162461bcd60e51b815260206004820152601f60248201527f54696d6520697320746f6f2066617220696e746f207468652066757475726500604482015290519081900360640190fd5b60005b8481101561066b57600086868381811061052257fe5b905060200201359050600085858481811061053957fe5b905060200201356001600160d81b03166001600160d81b0316905080600014156105945760405162461bcd60e51b81526004018080602001828103825260388152602001806108276038913960400191505060405180910390fd5b81631c1554d160e21b14156105da5760405162461bcd60e51b81526004018080602001828103825260308152602001806108b56030913960400191505060405180910390fd5b600082815260036020526040902054600160d81b900464ffffffffff16841015610605575050610663565b6040805180820182526001600160d81b03928316815264ffffffffff8681166020808401918252600096875260039052929094209051815492516001600160d81b031990931690841617909216600160d81b91909316029190911790555b60010161050c565b507f7cfeb70f400e28b69f0a00347f62ba540035dde0023e3b61b4094ba51bfdf1f6858585856040518080602001806020018381038352878782818152602001925060200280828437600083820152601f01601f19169091018481038352858152602090810191508690860280828437600083820152604051601f909101601f19169092018290039850909650505050505050a15050505050565b6000908152600360205260409020546001600160d81b03811691600160d81b90910464ffffffffff1690565b6003602052600090815260409020546001600160d81b03811690600160d81b900464ffffffffff1682565b6000546001600160a01b031633146107a65760405162461bcd60e51b815260040180806020018281038252602f815260200180610886602f913960400191505060405180910390fd5b565b6002546001600160a01b031633146107a65760405162461bcd60e51b815260040180806020018281038252602781526020018061085f6027913960400191505060405180910390fdfe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869705a65726f206973206e6f7420612076616c696420726174652c20706c656173652063616c6c2064656c6574655261746520696e73746561644f6e6c7920746865206f7261636c652063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e52617465206f6620705553442063616e6e6f7420626520757064617465642c206974277320616c7761797320554e495443757272656e6379206b6579206172726179206c656e677468206d757374206d61746368207261746573206172726179206c656e6774682ea265627a7a72315820178121b904c8cd358a1aaee047584a0c18b58706da785fbfd65d3854f11851b264736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_oracle",
							"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": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						},
						{
							"indexed": false,
							"internalType": "uint216[]",
							"name": "newRates",
							"type": "uint216[]"
						}
					],
					"name": "RatesUpdated",
					"type": "event",
					"signature": "0x7cfeb70f400e28b69f0a00347f62ba540035dde0023e3b61b4094ba51bfdf1f6"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"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": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getRateAndUpdatedTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcc425ca6"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "oracle",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dc0d1d0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"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": "address",
							"name": "_oracle",
							"type": "address"
						}
					],
					"name": "setOracle",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7adbf973"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "_currencyKeys",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint216[]",
							"name": "_newRates",
							"type": "uint216[]"
						},
						{
							"internalType": "uint256",
							"name": "timeSent",
							"type": "uint256"
						}
					],
					"name": "updateRates",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xbe908cc6"
				}
			],
			"source": {
				"keccak256": "0xa727e894f42a9e8495271aee1251affe24d0fdbf1e3883827a326e54fa9a9563",
				"urls": [
					"bzz-raw://a2025d9652723e1a87d655a7adc13e598be71ac23d069170df3dceabc7f6b4d1",
					"dweb:/ipfs/QmdzEUzK35YmYpv6ppekwZkW26XF4N5sVn3CtQTFoKX3e1"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExternalRateAggregator.sol": "ExternalRateAggregator"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"ExternalRateAggregator.sol": {
						"keccak256": "0xa727e894f42a9e8495271aee1251affe24d0fdbf1e3883827a326e54fa9a9563",
						"urls": [
							"bzz-raw://a2025d9652723e1a87d655a7adc13e598be71ac23d069170df3dceabc7f6b4d1",
							"dweb:/ipfs/QmdzEUzK35YmYpv6ppekwZkW26XF4N5sVn3CtQTFoKX3e1"
						]
					}
				},
				"version": 1
			}
		},
		"Depot": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$5b1a0139898c1861867d128118276f8f0f$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051603202600c5560408051630241ebdb60e61b8152905173__$5b1a0139898c1861867d128118276f8f0f$__9163907af6c0916004808301926020929190829003018186803b158015620000c557600080fd5b505af4158015620000da573d6000803e3d6000fd5b505050506040513d6020811015620000f157600080fd5b50516101f402600d553480156200010757600080fd5b50604051620033d3380380620033d3833981810160405260608110156200012d57600080fd5b508051602082015160409092015190919080836001600160a01b0381166200019c576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031662000247576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b039283166001600160a01b03199182161790915560078054949092169316929092179091555050613145806200028e6000396000f3fe6080604052600436106101f95760003560e01c806379ba50971161010d578063ae4133b2116100a0578063c3969b341161006f578063c3969b3414610774578063c6abb7c71461079e578063ce727e41146107d1578063dcaa3e9f146107fb578063fd12167f14610818576101f9565b8063ae4133b2146106be578063b02c43d0146106e8578063b1338cc414610735578063bb7df1721461074a576101f9565b8063a2c90838116100dc578063a2c908381461062c578063a705a8341461065c578063a8f984461461067f578063aab483d614610694576101f9565b806379ba509714610588578063899ffef41461059d5780638da5cb5b1461060257806391b4ded914610617576101f9565b80634d0387fb1161019057806364e39b871161015f57806364e39b871461051b5780636d5ab4a91461054e5780636fd62e8c14610563578063741853601461056b57806376569fbf14610580576101f9565b80634d0387fb146104b257806353a47bb7146104c75780635a81c346146104dc5780635c975abb14610506576101f9565b80632194f3a2116101cc5780632194f3a2146104205780632af64bd31461043557806334d2e0f21461045e57806343de4fd014610488576101f9565b806304f3bcec14610367578063080c279a146103985780631627540c146103bf57806316c38b3c146103f4575b60048054600101908190556208aa8960eb1b61021361082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561025657600080fd5b505afa15801561026a573d6000803e3d6000fd5b505050506040513d602081101561028057600080fd5b5051156102c2576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156103045760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b61030c61084e565b50506004548114610364576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b50005b34801561037357600080fd5b5061037c61103e565b604080516001600160a01b039092168252519081900360200190f35b3480156103a457600080fd5b506103ad61104d565b60408051918252519081900360200190f35b3480156103cb57600080fd5b506103f2600480360360208110156103e257600080fd5b50356001600160a01b0316611053565b005b34801561040057600080fd5b506103f26004803603602081101561041757600080fd5b503515156110af565b34801561042c57600080fd5b5061037c611129565b34801561044157600080fd5b5061044a611138565b604080519115158252519081900360200190f35b34801561046a57600080fd5b506103ad6004803603602081101561048157600080fd5b5035611242565b34801561049457600080fd5b506103ad600480360360208110156104ab57600080fd5b50356112d7565b3480156104be57600080fd5b506103ad6113ea565b3480156104d357600080fd5b5061037c6113f0565b3480156104e857600080fd5b506103f2600480360360208110156104ff57600080fd5b50356113ff565b34801561051257600080fd5b5061044a6115c3565b34801561052757600080fd5b506103f26004803603602081101561053e57600080fd5b50356001600160a01b03166115cc565b34801561055a57600080fd5b506103ad61162e565b6103ad611634565b34801561057757600080fd5b506103f2611804565b6103ad6119cc565b34801561059457600080fd5b506103f2611b3f565b3480156105a957600080fd5b506105b2611bfb565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156105ee5781810151838201526020016105d6565b505050509050019250505060405180910390f35b34801561060e57600080fd5b5061037c611c98565b34801561062357600080fd5b506103ad611ca7565b34801561063857600080fd5b506103ad6004803603604081101561064f57600080fd5b5080359060200135611cad565b6103ad6004803603604081101561067257600080fd5b5080359060200135611e7c565b34801561068b57600080fd5b506103f26121c3565b3480156106a057600080fd5b506103f2600480360360208110156106b757600080fd5b50356123fd565b3480156106ca57600080fd5b506103ad600480360360208110156106e157600080fd5b50356124ed565b3480156106f457600080fd5b506107126004803603602081101561070b57600080fd5b5035612588565b604080516001600160a01b03909316835260208301919091528051918290030190f35b34801561074157600080fd5b506103ad6125ad565b34801561075657600080fd5b506103f26004803603602081101561076d57600080fd5b50356125b3565b34801561078057600080fd5b506103ad6004803603602081101561079757600080fd5b50356125f6565b3480156107aa57600080fd5b506103ad600480360360208110156107c157600080fd5b50356001600160a01b0316612686565b3480156107dd57600080fd5b506103f2600480360360208110156107f457600080fd5b5035612698565b6103ad6004803603602081101561081157600080fd5b5035612730565b34801561082457600080fd5b506103ad6128f4565b60006108486c45786368616e6765526174657360981b6128fa565b90505b90565b6000600d543411156108915760405162461bcd60e51b815260040180806020018281038252602581526020018061305b6025913960400191505060405180910390fd5b60008061092161089f61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156108e857600080fd5b505afa1580156108fc573d6000803e3d6000fd5b505050506040513d602081101561091257600080fd5b5051349063ffffffff6129de16565b60095490915081905b60008211801561093b5750600a5481105b15610ee957610948612f20565b50600081815260086020908152604091829020825180840190935280546001600160a01b03168084526001909101549183019190915261099e5760095461099690600163ffffffff612a0816565b600955610ee0565b8281602001511115610c425760208101516000906109c2908563ffffffff612a6216565b60408051808201825284516001600160a01b039081168252602080830185815260008981526008909252939020915182546001600160a01b03191691161781559051600190910155600b54909150610a1a9085612a62565b600b55610aaa610a2861082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a7157600080fd5b505afa158015610a85573d6000803e3d6000fd5b505050506040513d6020811015610a9b57600080fd5b5051859063ffffffff612abf16565b82516040519197506001600160a01b03169087156108fc029088906000818181858888f19350505050610b58576007546040516001600160a01b039091169087156108fc029088906000818181858888f19350505050158015610b11573d6000803e3d6000fd5b5081516040805188815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610ba4565b81516040805188815260208101879052815186936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c929081900390910190a45b610bac612ae9565b6001600160a01b031663a9059cbb33866040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610c0b57600080fd5b505af1158015610c1f573d6000803e3d6000fd5b505050506040513d6020811015610c3557600080fd5b5060009450610ee0915050565b82816020015111610ee057600082815260086020526040812080546001600160a01b0319168155600190810191909155600954610c849163ffffffff612a0816565b6009556020810151600b54610c9e9163ffffffff612a6216565b600b55610d32610cac61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610cf557600080fd5b505afa158015610d09573d6000803e3d6000fd5b505050506040513d6020811015610d1f57600080fd5b505160208301519063ffffffff612abf16565b81516040519196506001600160a01b03169086156108fc029087906000818181858888f19350505050610de0576007546040516001600160a01b039091169086156108fc029087906000818181858888f19350505050158015610d99573d6000803e3d6000fd5b5080516040805187815290516001600160a01b03909216917ff2435d3901399daa085f8b58d2409fff9b83ce4ca97c1f144b532f5a08b1c96c9181900360200190a2610e30565b80516020808301516040805189815292830191909152805185936001600160a01b03169233927f6d957e9e816107f67cb7118461e3c259e96896f80223c9af2972596c2fdd401c92918290030190a45b610e38612ae9565b6001600160a01b031663a9059cbb3383602001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015610e9b57600080fd5b505af1158015610eaf573d6000803e3d6000fd5b505050506040513d6020811015610ec557600080fd5b50506020810151610edd90849063ffffffff612a6216565b92505b5060010161092a565b508015610fab57336108fc610f81610eff61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610f4857600080fd5b505afa158015610f5c573d6000803e3d6000fd5b505050506040513d6020811015610f7257600080fd5b5051849063ffffffff612abf16565b6040518115909202916000818181858888f19350505050158015610fa9573d6000803e3d6000fd5b505b6000610fbd838363ffffffff612a6216565b9050801561103657604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152631c1554d160e21b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a15b935050505090565b6005546001600160a01b031681565b600c5481565b61105b612b00565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6110b7612b00565b60035460ff16151581151514156110cd57611126565b6003805460ff1916821515179081905560ff16156110ea57426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b6007546001600160a01b031681565b60006060611144611bfb565b905060005b815181101561123957600082828151811061116057fe5b6020908102919091018101516000818152600683526040908190205460055482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156111c857600080fd5b505afa1580156111dc573d6000803e3d6000fd5b505050506040513d60208110156111f257600080fd5b50516001600160a01b031614158061121f57506000818152600660205260409020546001600160a01b0316155b15611230576000935050505061084b565b50600101611149565b50600191505090565b60006112d161124f61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561129857600080fd5b505afa1580156112ac573d6000803e3d6000fd5b505050506040513d60208110156112c257600080fd5b5051839063ffffffff6129de16565b92915050565b6000635045524960e01b6112e961082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561132c57600080fd5b505afa158015611340573d6000803e3d6000fd5b505050506040513d602081101561135657600080fd5b505115611398576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156113da5760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b6113e383612b4b565b9392505050565b600b5481565b6001546001600160a01b031681565b611407612ae9565b604080516323b872dd60e01b81523360048201523060248201526044810184905290516001600160a01b0392909216916323b872dd916064808201926020929091908290030181600087803b15801561145f57600080fd5b505af1158015611473573d6000803e3d6000fd5b505050506040513d602081101561148957600080fd5b5050600c5481101561151257336000908152600e60205260409020546114b5908263ffffffff612a0816565b336000818152600e602090815260409182902093909355600c5481519283529282018490528181019290925290517fa53e8531fc7a8d8cd1aeccdc1b953e2b1bfcbeb6f5acb3a8fd571b8c57a5fd3d9181900360600190a1611126565b604080518082018252338082526020808301858152600a8054600090815260088452869020945185546001600160a01b0319166001600160a01b039091161785559051600190940193909355915483518581529351909391927f55037147ed62d28238c4ff02e6d4053961a9fdba94b336f5e2f1c94daf2732a0928290030190a3600a546115a790600163ffffffff612a0816565b600a55600b546115bd908263ffffffff612a0816565b600b5550565b60035460ff1681565b6115d4612b00565b600780546001600160a01b0319166001600160a01b03838116919091179182905560408051929091168252517f4deb077bf9c4bc824cc2c989e01a5e53b0a4ecc44c5039d46abc9ffc88f8a050916020908290030190a150565b60095481565b6000635045524960e01b61164661082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561168957600080fd5b505afa15801561169d573d6000803e3d6000fd5b505050506040513d60208110156116b357600080fd5b5051156116f5576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b6208aa8960eb1b61170461082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561174757600080fd5b505afa15801561175b573d6000803e3d6000fd5b505050506040513d602081101561177157600080fd5b5051156117b3576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156117f55760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b6117fd612cf5565b9250505090565b606061180e611bfb565b905060005b81518110156119c857600082828151811061182a57fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156118e05781810151838201526020016118c8565b50505050905090810190601f16801561190d5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561192b57600080fd5b505afa15801561193f573d6000803e3d6000fd5b505050506040513d602081101561195557600080fd5b505160008381526006602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611813565b5050565b60048054600101908190556000906208aa8960eb1b6119e961082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611a2c57600080fd5b505afa158015611a40573d6000803e3d6000fd5b505050506040513d6020811015611a5657600080fd5b505115611a98576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff1615611ada5760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b611ae261084e565b9250506004548114611b3b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b6001546001600160a01b03163314611b885760405162461bcd60e51b8152600401808060200182810382526035815260200180612f636035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160038082526080820190925260609160208201838038833901905050905068141e5b9d1a1c1554d160ba1b81600081518110611c3757fe5b6020026020010181815250506c45786368616e6765526174657360981b81600181518110611c6157fe5b6020026020010181815250506a5065726946696e616e636560a81b81600281518110611c8957fe5b60200260200101818152505090565b6000546001600160a01b031681565b60025481565b6000635045524960e01b611cbf61082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611d0257600080fd5b505afa158015611d16573d6000803e3d6000fd5b505050506040513d6020811015611d2c57600080fd5b505115611d6e576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff1615611db05760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b611db861082d565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611e0257600080fd5b505afa158015611e16573d6000803e3d6000fd5b505050506040513d6020811015611e2c57600080fd5b50518314611e6b5760405162461bcd60e51b81526004018080602001828103825260258152602001806130ec6025913960400191505060405180910390fd5b611e7484612b4b565b949350505050565b6000635045524960e01b611e8e61082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611ed157600080fd5b505afa158015611ee5573d6000803e3d6000fd5b505050506040513d6020811015611efb57600080fd5b505115611f3d576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b6208aa8960eb1b611f4c61082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611f8f57600080fd5b505afa158015611fa3573d6000803e3d6000fd5b505050506040513d6020811015611fb957600080fd5b505115611ffb576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff161561203d5760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b61204561082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561208e57600080fd5b505afa1580156120a2573d6000803e3d6000fd5b505050506040513d60208110156120b857600080fd5b505185146120f75760405162461bcd60e51b815260040180806020018281038252602b815260200180612f38602b913960400191505060405180910390fd5b6120ff61082d565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561214957600080fd5b505afa15801561215d573d6000803e3d6000fd5b505050506040513d602081101561217357600080fd5b505184146121b25760405162461bcd60e51b8152600401808060200182810382526032815260200180612fb86032913960400191505060405180910390fd5b6121ba612cf5565b95945050505050565b6009546000905b600a548110156122a6576121dc612f20565b50600081815260086020908152604091829020825180840190935280546001600160a01b03168084526001909101549183019190915233141561229d57602081015161222f90849063ffffffff612a0816565b600083815260086020908152604080832080546001600160a01b0319168155600101929092558351848201518351908152925193965085936001600160a01b03909116927fa3192e28d63900a325ec19d7b4c6a3690995015d92e4483f4b3ec54dea5e598492908290030190a35b506001016121ca565b50600b546122ba908263ffffffff612a6216565b600b55336000908152600e60205260409020546122de90829063ffffffff612a0816565b336000908152600e602052604081205590508061232c5760405162461bcd60e51b8152600401808060200182810382526021815260200180612fea6021913960400191505060405180910390fd5b612334612ae9565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561239357600080fd5b505af11580156123a7573d6000803e3d6000fd5b505050506040513d60208110156123bd57600080fd5b5050604080513381526020810183905281517f561ed20453aa36ac35f599e6b1f20818af8d303c090fb9ffc306da39814757b2929181900390910190a150565b612405612b00565b73__$5b1a0139898c1861867d128118276f8f0f$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561244957600080fd5b505af415801561245d573d6000803e3d6000fd5b505050506040513d602081101561247357600080fd5b505181116124b25760405162461bcd60e51b81526004018080602001828103825260308152602001806130806030913960400191505060405180910390fd5b600c8190556040805182815290517fa39eacd162ee82c70b2b030a1bc8fe89adcccc61122fad4821a8772dbcc542679181900360200190a150565b60008061257d6124fb61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561254457600080fd5b505afa158015612558573d6000803e3d6000fd5b505050506040513d602081101561256e57600080fd5b5051849063ffffffff6129de16565b90506113e3816125f6565b600860205260009081526040902080546001909101546001600160a01b039091169082565b600d5481565b6125bb612b00565b600d8190556040805182815290517fdc2be810a133e01cb21a41082f15b2863d96f9fe79d1f84d7e2d5b810c5c82439181900360200190a150565b60006112d161260361082d565b6001600160a01b031663ac82f608635045524960e01b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561264d57600080fd5b505afa158015612661573d6000803e3d6000fd5b505050506040513d602081101561267757600080fd5b5051839063ffffffff612abf16565b600e6020526000908152604090205481565b6126a0612b00565b6126a8612e44565b600080546040805163a9059cbb60e01b81526001600160a01b039283166004820152602481018690529051939091169263a9059cbb92604480840193602093929083900390910190829087803b15801561270157600080fd5b505af1158015612715573d6000803e3d6000fd5b505050506040513d602081101561272b57600080fd5b505050565b60006208aa8960eb1b61274161082d565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561278457600080fd5b505afa158015612798573d6000803e3d6000fd5b505050506040513d60208110156127ae57600080fd5b5051156127f0576040805162461bcd60e51b815260206004820152601b6024820152600080516020612f98833981519152604482015290519081900360640190fd5b60035460ff16156128325760405162461bcd60e51b815260040180806020018281038252603c8152602001806130b0603c913960400191505060405180910390fd5b61283a61082d565b6001600160a01b031663ac82f6086208aa8960eb1b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561288357600080fd5b505afa158015612897573d6000803e3d6000fd5b505050506040513d60208110156128ad57600080fd5b505183146128ec5760405162461bcd60e51b81526004018080602001828103825260258152602001806130ec6025913960400191505060405180910390fd5b6113e361084e565b600a5481565b600081815260066020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816129d75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561299c578181015183820152602001612984565b50505050905090810190601f1680156129c95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b6000670de0b6b3a76400006129f9848463ffffffff612e5d16565b81612a0057fe5b049392505050565b6000828201838110156113e3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b600082821115612ab9576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60006113e382612add85670de0b6b3a764000063ffffffff612e5d16565b9063ffffffff612eb616565b600061084868141e5b9d1a1c1554d160ba1b6128fa565b6000546001600160a01b03163314612b495760405162461bcd60e51b815260040180806020018281038252602f81526020018061300b602f913960400191505060405180910390fd5b565b600080612b57836125f6565b9050612b61612ae9565b600754604080516323b872dd60e01b81523360048201526001600160a01b03928316602482015260448101879052905192909116916323b872dd916064808201926020929091908290030181600087803b158015612bbe57600080fd5b505af1158015612bd2573d6000803e3d6000fd5b505050506040513d6020811015612be857600080fd5b50612bf39050612e44565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612c5257600080fd5b505af1158015612c66573d6000803e3d6000fd5b505050506040513d6020811015612c7c57600080fd5b505060408051602081018590526060810183905260808082526004908201819052631c1554d160e21b60a083015260c0828401819052820152635045524960e01b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a192915050565b600080612d01346124ed565b6007546040519192506001600160a01b0316903480156108fc02916000818181858888f19350505050158015612d3b573d6000803e3d6000fd5b50612d44612e44565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b158015612da357600080fd5b505af1158015612db7573d6000803e3d6000fd5b505050506040513d6020811015612dcd57600080fd5b5050604080513460208201526060810183905260808082526003908201526208aa8960eb1b60a082015260c0818301819052600490820152635045524960e01b60e082015290517fdb1741ffc6844b04a9284bb6337fb0ccfe543a493ef0ac8e725242201e93d4bd918190036101000190a1905090565b60006108486a5065726946696e616e636560a81b6128fa565b600082612e6c575060006112d1565b82820282848281612e7957fe5b04146113e35760405162461bcd60e51b815260040180806020018281038252602181526020018061303a6021913960400191505060405180910390fd5b6000808211612f0c576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481612f1757fe5b04949350505050565b60408051808201909152600080825260208201529056fe47756172616e74656564206574686572207261746520776f756c64206e6f74206265207265636569766564596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869705261746520696e76616c6964206f72206e6f7420612070796e7468000000000047756172616e7465656420706572692066696e616e6365207261746520776f756c64206e6f74206265207265636569766564596f752068617665206e6f206465706f7369747320746f2077697468647261772e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745544820616d6f756e742061626f7665206d61784574685075726368617365206c696d69744d696e696d756d206465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20554e49545468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656447756172616e74656564207261746520776f756c64206e6f74206265207265636569766564a265627a7a723158202d74d734c295d56677f5927c649ed4baa18c9a6689a0e9b7ab15e8945f85a9d364736f6c63430005100032",
			"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": "0x2ea20ee85d01f19f5d33f4e4f54ec39d7db0346b6c514278649abf247276f0bb",
				"urls": [
					"bzz-raw://2ef3d268d0584bcd323d98ea216436e77c4e9002f34edaa99f92c778d663813a",
					"dweb:/ipfs/QmNNzpAmpHTCZLcZF3zdCkxwR3GsNA3Lv55wFKqCMrHptV"
				]
			},
			"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": "0x2ea20ee85d01f19f5d33f4e4f54ec39d7db0346b6c514278649abf247276f0bb",
						"urls": [
							"bzz-raw://2ef3d268d0584bcd323d98ea216436e77c4e9002f34edaa99f92c778d663813a",
							"dweb:/ipfs/QmNNzpAmpHTCZLcZF3zdCkxwR3GsNA3Lv55wFKqCMrHptV"
						]
					}
				},
				"version": 1
			}
		},
		"EtherCollateral": {
			"bytecode": "60806040819052630241ebdb60e61b815273__$09231a05ed34b6851f1018822ecfa0dcb8$__9063907af6c09060849060209060048186803b1580156200004557600080fd5b505af41580156200005a573d6000803e3d6000fd5b505050506040513d60208110156200007157600080fd5b5051607d0260075560408051630241ebdb60e61b8152905160649173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c091600480820192602092909190829003018186803b158015620000c957600080fd5b505af4158015620000de573d6000803e3d6000fd5b505050506040513d6020811015620000f557600080fd5b5051600502816200010257fe5b04600855620001266301e133806008546200042f60201b620021111790919060201c565b6009556103e873__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156200017157600080fd5b505af415801562000186573d6000803e3d6000fd5b505050506040513d60208110156200019d57600080fd5b505160050281620001aa57fe5b04600a5573__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015620001f357600080fd5b505af415801562000208573d6000803e3d6000fd5b505050506040513d60208110156200021f57600080fd5b505161138802600b5560408051630241ebdb60e61b8152905173__$09231a05ed34b6851f1018822ecfa0dcb8$__9163907af6c0916004808301926020929190829003018186803b1580156200027457600080fd5b505af415801562000289573d6000803e3d6000fd5b505050506040513d6020811015620002a057600080fd5b5051600c556032600d55600e805460ff19169055348015620002c157600080fd5b50604051620033343803806200333483398181016040526040811015620002e757600080fd5b50805160209091015180826001600160a01b0381166200034e576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620003f9576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b6001600455600580546001600160a01b0319166001600160a01b039290921691909117905550504262794a0001600f556200049b565b600080821162000486576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816200049257fe5b04949350505050565b612e8980620004ab6000396000f3fe6080604052600436106102725760003560e01c80637cc1f8671161014f578063ab6a34fa116100c1578063e220a8111161007a578063e220a8111461090a578063e3c1e58c14610943578063e40108ed14610958578063e5829d201461096d578063eea8f5da14610997578063f53dfb84146109ac57610272565b8063ab6a34fa146107ff578063b410a03414610875578063bb8c6d6c1461088a578063cf09b4ae146108b6578063d05951a0146108cb578063dcaf9c44146108f557610272565b80638fdc8f3b116101135780638fdc8f3b146106cd57806391b4ded9146106f75780639f7d56881461070c578063a1c5158614610721578063a2e17342146107a5578063a76cdfa5146107d557610272565b80637cc1f867146105b5578063899ffef41461063157806389c937de146106465780638c4638691461067f5780638da5cb5b146106b857610272565b80634f069f66116101e85780635d1a2229116101ac5780635d1a22291461051a5780635f84f302146105445780636b2319381461056e578063741853601461057657806379ba50971461058b5780637c3a00fd146105a057610272565b80634f069f661461048757806350e3b2e7146104b157806353a47bb7146104db57806357b21920146104f05780635c975abb1461050557610272565b806323aa7f0f1161023a57806323aa7f0f1461036357806327cff2e5146103785780632af64bd3146103b15780632f2bf15b146103da578063361e20861461045d5780634189bb491461047257610272565b806304f3bcec14610277578063089f7fb4146102a85780631474b279146102ed5780631627540c1461030257806316c38b3c14610337575b600080fd5b34801561028357600080fd5b5061028c6109d6565b604080516001600160a01b039092168252519081900360200190f35b3480156102b457600080fd5b506102db600480360360208110156102cb57600080fd5b50356001600160a01b03166109e5565b60408051918252519081900360200190f35b3480156102f957600080fd5b506102db6109f7565b34801561030e57600080fd5b506103356004803603602081101561032557600080fd5b50356001600160a01b03166109fd565b005b34801561034357600080fd5b506103356004803603602081101561035a57600080fd5b50351515610a59565b34801561036f57600080fd5b506102db610ad3565b34801561038457600080fd5b506102db6004803603604081101561039b57600080fd5b506001600160a01b038135169060200135610ad9565b3480156103bd57600080fd5b506103c6610b02565b604080519115158252519081900360200190f35b3480156103e657600080fd5b5061040d600480360360208110156103fd57600080fd5b50356001600160a01b0316610c0d565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610449578181015183820152602001610431565b505050509050019250505060405180910390f35b34801561046957600080fd5b506102db610dcb565b34801561047e57600080fd5b506102db610dd1565b34801561049357600080fd5b50610335600480360360208110156104aa57600080fd5b5035610dd7565b3480156104bd57600080fd5b50610335600480360360208110156104d457600080fd5b5035610e1a565b3480156104e757600080fd5b5061028c610e5d565b3480156104fc57600080fd5b506102db610e6c565b34801561051157600080fd5b506103c6610e72565b34801561052657600080fd5b506103356004803603602081101561053d57600080fd5b5035610e7b565b34801561055057600080fd5b506103356004803603602081101561056757600080fd5b5035610f00565b6102db61104c565b34801561058257600080fd5b506103356114e2565b34801561059757600080fd5b506103356116aa565b3480156105ac57600080fd5b506102db611766565b3480156105c157600080fd5b506105ca61176c565b604080519d8e5260208e019c909c528c8c019a909a5260608c019890985260808b019690965260a08a019490945260c089019290925260e0880152610100870152610120860152610140850152610160840152151561018083015251908190036101a00190f35b34801561063d57600080fd5b5061040d6117d7565b34801561065257600080fd5b506102db6004803603604081101561066957600080fd5b506001600160a01b0381351690602001356118be565b34801561068b57600080fd5b506102db600480360360408110156106a257600080fd5b506001600160a01b0381351690602001356118f8565b3480156106c457600080fd5b5061028c611917565b3480156106d957600080fd5b506102db600480360360208110156106f057600080fd5b5035611926565b34801561070357600080fd5b506102db611940565b34801561071857600080fd5b506102db611946565b34801561072d57600080fd5b5061075a6004803603604081101561074457600080fd5b506001600160a01b03813516906020013561194c565b604080516001600160a01b0390991689526020890197909752878701959095526060870193909352608086019190915260a085015260c084015260e083015251908190036101000190f35b3480156107b157600080fd5b506102db600480360360408110156107c857600080fd5b50803590602001356119d3565b3480156107e157600080fd5b50610335600480360360208110156107f857600080fd5b5035611a01565b34801561080b57600080fd5b506108386004803603604081101561082257600080fd5b506001600160a01b038135169060200135611a44565b604080516001600160a01b0390971687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b34801561088157600080fd5b506102db611a9f565b34801561089657600080fd5b50610335600480360360208110156108ad57600080fd5b50351515611ac4565b3480156108c257600080fd5b506102db611b6e565b3480156108d757600080fd5b50610335600480360360208110156108ee57600080fd5b5035611b74565b34801561090157600080fd5b506102db611caf565b34801561091657600080fd5b506103356004803603604081101561092d57600080fd5b506001600160a01b038135169060200135611cb5565b34801561094f57600080fd5b506103c6611e8e565b34801561096457600080fd5b506102db611e97565b34801561097957600080fd5b506103356004803603602081101561099057600080fd5b5035611e9d565b3480156109a357600080fd5b506102db611f71565b3480156109b857600080fd5b506102db600480360360208110156109cf57600080fd5b5035611f77565b6005546001600160a01b031681565b60146020526000908152604090205481565b600d5481565b610a05611f9a565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610a61611f9a565b60035460ff1615158115151415610a7757610ad0565b6003805460ff1916821515179081905560ff1615610a9457426002555b6003546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b60115481565b6000610ae3612bda565b610aed8484611fe5565b9050610af8816120f6565b9150505b92915050565b60006060610b0e6117d7565b905060005b8151811015610c03576000828281518110610b2a57fe5b6020908102919091018101516000818152600683526040908190205460055482516321f8a72160e01b81526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610b9257600080fd5b505afa158015610ba6573d6000803e3d6000fd5b505050506040513d6020811015610bbc57600080fd5b50516001600160a01b0316141580610be957506000818152600660205260409020546001600160a01b0316155b15610bfa5760009350505050610c0a565b50600101610b13565b5060019150505b90565b6001600160a01b03811660009081526013602090815260408083208054825181850281018501909352808352606094859484015b82821015610cb25760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101610c41565b50505050905060608151604051908082528060200260200182016040528015610ce5578160200160208202803883390190505b5090506000805b8351811015610d5357838181518110610d0157fe5b602002602001015160a0015160001415610d4b57838181518110610d2157fe5b602002602001015160800151838381518110610d3957fe5b60209081029190910101526001909101905b600101610cec565b50606081604051908082528060200260200182016040528015610d80578160200160208202803883390190505b50905060005b82811015610dc157838181518110610d9a57fe5b6020026020010151828281518110610dae57fe5b6020908102919091010152600101610d86565b5095945050505050565b600a5481565b60125481565b610ddf611f9a565b600b8190556040805182815290517fbb72ce8874020b3b98429d653df927cac6618ac1932384b1446bf04bf9a1b7e59181900360200190a150565b610e22611f9a565b600c8190556040805182815290517f8640e538c9503bd8d11554fc26280efe867c12195c0eee0aeede5f4a8d5288399181900360200190a150565b6001546001600160a01b031681565b60105481565b60035460ff1681565b610e83611f9a565b6103e8808210610ec45760405162461bcd60e51b8152600401808060200182810382526025815260200180612c8d6025913960400191505060405180910390fd5b600d8290556040805183815290517f59822dc2d999f6f0618e8b0db5cfc8496084574c769b09609d9b5f4394a310b69181900360200190a15050565b610f08611f9a565b6301e133808111610f4a5760405162461bcd60e51b8152600401808060200182810382526037815260200180612e1e6037913960400191505060405180910390fd5b73__$09231a05ed34b6851f1018822ecfa0dcb8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610f8e57600080fd5b505af4158015610fa2573d6000803e3d6000fd5b505050506040513d6020811015610fb857600080fd5b5051811115610ff85760405162461bcd60e51b8152600401808060200182810382526025815260200180612df96025913960400191505060405180910390fd5b6008819055611011816301e1338063ffffffff61211116565b60095560085460408051918252517fa90e14be5aa57b910aa6dc16c31ff1b5cda380ae25a793b0d3f74df6131a7d749181900360200190a150565b60035460009060ff16156110915760405162461bcd60e51b815260040180806020018281038252603c815260200180612dbd603c913960400191505060405180910390fd5b60048054600101908190556110a461217b565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b1580156110ee57600080fd5b505afa158015611102573d6000803e3d6000fd5b505050506040513d602081101561111857600080fd5b50511561116c576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b611174612196565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156111ac57600080fd5b505afa1580156111c0573d6000803e3d6000fd5b50505050600c543410156112055760405162461bcd60e51b815260040180806020018281038252603e815260200180612d7f603e913960400191505060405180910390fd5b600e5460ff161561125d576040805162461bcd60e51b815260206004820152601e60248201527f4c6f616e7320617265206e6f77206265696e67206c6971756964617465640000604482015290519081900360640190fd5b600d5433600090815260136020526040902054106112ac5760405162461bcd60e51b8152600401808060200182810382526022815260200180612cea6022913960400191505060405180910390fd5b60006112b734611926565b9050600b546112d1826010546121b090919063ffffffff16565b1061130d5760405162461bcd60e51b8152600401808060200182810382526023815260200180612d0c6023913960400191505060405180910390fd5b61131561220a565b925061131f612bda565b506040805160c081018252338082523460208084019182528385018681524260608601908152608086018a8152600060a0880181815296815260138552978820805460018082018355918a5294909820875160069095020180546001600160a01b0319166001600160a01b0390951694909417845593519683019690965551600282015593516003850155516004840155516005909201919091556010546113c790836121b0565b6010556113d2612242565b6001600160a01b031663867904b433846040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561143157600080fd5b505af1158015611445573d6000803e3d6000fd5b5050604080518781526020810186905281513394507f58d170de3a12438e22d81380f353b2fcac86f0a708a1374deaa5c6322a95992f93509081900390910190a2505060045481146114de576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5090565b60606114ec6117d7565b905060005b81518110156116a657600082828151811061150857fe5b602090810291909101810151600554604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b838110156115be5781810151838201526020016115a6565b50505050905090810190601f1680156115eb5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561160957600080fd5b505afa15801561161d573d6000803e3d6000fd5b505050506040513d602081101561163357600080fd5b505160008381526006602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a150506001016114f1565b5050565b6001546001600160a01b031633146116f35760405162461bcd60e51b8152600401808060200182810382526035815260200180612c1a6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60075460008080808080808080808080611784611a9f565b9b506008549a506009549950600a549850600b549750600c549650601054955060115494506012549350479250600f549150600e60009054906101000a900460ff169050909192939495969798999a9b9c565b60408051600580825260c082019092526060916020820160a0803883390190505090506b53797374656d53746174757360a01b8160008151811061181757fe5b602002602001018181525050680a0f2dce8d0e08aa8960bb1b8160018151811061183d57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160028151811061186357fe5b6020026020010181815250506411195c1bdd60da1b8160038151811061188557fe5b6020026020010181815250506c45786368616e6765526174657360981b816004815181106118af57fe5b60200260200101818152505090565b60006118c8612bda565b6118d28484611fe5565b905060006118df82612259565b90506118ef8260400151826119d3565b95945050505050565b6000611902612bda565b61190c8484611fe5565b9050610af881612259565b6000546001600160a01b031681565b6000610afc611933611a9f565b839063ffffffff61229c16565b60025481565b600f5481565b600080600080600080600080611960612bda565b61196a8b8b611fe5565b8051602082015160408301516060840151608085015160a0860151949e50929c50909a5098509650945090506119a8876119a383612259565b6119d3565b92506119c36119b6826120f6565b849063ffffffff6121b016565b9150509295985092959890939650565b60006119fa6119ed836009546122c690919063ffffffff16565b849063ffffffff61231f16565b9392505050565b611a09611f9a565b600a8190556040805182815290517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c9181900360200190a150565b60136020528160005260406000208181548110611a5d57fe5b60009182526020909120600690910201805460018201546002830154600384015460048501546005909501546001600160a01b03909416965091945092909186565b6000611abf60075468056bc75e2d6310000061233490919063ffffffff16565b905090565b611acc611f9a565b600f544211611b22576040805162461bcd60e51b815260206004820152601b60248201527f4265666f7265206c69717569646174696f6e20646561646c696e650000000000604482015290519081900360640190fd5b600e805460ff191682151517908190556040805160ff90921615158252517faa52cf15c1fbb778214c66f64726e141551158858d1c06ca0392c6c5869c8567916020908290030190a150565b600c5481565b6004805460010190819055611b8761217b565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b158015611bd157600080fd5b505afa158015611be5573d6000803e3d6000fd5b505050506040513d6020811015611bfb57600080fd5b505115611c4f576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b611c593383612349565b60045481146116a6576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b60075481565b6004805460010190819055611cc861217b565b6001600160a01b0316632528f0fe6040518163ffffffff1660e01b81526004018080630e08aa8960e31b815250602001905060206040518083038186803b158015611d1257600080fd5b505afa158015611d26573d6000803e3d6000fd5b505050506040513d6020811015611d3c57600080fd5b505115611d90576040805162461bcd60e51b815260206004820152601f60248201527f426c6f636b65642061732070455448207261746520697320696e76616c696400604482015290519081900360640190fd5b600e5460ff16611de7576040805162461bcd60e51b815260206004820152601760248201527f4c69717569646174696f6e206973206e6f74206f70656e000000000000000000604482015290519081900360640190fd5b611df18383612349565b6040805183815233602082015281516001600160a01b038616927fde21b2a43b0a2c2109c049fb1e4bb8653fd67d0ffd74fdcb662db381f1eeab38928290030190a26004548114611e89576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b505050565b600e5460ff1681565b60095481565b611ea5611f9a565b683635c9adc5dea00000811115611eee576040805162461bcd60e51b81526020600482015260086024820152670a8dede40d0d2ced60c31b604482015290519081900360640190fd5b68056bc75e2d63100000811015611f36576040805162461bcd60e51b8152602060048201526007602482015266546f6f206c6f7760c81b604482015290519081900360640190fd5b60078190556040805182815290517ffb0ebe8c7316e6a251494c38876d13d9a3a029273fce7964c12aa2ce078695309181900360200190a150565b600b5481565b6000610afc61193368056bc75e2d6310000060075461233490919063ffffffff16565b6000546001600160a01b03163314611fe35760405162461bcd60e51b815260040180806020018281038252602f815260200180612d2f602f913960400191505060405180910390fd5b565b611fed612bda565b6001600160a01b0383166000908152601360209081526040808320805482518185028101850190935280835260609492939192909184015b828210156120965760008481526020908190206040805160c0810182526006860290920180546001600160a01b031683526001808201548486015260028201549284019290925260038101546060840152600481015460808401526005015460a08301529083529092019101612025565b509293506000925050505b81518110156120ee57838282815181106120b757fe5b60200260200101516080015114156120e6578181815181106120d557fe5b602002602001015192505050610afc565b6001016120a1565b505092915050565b6000610afc600a54836040015161231f90919063ffffffff16565b6000808211612167576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161217257fe5b04949350505050565b6000611abf6c45786368616e6765526174657360981b61296c565b6000611abf6b53797374656d53746174757360a01b61296c565b6000828201838110156119fa576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60125460009061222190600163ffffffff6121b016565b60125560115461223890600163ffffffff6121b016565b6011819055905090565b6000611abf680a0f2dce8d0e08aa8960bb1b61296c565b60a081015160009015158061228357606083015161227e90429063ffffffff612a5016565b6119fa565b606083015160a08401516119fa9163ffffffff612a5016565b6000670de0b6b3a76400006122b7848463ffffffff6122c616565b816122be57fe5b049392505050565b6000826122d557506000610afc565b828202828482816122e257fe5b04146119fa5760405162461bcd60e51b8152600401808060200182810382526021815260200180612d5e6021913960400191505060405180910390fd5b60006119fa8383670de0b6b3a7640000612aad565b60006119fa8383670de0b6b3a7640000612aea565b612351612196565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561238957600080fd5b505afa15801561239d573d6000803e3d6000fd5b505050506123a9612bda565b6123b38383611fe5565b90506000816080015111612404576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b604482015290519081900360640190fd5b60a081015115612451576040805162461bcd60e51b8152602060048201526013602482015272131bd85b88185b1c9958591e4818db1bdcd959606a1b604482015290519081900360640190fd5b806040015161245e612242565b6001600160a01b03166370a08231336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156124b357600080fd5b505afa1580156124c7573d6000803e3d6000fd5b505050506040513d60208110156124dd57600080fd5b5051101561251c5760405162461bcd60e51b815260040180806020018281038252603e815260200180612c4f603e913960400191505060405180910390fd5b61252581612b1c565b604081015160105461253c9163ffffffff612a5016565b6010556040810151600090612554906119a384612259565b90506000612561836120f6565b90506000612575838363ffffffff6121b016565b905061257f612242565b6001600160a01b0316639dc29fac3386604001516040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156125e257600080fd5b505af11580156125f6573d6000803e3d6000fd5b50505050612602612bb0565b6001600160a01b03166334d2e0f2826040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561264557600080fd5b505afa158015612659573d6000803e3d6000fd5b505050506040513d602081101561266f57600080fd5b5051612679612bc3565b6001600160a01b03166370a0823161268f612bb0565b6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156126d557600080fd5b505afa1580156126e9573d6000803e3d6000fd5b505050506040513d60208110156126ff57600080fd5b5051101561273e5760405162461bcd60e51b8152600401808060200182810382526038815260200180612cb26038913960400191505060405180910390fd5b612746612bb0565b6001600160a01b03166376569fbf826040518263ffffffff1660e01b81526004016020604051808303818588803b15801561278057600080fd5b505af1158015612794573d6000803e3d6000fd5b50505050506040513d60208110156127ab57600080fd5b506127b69050612bc3565b6001600160a01b031663a9059cbb73feefeefeefeefeefeefeefeefeefeefeefeefeef6127e1612bc3565b6001600160a01b03166370a08231306040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561283657600080fd5b505afa15801561284a573d6000803e3d6000fd5b505050506040513d602081101561286057600080fd5b5051604080516001600160e01b031960e086901b1681526001600160a01b03909316600484015260248301919091525160448083019260209291908290030181600087803b1580156128b157600080fd5b505af11580156128c5573d6000803e3d6000fd5b505050506040513d60208110156128db57600080fd5b5050602084015133906108fc906128f8908463ffffffff612a5016565b6040518115909202916000818181858888f19350505050158015612920573d6000803e3d6000fd5b50604080518681526020810183905281516001600160a01b038916927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a2505050505050565b600081815260066020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612a495760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a0e5781810151838201526020016129f6565b50505050905090810190601f168015612a3b5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082821115612aa7576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080600a8304612ac4868663ffffffff6122c616565b81612acb57fe5b0490506005600a825b0610612ade57600a015b600a9004949350505050565b600080612b1084612b0487600a870263ffffffff6122c616565b9063ffffffff61211116565b90506005600a82612ad4565b80516001600160a01b03166000908152601360205260408120905b8154811015612b94578260800151828281548110612b5157fe5b9060005260206000209060060201600401541415612b8c5742828281548110612b7657fe5b9060005260206000209060060201600501819055505b600101612b37565b50601254612ba990600163ffffffff612a5016565b6012555050565b6000611abf6411195c1bdd60da1b61296c565b6000611abf68141e5b9d1a1c1554d160ba1b61296c565b6040518060c0016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970596f7520646f206e6f742068617665207468652072657175697265642050796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e4f776e65722063616e6e6f742073657420686967686572207468616e20484152445f4341505468652070555344204465706f7420646f6573206e6f74206861766520656e6f756768207055534420746f2062757920666f72206665657345616368206163636f756e74206973206c696d74656420746f203530206c6f616e734c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e53697a655468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f59454152a265627a7a723158202e5ad0c68ef6f8ca7c1d79890dc40f38afca01b6ec0e07db9cc6ba583ef6e33064736f6c63430005100032",
			"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": "0xef51353d03b9b4443df8f4ec0a1fa11eacd0f9765927faf667ee1d3b65942609",
				"urls": [
					"bzz-raw://5098e88a34947e6ff1b38eac5b852c6d6cdcc3d6c24aa6a70cff88534dfd6be0",
					"dweb:/ipfs/QmboXvFeqYxk3YYFC6VAukhrEm2b746bYm5wKr3vayT7PS"
				]
			},
			"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": "0xef51353d03b9b4443df8f4ec0a1fa11eacd0f9765927faf667ee1d3b65942609",
						"urls": [
							"bzz-raw://5098e88a34947e6ff1b38eac5b852c6d6cdcc3d6c24aa6a70cff88534dfd6be0",
							"dweb:/ipfs/QmboXvFeqYxk3YYFC6VAukhrEm2b746bYm5wKr3vayT7PS"
						]
					}
				},
				"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$__9163907af6c0916004808301926020929190829003018186803b1580156115c657600080fd5b90506144d0838263ffffffff613c3416565b604051909350339082156108fc029083906000818181858888f19350505050158015614500573d6000803e3d6000fd5b5050505b84516040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561453d573d6000803e3d6000fd5b50604080518881526020810184905281516001600160a01b038b16927f3cc9f5d298758bad94536f27fa6a3033c2793e0a387a2d78e72550a3b8dacf1e928290030190a25050505050505050565b600081815260066020908152604080832054815170026b4b9b9b4b7339030b2323932b9b99d1607d1b9381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816146685760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561462d578181015183820152602001614615565b50505050905090810190601f16801561465a5780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600080600a8304614686868663ffffffff613ff516565b8161468d57fe5b0490506005600a825b06106146a057600a015b600a9004949350505050565b6000806146c684613eb487600a870263ffffffff613ff516565b90506005600a82614696565b80516001600160a01b03166000908152601560205260408120905b815481101561474a578260a0015182828154811061470757fe5b90600052602060002090600a0201600501541415614742574282828154811061472c57fe5b90600052602060002090600a0201600601819055505b6001016146ed565b5060145461475f90600163ffffffff613c3416565b6014555050565b60405180610140016040528060006001600160a01b031681526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600064ffffffffff168152509056fe436f6c6c61746572616c20726174696f2061626f7665206c69717569646174696f6e20726174696f436f6c6c61746572616c20726174696f2062656c6f77206c69717569646174696f6e2061667465722077697468647261775265656e7472616e637947756172643a207265656e7472616e742063616c6c00596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970596f7520646f206e6f742068617665207468652072657175697265642050796e74682062616c616e636520746f20636c6f73652074686973206c6f616e2e4465706f73697420616d6f756e74206d7573742062652067726561746572207468616e20304c6f616e20616d6f756e742065786365656473206d617820626f72726f77696e6720706f776572416d6f756e7420746f207769746864726177206d7573742062652067726561746572207468616e2030426c6f636b656420617320455448207261746520697320696e76616c696400004f776e65722063616e6e6f742073657420686967686572207468616e204143434f554e545f4c4f414e5f4c494d49545f4341504c6f616e20416d6f756e7420657863656564732074686520737570706c79206361702e45616368206163636f756e74206973206c696d6974656420746f203530206c6f616e734f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e747261637420697320706175736564496e7465726573742063616e6e6f74206265206d6f7265207468616e203130302520415052496e74657265737420726174652063616e6e6f74206265206c657373207468617420746865205345434f4e44535f494e5f415f594541524e6f7420656e6f7567682045544820746f206372656174652074686973206c6f616e2e20506c656173652073656520746865206d696e4c6f616e436f6c6c61746572616c53697a65a265627a7a7231582028f9cc6ae2467592b00e954c408744bbefee6c735d23bb494aafc7401f32e49f64736f6c63430005100032",
			"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": "0xe10e64ee2cd19d5b15110a9b17639e2896ae327a84f0f167b2189bfac720e029",
				"urls": [
					"bzz-raw://a8c3cd060dc555cefbd5f8f26bfa3d0ed61477a06e08814bcc6ddab277a2419b",
					"dweb:/ipfs/QmSKBFCDNunwXGgjDt8CYGE9tu33ZHC7qYCd1cQx2AvVsD"
				]
			},
			"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": "0xe10e64ee2cd19d5b15110a9b17639e2896ae327a84f0f167b2189bfac720e029",
						"urls": [
							"bzz-raw://a8c3cd060dc555cefbd5f8f26bfa3d0ed61477a06e08814bcc6ddab277a2419b",
							"dweb:/ipfs/QmSKBFCDNunwXGgjDt8CYGE9tu33ZHC7qYCd1cQx2AvVsD"
						]
					}
				},
				"version": 1
			}
		},
		"PeriFinanceBridgeToOptimism": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200238038038062002380833981016040819052620000349162000108565b8080836001600160a01b038116620000695760405162461bcd60e51b81526004016200006090620001c4565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b69184906200019e565b60405180910390a150600280546001600160a01b0319166001600160a01b039290921691909117905550506004805460ff19166001179055506200021f565b8051620001028162000205565b92915050565b600080604083850312156200011c57600080fd5b60006200012a8585620000f5565b92505060206200013d85828601620000f5565b9150509250929050565b6200015281620001f1565b82525050565b6200015281620001df565b600062000172601983620001d6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620001ae828562000147565b620001bd602083018462000158565b9392505050565b60208082528101620001028162000163565b90815260200190565b60006001600160a01b03821662000102565b6000620001028260006200010282620001df565b6200021081620001df565b81146200021c57600080fd5b50565b612151806200022f6000396000f3fe608060405234801561001057600080fd5b50600436106101005760003560e01c806379ba509711610097578063cb82747411610066578063cb827474146101d0578063ccce9506146101e3578063d7f5b359146101f6578063e2ff2d431461020957610100565b806379ba509714610198578063899ffef4146101a05780638da5cb5b146101b5578063a18e2307146101bd57610100565b80633c6b16ab116100d35780633c6b16ab1461015557806353a47bb7146101685780636bfd78351461017d578063741853601461019057610100565b806304f3bcec146101055780631627540c14610123578063186601ca146101385780632af64bd31461014d575b600080fd5b61010d61021c565b60405161011a9190611f2b565b60405180910390f35b61013661013136600461170a565b61022b565b005b610140610289565b60405161011a9190611ed3565b610140610292565b6101366101633660046117db565b6103aa565b6101706103ff565b60405161011a9190611da2565b61013661018b366004611788565b61040e565b610136610427565b61013661057d565b6101a8610619565b60405161011a9190611ec2565b610170610766565b6101366101cb366004611817565b610775565b6101366101de3660046117db565b6107a4565b6101366101f13660046117db565b6107bd565b61013661020436600461170a565b610858565b61013661021736600461174e565b6109e6565b6002546001600160a01b031681565b610233610ba2565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061027e908390611da2565b60405180910390a150565b60045460ff1681565b6000606061029e610619565b905060005b81518110156103a05760008282815181106102ba57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a7219061030b908590600401611ee1565b60206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061035b9190810190611730565b6001600160a01b031614158061038657506000818152600360205260409020546001600160a01b0316155b1561039757600093505050506103a7565b506001016102a3565b5060019150505b90565b6103b2610bce565b6103ba610bf0565b6001600160a01b0316336001600160a01b0316146103f35760405162461bcd60e51b81526004016103ea90611fba565b60405180910390fd5b6103fc81610c16565b50565b6001546001600160a01b031681565b610416610bce565b61041e610d29565b6103fc81610dc9565b6060610431610619565b905060005b815181101561057957600082828151811061044d57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d01838460405160200161048f9190611d97565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016104bb929190611f0b565b60206040518083038186803b1580156104d357600080fd5b505afa1580156104e7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061050b9190810190611730565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906105679084908490611eef565b60405180910390a15050600101610436565b5050565b6001546001600160a01b031633146105a75760405162461bcd60e51b81526004016103ea90611f4a565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926105ea926001600160a01b0391821692911690611e6a565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b606080610624610fdb565b60408051600680825260e08201909252919250606091906020820160c0803883390190505090506c32bc3a1d26b2b9b9b2b733b2b960991b8160008151811061066957fe5b6020026020010181815250506a5065726946696e616e636560a81b8160018151811061069157fe5b6020026020010181815250506524b9b9bab2b960d11b816002815181106106b457fe5b602002602001018181525050722932bbb0b93239a234b9ba3934b13aba34b7b760691b816003815181106106e457fe5b6020026020010181815250507f6f766d3a5065726946696e616e6365427269646765546f4261736500000000008160048151811061071e57fe5b6020026020010181815250506d2932bbb0b93222b9b1b937bbab1960911b8160058151811061074957fe5b60200260200101818152505061075f828261102c565b9250505090565b6000546001600160a01b031681565b61077d610bce565b610785610d29565b8051156107955761079581610dc9565b811561057957610579826110e8565b6107ac610bce565b6107b4610d29565b6103fc816110e8565b6107c5610bce565b6107cd61127a565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b81526004016107fc93929190611db0565b602060405180830381600087803b15801561081657600080fd5b505af115801561082a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061084e91908101906117bd565b506103fc81610c16565b610860610ba2565b610868610bce565b6001600160a01b03811661088e5760405162461bcd60e51b81526004016103ea90611fca565b6004805460ff1916905560006108a261127a565b90506000816001600160a01b03166370a08231306040518263ffffffff1660e01b81526004016108d29190611da2565b60206040518083038186803b1580156108ea57600080fd5b505afa1580156108fe573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061092291908101906117f9565b60405163a9059cbb60e01b81529091506001600160a01b0383169063a9059cbb906109539086908590600401611e12565b602060405180830381600087803b15801561096d57600080fd5b505af1158015610981573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109a591908101906117bd565b507fa1bbeeb6860c5db529c582b6bdbc57a2e9862ef771e5bed3a082f7d9da54904a3084836040516109d993929190611e85565b60405180910390a1505050565b6109ee610bce565b6109f6611293565b6001600160a01b0316336001600160a01b031614610a265760405162461bcd60e51b81526004016103ea90611faa565b610a2e6112ae565b6001600160a01b0316610a3f611293565b6001600160a01b0316636e296e456040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7757600080fd5b505afa158015610a8b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aaf9190810190611730565b6001600160a01b031614610ad55760405162461bcd60e51b81526004016103ea90611f5a565b610add61127a565b6001600160a01b031663a9059cbb83836040518363ffffffff1660e01b8152600401610b0a929190611e12565b602060405180830381600087803b158015610b2457600080fd5b505af1158015610b38573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b5c91908101906117bd565b50816001600160a01b03167f1a39b9c5044b9f0ff56c5951e30c1ebe24911353aafcceb9250e83a24fe158c482604051610b969190611ee1565b60405180910390a25050565b6000546001600160a01b03163314610bcc5760405162461bcd60e51b81526004016103ea90611f9a565b565b60045460ff16610bcc5760405162461bcd60e51b81526004016103ea90611f7a565b6000610c11722932bbb0b93239a234b9ba3934b13aba34b7b760691b6112d5565b905090565b60405160009060609063f69053c560e01b90610c36908590602401611ee1565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610c72611293565b6001600160a01b0316633dbb202b610c886112ae565b83610c93600261133b565b6040518463ffffffff1660e01b8152600401610cb193929190611e93565b600060405180830381600087803b158015610ccb57600080fd5b505af1158015610cdf573d6000803e3d6000fd5b50505050336001600160a01b03167f95bf5847357310d24f8d03d8bad76c8ee329dfd3a3cb200df21c7bd1619e93bd84604051610d1c9190611ee1565b60405180910390a2505050565b610d316113e1565b6001600160a01b031663d37c4d8b336040518263ffffffff1660e01b8152600401610d5c9190611df8565b60206040518083038186803b158015610d7457600080fd5b505afa158015610d88573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dac91908101906117f9565b15610bcc5760405162461bcd60e51b81526004016103ea90611f8a565b60005b815181101561057957601a60ff16828281518110610de657fe5b6020026020010151511115610e0d5760405162461bcd60e51b81526004016103ea90611f6a565b60006060610e196113f5565b6001600160a01b03166380d46f5833868681518110610e3457fe5b60200260200101516040518363ffffffff1660e01b8152600401610e59929190611dd8565b600060405180830381600087803b158015610e7357600080fd5b505af1158015610e87573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610eaf919081019061185f565b90925090508115610fd15760405160009060609063355bf0e160e11b90610ede90339087908790602401611e34565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b0319909316929092179091529050610f1a611293565b6001600160a01b0316633dbb202b610f306112ae565b83610f3b600161133b565b6040518463ffffffff1660e01b8152600401610f5993929190611e93565b600060405180830381600087803b158015610f7357600080fd5b505af1158015610f87573d6000803e3d6000fd5b50505050336001600160a01b03167f4dc5956ab6218a4dfa2cc5e5c50d98d039dde03aabfc504c54b601b6f56226968585604051610fc6929190611fea565b60405180910390a250505b5050600101610dcc565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061101d57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561105c578160200160208202803883390190505b50905060005b835181101561109e5783818151811061107757fe5b602002602001015182828151811061108b57fe5b6020908102919091010152600101611062565b5060005b82518110156110e1578281815181106110b757fe5b60200260200101518282865101815181106110ce57fe5b60209081029190910101526001016110a2565b5092915050565b6110f061127a565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b815260040161111f93929190611db0565b602060405180830381600087803b15801561113957600080fd5b505af115801561114d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117191908101906117bd565b506040516000906060906309853aff60e11b906111949033908690602401611e12565b60408051601f198184030181529190526020810180516001600160e01b03166001600160e01b03199093169290921790915290506111d0611293565b6001600160a01b0316633dbb202b6111e66112ae565b836111f1600061133b565b6040518463ffffffff1660e01b815260040161120f93929190611e93565b600060405180830381600087803b15801561122957600080fd5b505af115801561123d573d6000803e3d6000fd5b50505050336001600160a01b03167fe1fffcc4923d04b559f4d29a8bfc6cda04eb5b0d3c460751c2402c5c5cc9109c84604051610d1c9190611ee1565b6000610c116a5065726946696e616e636560a81b6112d5565b6000610c116c32bc3a1d26b2b9b9b2b733b2b960991b6112d5565b6000610c117f6f766d3a5065726946696e616e6365427269646765546f4261736500000000005b60008181526003602090815260408083205490516001600160a01b03909116918215159161130591869101611d77565b604051602081830303815290604052906113325760405162461bcd60e51b81526004016103ea9190611f39565b5090505b919050565b6000611345611411565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b61136e8561142e565b6040518363ffffffff1660e01b815260040161138b929190611efd565b60206040518083038186803b1580156113a357600080fd5b505afa1580156113b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113db91908101906117f9565b92915050565b6000610c116524b9b9bab2b960d11b6112d5565b6000610c116d2932bbb0b93222b9b1b937bbab1960911b6112d5565b6000610c116e466c657869626c6553746f7261676560881b6112d5565b60008082600381111561143d57fe5b141561146a57507f63726f7373446f6d61696e4465706f7369744761734c696d6974000000000000611336565b600182600381111561147857fe5b14156114a557507f63726f7373446f6d61696e457363726f774761734c696d697400000000000000611336565b60028260038111156114b357fe5b14156114e057507f63726f7373446f6d61696e5265776172644761734c696d697400000000000000611336565b60038260038111156114ee57fe5b141561151b57507f63726f7373446f6d61696e5769746864726177616c4761734c696d6974000000611336565b60405162461bcd60e51b81526004016103ea90611fda565b80356113db816120df565b80516113db816120df565b600082601f83011261155a57600080fd5b813561156d61156882612031565b61200a565b81815260209384019390925082018360005b838110156115ab57813586016115958882611627565b845250602092830192919091019060010161157f565b5050505092915050565b600082601f8301126115c657600080fd5b81516115d461156882612031565b915081818352602084019350602081019050838560408402820111156115f957600080fd5b60005b838110156115ab578161160f88826116a2565b845250602090920191604091909101906001016115fc565b600082601f83011261163857600080fd5b813561164661156882612031565b9150818183526020840193506020810190508385602084028201111561166b57600080fd5b60005b838110156115ab578161168188826116e9565b845250602092830192919091019060010161166e565b80516113db816120f3565b6000604082840312156116b457600080fd5b6116be604061200a565b905060006116cc84846116ff565b82525060206116dd848483016116f4565b60208301525092915050565b80356113db816120fc565b80516113db816120fc565b80516113db81612105565b60006020828403121561171c57600080fd5b60006117288484611533565b949350505050565b60006020828403121561174257600080fd5b6000611728848461153e565b6000806040838503121561176157600080fd5b600061176d8585611533565b925050602061177e858286016116e9565b9150509250929050565b60006020828403121561179a57600080fd5b813567ffffffffffffffff8111156117b157600080fd5b61172884828501611549565b6000602082840312156117cf57600080fd5b60006117288484611697565b6000602082840312156117ed57600080fd5b600061172884846116e9565b60006020828403121561180b57600080fd5b600061172884846116f4565b6000806040838503121561182a57600080fd5b600061183685856116e9565b925050602083013567ffffffffffffffff81111561185357600080fd5b61177e85828601611549565b6000806040838503121561187257600080fd5b600061187e85856116f4565b925050602083015167ffffffffffffffff81111561189b57600080fd5b61177e858286016115b5565b60006118b383836119e5565b505060200190565b60006118c78383611d3b565b505060400190565b6118d881612097565b82525050565b6118d881612065565b60006118f282612058565b6118fc818561205c565b935061190783612052565b8060005b8381101561193557815161191f88826118a7565b975061192a83612052565b92505060010161190b565b509495945050505050565b600061194b82612058565b611955818561205c565b935061196083612052565b8060005b8381101561193557815161197888826118bb565b975061198383612052565b925050600101611964565b600061199982612058565b6119a3818561205c565b93506119ae83612052565b8060005b838110156119355781516119c688826118a7565b97506119d183612052565b9250506001016119b2565b6118d881612070565b6118d8816103a7565b6118d86119fa826103a7565b6103a7565b6000611a0a82612058565b611a14818561205c565b9350611a248185602086016120a9565b611a2d816120d5565b9093019392505050565b6118d88161209e565b6000611a4d60358361205c565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000611aa4601d8361205c565b7f4f6e6c7920746865204c32206272696467652063616e20696e766f6b65000000815260200192915050565b6000611add60218361205c565b7f45786365656473206d617820656e747269657320706572206d6967726174696f8152603760f91b602082015260400192915050565b6000611b2060148361205c565b73119d5b98dd1a5bdb8819195858dd1a5d985d195960621b815260200192915050565b6000611b50601183611336565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000611b7d60238361205c565b7f43616e6e6f74206465706f736974206f72206d6967726174652077697468206481526219589d60ea1b602082015260400192915050565b6000611bc2602f8361205c565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b631c1554d160e21b9052565b6000611c1f601e8361205c565b7f4f6e6c79207468652072656c617965722063616e2063616c6c20746869730000815260200192915050565b6000611c58601983611336565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000611c91602a8361205c565b7f43616c6c6572206973206e6f742052657761726473446973747269627574696f8152691b8818dbdb9d1c9858dd60b21b602082015260400192915050565b6000611cdd601b8361205c565b7f43616e6e6f74206d69677261746520746f206164647265737320300000000000815260200192915050565b6000611d1660168361205c565b75556e6b6e6f776e20676173206c696d6974207479706560501b815260200192915050565b80516040830190611d4c8482611d6e565b506020820151611d5f60208501826119e5565b50505050565b6118d881612081565b6118d88161208a565b6000611d8282611b43565b9150611d8e82846119ee565b50602001919050565b6000611d8282611c4b565b602081016113db82846118de565b60608101611dbe82866118cf565b611dcb60208301856118de565b61172860408301846119e5565b60408101611de682856118cf565b8181036020830152611728818461198e565b60408101611e0682846118cf565b6113db60208301611c06565b60408101611e2082856118de565b611e2d60208301846119e5565b9392505050565b60608101611e4282866118de565b611e4f60208301856119e5565b8181036040830152611e618184611940565b95945050505050565b60408101611e7882856118de565b611e2d60208301846118de565b60608101611dbe82866118de565b60608101611ea182866118de565b8181036020830152611eb381856119ff565b90506117286040830184611d65565b60208082528101611e2d81846118e7565b602081016113db82846119dc565b602081016113db82846119e5565b60408101611e7882856119e5565b60408101611e2082856119e5565b60408101611f1982856119e5565b818103602083015261172881846119ff565b602081016113db8284611a37565b60208082528101611e2d81846119ff565b602080825281016113db81611a40565b602080825281016113db81611a97565b602080825281016113db81611ad0565b602080825281016113db81611b13565b602080825281016113db81611b70565b602080825281016113db81611bb5565b602080825281016113db81611c12565b602080825281016113db81611c84565b602080825281016113db81611cd0565b602080825281016113db81611d09565b60408101611ff882856119e5565b81810360208301526117288184611940565b60405181810167ffffffffffffffff8111828210171561202957600080fd5b604052919050565b600067ffffffffffffffff82111561204857600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b60006113db82612075565b151590565b6001600160a01b031690565b63ffffffff1690565b67ffffffffffffffff1690565b60006113db825b60006113db82612065565b60005b838110156120c45781810151838201526020016120ac565b83811115611d5f5750506000910152565b601f01601f191690565b6120e881612065565b81146103fc57600080fd5b6120e881612070565b6120e8816103a7565b6120e88161208a56fea365627a7a72315820e7a461f70efdc101e5620b51a435d5cfc65007966e552aaee53b94fc950246826c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0xd8f5729eb10d0bc3766143d51250cbd5bdf429d45bbc82ec95a8c500d994dfee",
				"urls": [
					"bzz-raw://62756e33ab564c9239a41b3769530a2e443f3a8a722dc7d91c034f523fa230e3",
					"dweb:/ipfs/QmUztcA6VCQdGqUUKPmkQYzGRw3QwgMXWaK7gKa7SmRmc6"
				]
			},
			"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": "0xd8f5729eb10d0bc3766143d51250cbd5bdf429d45bbc82ec95a8c500d994dfee",
						"urls": [
							"bzz-raw://62756e33ab564c9239a41b3769530a2e443f3a8a722dc7d91c034f523fa230e3",
							"dweb:/ipfs/QmUztcA6VCQdGqUUKPmkQYzGRw3QwgMXWaK7gKa7SmRmc6"
						]
					}
				},
				"version": 1
			}
		},
		"PynthUtil": {
			"bytecode": "608060405234801561001057600080fd5b5060405161136b38038061136b8339818101604052602081101561003357600080fd5b5051600080546001600160a01b039092166001600160a01b0319909216919091179055611306806100656000396000f3fe608060405234801561001057600080fd5b50600436106100625760003560e01c80632ebf118b14610067578063597ece84146100bf578063b2637a91146101c3578063ca2577e1146101cb578063d18ab37614610209578063d55415231461022d575b600080fd5b61006f6102ce565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156100ab578181015183820152602001610093565b505050509050019250505060405180910390f35b6100e5600480360360208110156100d557600080fd5b50356001600160a01b0316610578565b60405180806020018060200180602001848103845287818151815260200191508051906020019060200280838360005b8381101561012d578181015183820152602001610115565b50505050905001848103835286818151815260200191508051906020019060200280838360005b8381101561016c578181015183820152602001610154565b50505050905001848103825285818151815260200191508051906020019060200280838360005b838110156101ab578181015183820152602001610193565b50505050905001965050505050505060405180910390f35b6100e561090f565b6101f7600480360360408110156101e157600080fd5b506001600160a01b038135169060200135610c88565b60408051918252519081900360200190f35b610211610f07565b604080516001600160a01b039092168252519081900360200190f35b610235610f16565b604051808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015610279578181015183820152602001610261565b50505050905001838103825284818151815260200191508051906020019060200280838360005b838110156102b85781810151838201526020016102a0565b5050505090500194505050505060405180910390f35b606060006102da611182565b905060006102e6611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561032357600080fd5b505afa158015610337573d6000803e3d6000fd5b505050506040513d602081101561034d57600080fd5b505160408051828152602080840282010190915290915060609082801561037e578160200160208202803883390190505b50905060005b8281101561056f576000856001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156103d257600080fd5b505afa1580156103e6573d6000803e3d6000fd5b505050506040513d60208110156103fc57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038088169263af3aea86929185169163dbd06c85916004808301926020929190829003018186803b15801561044c57600080fd5b505afa158015610460573d6000803e3d6000fd5b505050506040513d602081101561047657600080fd5b5051604080516001600160e01b031960e085901b1681526004810192909252516024808301926020929190829003018186803b1580156104b557600080fd5b505afa1580156104c9573d6000803e3d6000fd5b505050506040513d60208110156104df57600080fd5b50511561056657806001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561051f57600080fd5b505afa158015610533573d6000803e3d6000fd5b505050506040513d602081101561054957600080fd5b5051835184908490811061055957fe5b6020026020010181815250505b50600101610384565b50935050505090565b60608060606000610587611182565b90506000610593611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b1580156105d057600080fd5b505afa1580156105e4573d6000803e3d6000fd5b505050506040513d60208110156105fa57600080fd5b505160408051828152602080840282010190915290915060609082801561062b578160200160208202803883390190505b50905060608260405190808252806020026020018201604052801561065a578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610689578160200160208202803883390190505b50905060005b848110156108fe576000876001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156106dd57600080fd5b505afa1580156106f1573d6000803e3d6000fd5b505050506040513d602081101561070757600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b15801561074d57600080fd5b505afa158015610761573d6000803e3d6000fd5b505050506040513d602081101561077757600080fd5b5051855186908490811061078757fe5b602002602001018181525050806001600160a01b03166370a082318d6040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156107e957600080fd5b505afa1580156107fd573d6000803e3d6000fd5b505050506040513d602081101561081357600080fd5b5051845185908490811061082357fe5b602002602001018181525050866001600160a01b031663654a60ac86848151811061084a57fe5b602002602001015186858151811061085e57fe5b6020026020010151631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b1580156108b057600080fd5b505afa1580156108c4573d6000803e3d6000fd5b505050506040513d60208110156108da57600080fd5b505183518490849081106108ea57fe5b60209081029190910101525060010161068f565b509199909850909650945050505050565b6060806060600061091e611182565b9050600061092a611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b15801561096757600080fd5b505afa15801561097b573d6000803e3d6000fd5b505050506040513d602081101561099157600080fd5b50516040805182815260208084028201019091529091506060908280156109c2578160200160208202803883390190505b5090506060826040519080825280602002602001820160405280156109f1578160200160208202803883390190505b509050606083604051908082528060200260200182016040528015610a20578160200160208202803883390190505b50905060005b84811015610c78576000876001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610a7457600080fd5b505afa158015610a88573d6000803e3d6000fd5b505050506040513d6020811015610a9e57600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b0383169163dbd06c8591600480820192602092909190829003018186803b158015610ae457600080fd5b505afa158015610af8573d6000803e3d6000fd5b505050506040513d6020811015610b0e57600080fd5b50518551869084908110610b1e57fe5b602002602001018181525050806001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6357600080fd5b505afa158015610b77573d6000803e3d6000fd5b505050506040513d6020811015610b8d57600080fd5b50518451859084908110610b9d57fe5b602002602001018181525050866001600160a01b031663654a60ac868481518110610bc457fe5b6020026020010151868581518110610bd857fe5b6020026020010151631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015610c2a57600080fd5b505afa158015610c3e573d6000803e3d6000fd5b505050506040513d6020811015610c5457600080fd5b50518351849084908110610c6457fe5b602090810291909101015250600101610a26565b5091975095509350505050909192565b600080610c93611182565b90506000610c9f611241565b90506000826001600160a01b031663d99947de6040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdc57600080fd5b505afa158015610cf0573d6000803e3d6000fd5b505050506040513d6020811015610d0657600080fd5b5051905060005b81811015610efd576000846001600160a01b0316639df95f9f836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610d5b57600080fd5b505afa158015610d6f573d6000803e3d6000fd5b505050506040513d6020811015610d8557600080fd5b50516040805163dbd06c8560e01b815290519192506001600160a01b038087169263654a60ac929185169163dbd06c85916004808301926020929190829003018186803b158015610dd557600080fd5b505afa158015610de9573d6000803e3d6000fd5b505050506040513d6020811015610dff57600080fd5b5051604080516370a0823160e01b81526001600160a01b038d811660048301529151918616916370a0823191602480820192602092909190829003018186803b158015610e4b57600080fd5b505afa158015610e5f573d6000803e3d6000fd5b505050506040513d6020811015610e7557600080fd5b5051604080516001600160e01b031960e086901b16815260048101939093526024830191909152604482018b9052516064808301926020929190829003018186803b158015610ec357600080fd5b505afa158015610ed7573d6000803e3d6000fd5b505050506040513d6020811015610eed57600080fd5b5051959095019450600101610d0d565b5050505092915050565b6000546001600160a01b031681565b6060806060610f23611182565b6001600160a01b03166372cb051f6040518163ffffffff1660e01b815260040160006040518083038186803b158015610f5b57600080fd5b505afa158015610f6f573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610f9857600080fd5b8101908080516040519392919084640100000000821115610fb857600080fd5b908301906020820185811115610fcd57600080fd5b8251866020820283011164010000000082111715610fea57600080fd5b82525081516020918201928201910280838360005b83811015611017578181015183820152602001610fff565b5050505090500160405250505090508061102f611241565b6001600160a01b031663c2c8a676836040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b8381101561108d578181015183820152602001611075565b505050509050019250505060006040518083038186803b1580156110b057600080fd5b505afa1580156110c4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156110ed57600080fd5b810190808051604051939291908464010000000082111561110d57600080fd5b90830190602082018581111561112257600080fd5b825186602082028301116401000000008211171561113f57600080fd5b82525081516020918201928201910280838360005b8381101561116c578181015183820152602001611154565b5050505090500160405250505092509250509091565b600080546040805163dacb2d0160e01b81526a5065726946696e616e636560a81b600482015260248101829052601b60448201527f4d697373696e67205065726946696e616e636520616464726573730000000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561121057600080fd5b505afa158015611224573d6000803e3d6000fd5b505050506040513d602081101561123a57600080fd5b5051905090565b600080546040805163dacb2d0160e01b81526c45786368616e6765526174657360981b600482015260248101829052601d60448201527f4d697373696e672045786368616e676552617465732061646472657373000000606482015290516001600160a01b039092169163dacb2d0191608480820192602092909190829003018186803b15801561121057600080fdfea265627a7a72315820dc1dbc4e018f0f3fd4d1ffa891922cec6740eac16cf67da6be3c218b0daf926764736f6c63430005100032",
			"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": "0x806a6a8465484e7bca9734ea9c1e35c7fb7c3cd5f1d4e9daa905bf4ef7fc3cc1",
				"urls": [
					"bzz-raw://26d51e88bffc189ee104264674c27b0fb0d829d7f20b1d9cfe3d60e18a1b02b8",
					"dweb:/ipfs/QmbTY3yHeSrhyiAhcUhdiB5GfWPLeCb9mXAF2N3qQukw92"
				]
			},
			"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": "0x806a6a8465484e7bca9734ea9c1e35c7fb7c3cd5f1d4e9daa905bf4ef7fc3cc1",
						"urls": [
							"bzz-raw://26d51e88bffc189ee104264674c27b0fb0d829d7f20b1d9cfe3d60e18a1b02b8",
							"dweb:/ipfs/QmbTY3yHeSrhyiAhcUhdiB5GfWPLeCb9mXAF2N3qQukw92"
						]
					}
				},
				"version": 1
			}
		},
		"DappMaintenance": {
			"bytecode": "60806040526001805461ffff60a01b1916905534801561001e57600080fd5b506040516106d13803806106d18339818101604052602081101561004157600080fd5b5051806001600160a01b03811661009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a1506001600160a01b038116610141576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280516000805160206106b18339815191529281900390910190a15061051a806101976000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80638da5cb5b116100665780638da5cb5b1461010b57806393c2212514610113578063b33a5a001461012f578063c65a0ea21461014e578063ee02f27c1461015657610093565b80631627540c146100985780631d008652146100c057806353a47bb7146100df57806379ba509714610103575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b0316610175565b005b6100be600480360360208110156100d657600080fd5b503515156101d1565b6100e7610270565b604080516001600160a01b039092168252519081900360200190f35b6100be61027f565b6100e761033b565b61011b61034a565b604080519115158252519081900360200190f35b6100be6004803603602081101561014557600080fd5b5035151561035a565b61011b6103c0565b6100be6004803603602081101561016c57600080fd5b503515156103d0565b61017d610436565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6101d9610436565b6001805460ff60a01b1916600160a01b8315159081029190911760ff60a81b1916600160a81b82021790915560408051918252517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32916020908290030190a160408051821515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6001546001600160a01b031681565b6001546001600160a01b031633146102c85760405162461bcd60e51b81526004018080602001828103825260358152602001806104826035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b600154600160a81b900460ff1681565b610362610436565b60018054821515600160a01b90810260ff60a01b199092169190911791829055604080519190920460ff161515815290517f628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea329181900360200190a150565b600154600160a01b900460ff1681565b6103d8610436565b60018054821515600160a81b90810260ff60a81b199092169190911791829055604080519190920460ff161515815290517f5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c69181900360200190a150565b6000546001600160a01b0316331461047f5760405162461bcd60e51b815260040180806020018281038252602f8152602001806104b7602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a72315820097f698fd64c79ab6c2c4a2857b00fb253df8bc00e2c989b5826311be9e7c8e564736f6c63430005100032b532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "SXMaintenance",
					"type": "event",
					"signature": "0x5c1a8bee0278c3d0a78882d64b2152ae4cacfea1789f447025658aead92331c6"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "StakingMaintenance",
					"type": "event",
					"signature": "0x628bebe481126673e44b33fd8b7525b2e3a2e356838e838fb2934a82c79aea32"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedSX",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x93c22125"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isPausedStaking",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc65a0ea2"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1d008652"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeSX",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xee02f27c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "setMaintenanceModeStaking",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb33a5a00"
				}
			],
			"source": {
				"keccak256": "0xd0229588eaf22545c09416f1f68c0dd8a59b7499dd9622935f0dac983f6c62b2",
				"urls": [
					"bzz-raw://f1600c66b66ce4efe7e828d869ea7def066f0b98efdba4a5e0d0396aaf84b446",
					"dweb:/ipfs/QmeoLaH74FC9iMkYPS4kumT2TcjSVpvc7fnZCx5XzZFERT"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"DappMaintenance.sol": "DappMaintenance"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"DappMaintenance.sol": {
						"keccak256": "0xd0229588eaf22545c09416f1f68c0dd8a59b7499dd9622935f0dac983f6c62b2",
						"urls": [
							"bzz-raw://f1600c66b66ce4efe7e828d869ea7def066f0b98efdba4a5e0d0396aaf84b446",
							"dweb:/ipfs/QmeoLaH74FC9iMkYPS4kumT2TcjSVpvc7fnZCx5XzZFERT"
						]
					}
				},
				"version": 1
			}
		},
		"BinaryOptionMarketData": {
			"bytecode": "608060405234801561001057600080fd5b506112f7806100206000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80631216fc7b14610046578063a30c302d1461006f578063dca5f5c31461008f575b600080fd5b610059610054366004610e75565b6100af565b60405161006691906111f1565b60405180910390f35b61008261007d366004610e75565b61047c565b60405161006691906111e2565b6100a261009d366004610e93565b610a61565b60405161006691906111d4565b6100b7610c44565b600080836001600160a01b0316631069143a6040518163ffffffff1660e01b8152600401604080518083038186803b1580156100f257600080fd5b505afa158015610106573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061012a9190810190610ecd565b915091506000806000866001600160a01b0316639e3b34bf6040518163ffffffff1660e01b815260040160606040518083038186803b15801561016c57600080fd5b505afa158015610180573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506101a49190810190610e28565b9250925092506000806000896001600160a01b03166398508ecd6040518163ffffffff1660e01b815260040160606040518083038186803b1580156101e857600080fd5b505afa1580156101fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506102209190810190610e28565b92509250925060008060008c6001600160a01b0316639af1d35a6040518163ffffffff1660e01b815260040160606040518083038186803b15801561026457600080fd5b505afa158015610278573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061029c9190810190610e28565b9250925092506102aa610c44565b6040518060c001604052808f6001600160a01b03166302d05d3f6040518163ffffffff1660e01b815260040160206040518083038186803b1580156102ee57600080fd5b505afa158015610302573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506103269190810190610de4565b6001600160a01b0316815260200160405180604001604052808f6001600160a01b031681526020018e6001600160a01b0316815250815260200160405180606001604052808d81526020018c81526020018b815250815260200160405180606001604052808a81526020018981526020018881525081526020016040518060600160405280878152602001868152602001858152508152602001604051806040016040528060008152602001600081525081525090506000808f6001600160a01b031663be5af9fe6040518163ffffffff1660e01b8152600401604080518083038186803b15801561041757600080fd5b505afa15801561042b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061044f9190810190610f57565b60408051808201909152918252602082015260a084015250909c505050505050505050505050505b919050565b610484610ca0565b600080836001600160a01b031663c7a5bdc86040518163ffffffff1660e01b8152600401604080518083038186803b1580156104bf57600080fd5b505afa1580156104d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506104f79190810190610f57565b91509150600080856001600160a01b0316633d7a783b6040518163ffffffff1660e01b8152600401604080518083038186803b15801561053657600080fd5b505afa15801561054a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061056e9190810190610f57565b91509150600080876001600160a01b031663d068cdc56040518163ffffffff1660e01b8152600401604080518083038186803b1580156105ad57600080fd5b505afa1580156105c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105e59190810190610f57565b91509150600080896001600160a01b0316638b0341366040518163ffffffff1660e01b8152600401604080518083038186803b15801561062457600080fd5b505afa158015610638573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061065c9190810190610f57565b915091506000808b6001600160a01b031663d3419bf36040518163ffffffff1660e01b8152600401604080518083038186803b15801561069b57600080fd5b505afa1580156106af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106d39190810190610f57565b9150915060405180610120016040528060405180604001604052808d81526020018c8152508152602001604051806040016040528085815260200184815250815260200160405180604001604052808f6001600160a01b031663eef49ee36040518163ffffffff1660e01b815260040160206040518083038186803b15801561075b57600080fd5b505afa15801561076f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107939190810190610f39565b81526020018f6001600160a01b0316632115e3036040518163ffffffff1660e01b815260040160206040518083038186803b1580156107d157600080fd5b505afa1580156107e5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108099190810190610f39565b815250815260200160405180604001604052808f6001600160a01b0316633f6fa6556040518163ffffffff1660e01b815260040160206040518083038186803b15801561085557600080fd5b505afa158015610869573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061088d9190810190610e0a565b151581526020018f6001600160a01b031663ac3791e36040518163ffffffff1660e01b815260040160206040518083038186803b1580156108cd57600080fd5b505afa1580156108e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109059190810190610e0a565b151581525081526020018d6001600160a01b031663b1c9fe6e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561094857600080fd5b505afa15801561095c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109809190810190610efd565b600381111561098b57fe5b81526020018d6001600160a01b031663653721476040518163ffffffff1660e01b815260040160206040518083038186803b1580156109c957600080fd5b505afa1580156109dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a019190810190610f1b565b6001811115610a0c57fe5b81526040805180820182529687526020878101969096528582019690965285518087018752998a5289850198909852848801989098525050815180830190925292815291820152606090910152949350505050565b610a69610d03565b600080846001600160a01b03166329e77b5d856040518263ffffffff1660e01b8152600401610a9891906111c6565b604080518083038186803b158015610aaf57600080fd5b505afa158015610ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ae79190810190610f57565b91509150600080866001600160a01b031663408e82af876040518263ffffffff1660e01b8152600401610b1a91906111c6565b604080518083038186803b158015610b3157600080fd5b505afa158015610b45573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b699190810190610f57565b91509150600080886001600160a01b0316636392a51f896040518263ffffffff1660e01b8152600401610b9c91906111c6565b604080518083038186803b158015610bb357600080fd5b505afa158015610bc7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610beb9190810190610f57565b6040805160a08101825260608101998a5260808101989098529787528751808901895295865260208681019590955284870195909552865180880188529081529283019390935250928201929092529150505b92915050565b6040518060c0016040528060006001600160a01b03168152602001610c67610d16565b8152602001610c74610d2d565b8152602001610c81610d4e565b8152602001610c8e610d2d565b8152602001610c9b610d72565b905290565b604051806101200160405280610cb4610d72565b8152602001610cc1610d72565b8152602001610cce610d72565b8152602001610cdb610d16565b81526020016000815260200160008152602001610cf6610d72565b8152602001610c8e610d72565b6040518060600160405280610cf6610d72565b604080518082019091526000808252602082015290565b60405180606001604052806000815260200160008152602001600081525090565b60405180606001604052806000801916815260200160008152602001600081525090565b604051806040016040528060008152602001600081525090565b8035610c3e8161126b565b8051610c3e8161126b565b8051610c3e8161127f565b8051610c3e81611288565b8035610c3e81611291565b8051610c3e81611291565b8051610c3e8161129a565b8051610c3e816112a7565b600060208284031215610df657600080fd5b6000610e028484610d97565b949350505050565b600060208284031215610e1c57600080fd5b6000610e028484610da2565b600080600060608486031215610e3d57600080fd5b6000610e498686610dad565b9350506020610e5a86828701610dad565b9250506040610e6b86828701610dad565b9150509250925092565b600060208284031215610e8757600080fd5b6000610e028484610db8565b60008060408385031215610ea657600080fd5b6000610eb28585610db8565b9250506020610ec385828601610d8c565b9150509250929050565b60008060408385031215610ee057600080fd5b6000610eec8585610dc3565b9250506020610ec385828601610dc3565b600060208284031215610f0f57600080fd5b6000610e028484610dce565b600060208284031215610f2d57600080fd5b6000610e028484610dd9565b600060208284031215610f4b57600080fd5b6000610e028484610dad565b60008060408385031215610f6a57600080fd5b6000610f768585610dad565b9250506020610ec385828601610dad565b610f9081611200565b82525050565b610f908161120b565b610f9081611210565b610f9081611213565b610f908161123e565b610f9081611249565b805160c0830190610fd48482611000565b506020820151610fe76040850182611000565b506040820151610ffa6080850182611000565b50505050565b805160408301906110118482610f9f565b506020820151610ffa6020850182610f9f565b805160608301906110358482610f9f565b5060208201516110486020850182610f9f565b506040820151610ffa6040850182610f9f565b805161020083019061106d8482611000565b5060208201516110806040850182611000565b5060408201516110936080850182611000565b5060608201516110a660c08501826111a2565b5060808201516110ba610100850182610fb1565b5060a08201516110ce610120850182610fba565b5060c08201516110e2610140850182611000565b5060e08201516110f6610180850182611000565b50610100820151610ffa6101c0850182611000565b80516101c083019061111d8482610f87565b506020820151611130602085018261117e565b5060408201516111436060850182611024565b50606082015161115660c0850182611024565b50608082015161116a610120850182611024565b5060a0820151610ffa610180850182611000565b8051604083019061118f8482610fa8565b506020820151610ffa6020850182610fa8565b805160408301906111b38482610f96565b506020820151610ffa6020850182610f96565b60208101610c3e8284610f87565b60c08101610c3e8284610fc3565b6102008101610c3e828461105b565b6101c08101610c3e828461110b565b6000610c3e82611232565b151590565b90565b6000610c3e82611200565b8061047781611254565b8061047781611261565b6001600160a01b031690565b6000610c3e8261121e565b6000610c3e82611228565b6004811061125e57fe5b50565b6002811061125e57fe5b61127481611200565b811461125e57600080fd5b6112748161120b565b61127481611210565b61127481611213565b6004811061125e57600080fd5b6002811061125e57600080fdfea365627a7a7231582014c31fcbc71ec8498690eb41e8c43b13cbd5ea2b86eb295fe42e52870c0d24376c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0x064e1cf2f5a8cbe657938d349c99040d8d80a0ad05b9200b82b2f2c4881978bd",
				"urls": [
					"bzz-raw://d580a0a455d9e82a333362745021ca867678f429800251629b0988ea31f80ce3",
					"dweb:/ipfs/QmWJHTtQVLkQiomercSzJTqiHtTpDW4SEBHp6BdHqzPz7H"
				]
			},
			"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": "0x064e1cf2f5a8cbe657938d349c99040d8d80a0ad05b9200b82b2f2c4881978bd",
						"urls": [
							"bzz-raw://d580a0a455d9e82a333362745021ca867678f429800251629b0988ea31f80ce3",
							"dweb:/ipfs/QmWJHTtQVLkQiomercSzJTqiHtTpDW4SEBHp6BdHqzPz7H"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManagerState": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620011b2380380620011b2833981016040819052620000349162000190565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f906200029d565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b591849062000265565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f906200028b565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200013690839062000255565b60405180910390a150506004805460018101825560009182527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b01555042600555620002f8565b80516200018a81620002de565b92915050565b60008060408385031215620001a457600080fd5b6000620001b285856200017d565b9250506020620001c5858286016200017d565b9150509250929050565b620001da81620002ca565b82525050565b620001da81620002b8565b6000620001fa601183620002af565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000229601983620002af565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b602081016200018a8284620001e0565b60408101620002758285620001cf565b620002846020830184620001e0565b9392505050565b602080825281016200018a81620001eb565b602080825281016200018a816200021a565b90815260200190565b60006001600160a01b0382166200018a565b60006200018a8260006200018a82620002b8565b620002e981620002b8565b8114620002f557600080fd5b50565b610eaa80620003086000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c80638da5cb5b11610104578063d2f00475116100a2578063e50a31b311610071578063e50a31b31461038f578063eb94bbde146103a2578063ed039154146103b5578063f53037b6146103c8576101cf565b8063d2f0047514610335578063d3a7120214610348578063e31f27c114610369578063e32261fe1461037c576101cf565b8063aefc4ccb116100de578063aefc4ccb146102ff578063af07aa9d14610307578063b52e0dc81461031a578063cc952b571461032d576101cf565b80638da5cb5b146102d1578063a0356f6e146102d9578063a29fe7b8146102ec576101cf565b806352f445ca116101715780636431e0bd1161014b5780636431e0bd146102a6578063781dc0e2146102b957806379ba5097146102c15780638c582503146102c9576101cf565b806352f445ca1461026b57806353a47bb71461027e5780635537479914610293576101cf565b806322e07b7a116101ad57806322e07b7a14610235578063246206391461023d578063381c5cb5146102505780635246f2b914610258576101cf565b806303f048b0146101d45780631627540c14610200578063173fcb4114610215575b600080fd5b6101e76101e2366004610b70565b6103db565b6040516101f79493929190610df2565b60405180910390f35b61021361020e366004610b4a565b610415565b005b610228610223366004610b8e565b610473565b6040516101f79190610dc9565b6102286104a1565b61021361024b366004610b8e565b6104a7565b61022861050d565b610213610266366004610b8e565b610514565b610213610279366004610b4a565b610579565b6102866105cc565b6040516101f79190610d50565b6102286102a1366004610b70565b6105db565b6102136102b4366004610b70565b6105ed565b610228610631565b610213610637565b6102286106d3565b61028661071e565b6102286102e7366004610b70565b61072d565b6102286102fa366004610b70565b61073f565b61028661075d565b6101e7610315366004610b8e565b61076c565b610228610328366004610b70565b6107ac565b6102286107cd565b610228610343366004610b70565b6107d3565b61035b610356366004610b70565b610813565b6040516101f7929190610dd7565b610213610377366004610b8e565b61082c565b61022861038a366004610b70565b610878565b61021361039d366004610b8e565b6108bb565b6102136103b0366004610b8e565b61091a565b6102136103c3366004610b70565b610963565b6102136103d6366004610b70565b6109d6565b6000806000806103e961050d565b90506103f4856107ac565b9350610402600182036107ac565b925061040c610631565b91509193509193565b61041d610a39565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610468908390610d50565b60405180910390a150565b6006602052816000526040600020818154811061048c57fe5b90600052602060002001600091509150505481565b60055481565b6002546001600160a01b031633146104da5760405162461bcd60e51b81526004016104d190610db9565b60405180910390fd5b60008281526006602090815260408083208054600181018255908452828420019390935592815260079092529020429055565b6004545b90565b6002546001600160a01b0316331461053e5760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a6516565b6000928352600860205260409092206001019190915550565b610581610a39565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610468908390610d50565b6001546001600160a01b031681565b60076020526000908152604090205481565b6002546001600160a01b031633146106175760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040812061062e91610afd565b50565b60055490565b6001546001600160a01b031633146106615760405162461bcd60e51b81526004016104d190610d79565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926106a4926001600160a01b0391821692911690610d5e565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6002546000906001600160a01b031633146107005760405162461bcd60e51b81526004016104d190610db9565b60035461071490600163ffffffff610a9216565b6003819055905090565b6000546001600160a01b031681565b60009081526006602052604090205490565b6004818154811061074c57fe5b600091825260209091200154905081565b6002546001600160a01b031681565b60008060008061077b8661072d565b90506107878686610abe565b93506107968660018303610abe565b92506107a186610aeb565b915092959194509250565b6000600482815481106107bb57fe5b90600052602060002001549050919050565b60035481565b6002546000906001600160a01b031633146108005760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090205490565b6008602052600090815260409020805460019091015482565b6002546001600160a01b031633146108565760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902060010154610560908263ffffffff610a9216565b6002546000906001600160a01b031633146108a55760405162461bcd60e51b81526004016104d190610db9565b5060009081526008602052604090206001015490565b6002546001600160a01b031633146108e55760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a6516565b6000928352600860205260409092209190915550565b6002546001600160a01b031633146109445760405162461bcd60e51b81526004016104d190610db9565b600082815260086020526040902054610904908263ffffffff610a9216565b6002546001600160a01b0316331461098d5760405162461bcd60e51b81526004016104d190610db9565b600081815260066020526040902054156109a65761062e565b60008181526006602090815260408083208054600181018255908452828420018390559282526007905220429055565b6002546001600160a01b03163314610a005760405162461bcd60e51b81526004016104d190610db9565b600480546001810182556000919091527f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b015542600555565b6000546001600160a01b03163314610a635760405162461bcd60e51b81526004016104d190610da9565b565b600082821115610a875760405162461bcd60e51b81526004016104d190610d99565b508082035b92915050565b600082820183811015610ab75760405162461bcd60e51b81526004016104d190610d89565b9392505050565b6000828152600660205260408120805483908110610ad857fe5b9060005260206000200154905092915050565b60009081526007602052604090205490565b508054600082559060005260206000209081019061062e919061051191905b80821115610b305760008155600101610b1c565b5090565b8035610a8c81610e4a565b8035610a8c81610e5e565b600060208284031215610b5c57600080fd5b6000610b688484610b34565b949350505050565b600060208284031215610b8257600080fd5b6000610b688484610b3f565b60008060408385031215610ba157600080fd5b6000610bad8585610b3f565b9250506020610bbe85828601610b3f565b9150509250929050565b610bd181610e39565b82525050565b6000610be4603583610e30565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610c3b601b83610e30565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000610c74601e83610e30565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000610cad602f83610e30565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000610cfe603483610e30565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b610bd181610511565b60208101610a8c8284610bc8565b60408101610d6c8285610bc8565b610ab76020830184610bc8565b60208082528101610a8c81610bd7565b60208082528101610a8c81610c2e565b60208082528101610a8c81610c67565b60208082528101610a8c81610ca0565b60208082528101610a8c81610cf1565b60208101610a8c8284610d47565b60408101610de58285610d47565b610ab76020830184610d47565b60808101610e008287610d47565b610e0d6020830186610d47565b610e1a6040830185610d47565b610e276060830184610d47565b95945050505050565b90815260200190565b60006001600160a01b038216610a8c565b610e5381610e39565b811461062e57600080fd5b610e538161051156fea365627a7a7231582046f35eaba808bf477a17a4c6de3754f7dc1eb6fbc7953171a9fb8f2e5657324c6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0xa9f1c6e7c22c4f1bab8399c4cb3b3343ea417d5602035e5a38c2078d84a5782e",
				"urls": [
					"bzz-raw://f38dd160c1851e55c1c8c72f274162face1d518d410884307390bafd25c5ab30",
					"dweb:/ipfs/QmXoguEebb8U6NaeKyfEKxLBxzFtVzaam44FFCz743FtpL"
				]
			},
			"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": "0xa9f1c6e7c22c4f1bab8399c4cb3b3343ea417d5602035e5a38c2078d84a5782e",
						"urls": [
							"bzz-raw://f38dd160c1851e55c1c8c72f274162face1d518d410884307390bafd25c5ab30",
							"dweb:/ipfs/QmXoguEebb8U6NaeKyfEKxLBxzFtVzaam44FFCz743FtpL"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralManager": {
			"bytecode": "670de0b6b3a7640000600e5560c06040526524b9b9bab2b960d11b60809081526c45786368616e6765526174657360981b60a052620000439060129060026200030a565b503480156200005157600080fd5b5060405162003c7938038062003c7983398101604081905262000074916200039a565b83856001600160a01b038116620000a85760405162461bcd60e51b81526004016200009f90620005a9565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000f59184906200054d565b60405180910390a1506000546001600160a01b0316620001295760405162461bcd60e51b81526004016200009f9062000597565b60038054610100600160a81b0319166101006001600160a01b039384160217905560008054336001600160a01b031991821617909155600580549091169188169190911790556200017a83620001cf565b6200018e826001600160e01b036200024716565b620001a2816001600160e01b036200029116565b5050600080546001600160a01b0319166001600160a01b0394909416939093179092555062000637915050565b620001e26001600160e01b03620002db16565b60008111620002055760405162461bcd60e51b81526004016200009f9062000573565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906200023c908390620005bb565b60405180910390a150565b6200025a6001600160e01b03620002db16565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906200023c908390620005bb565b620002a46001600160e01b03620002db16565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906200023c908390620005bb565b6000546001600160a01b03163314620003085760405162461bcd60e51b81526004016200009f9062000585565b565b82601881019282156200033b579160200282015b828111156200033b5782518255916020019190600101906200031e565b50620003499291506200034d565b5090565b6200036a91905b8082111562000349576000815560010162000354565b90565b80516200037a8162000607565b92915050565b80516200037a8162000621565b80516200037a816200062c565b60008060008060008060c08789031215620003b457600080fd5b6000620003c2898962000380565b9650506020620003d589828a016200036d565b9550506040620003e889828a016200036d565b9450506060620003fb89828a016200038d565b93505060806200040e89828a016200038d565b92505060a06200042189828a016200038d565b9150509295509295509295565b6200043981620005fa565b82525050565b6200043981620005d4565b600062000459601683620005cb565b7f4d7573742062652067726561746572207468616e203000000000000000000000815260200192915050565b600062000494602f83620005cb565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000620004e7601183620005cb565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000516601983620005cb565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b62000439816200036a565b604081016200055d82856200042e565b6200056c60208301846200043f565b9392505050565b602080825281016200037a816200044a565b602080825281016200037a8162000485565b602080825281016200037a81620004d8565b602080825281016200037a8162000507565b602081016200037a828462000542565b90815260200190565b60006200037a82620005ee565b60006200037a82620005d4565b6001600160a01b031690565b60006200037a82620005e1565b6200061281620005d4565b81146200061e57600080fd5b50565b6200061281620005e1565b62000612816200036a565b61363280620006476000396000f3fe608060405234801561001057600080fd5b50600436106102d65760003560e01c80638da5cb5b11610182578063c9e18015116100e9578063e32261fe116100a2578063ee81f7901161007c578063ee81f790146105ec578063f53037b6146105ff578063fb5aa1e114610612578063ffa749cd14610625576102d6565b8063e32261fe146105b3578063e50a31b3146105c6578063eb94bbde146105d9576102d6565b8063c9e1801514610557578063cc7ae6631461055f578063cd28502014610572578063d0064c0014610585578063d2f004751461058d578063e31f27c1146105a0576102d6565b8063b3b467321161013b578063b3b4673214610503578063b4d6cb401461050b578063ba1c5e801461052c578063bbb601cd14610534578063bf38668214610547578063c19d93fb1461054f576102d6565b80638da5cb5b146104b257806391b4ded9146104ba5780639f7eac37146104c2578063ad79a858146104d5578063af07aa9d146104dd578063b38988f7146104f0576102d6565b80634db7764c116102415780636526941b116101fa578063744d646e116101d4578063744d646e1461046f57806379ba509714610482578063899ffef41461048a5780638b173e811461049f576102d6565b80636526941b146104415780637060f9e8146104545780637418536014610467576102d6565b80634db7764c146103e15780635246f2b9146103f657806353a47bb71461040957806355bd615c1461041e5780635c975abb14610431578063614d08f814610439576102d6565b806316c38b3c1161029357806316c38b3c146103775780631e33fc6b1461038a57806324620639146103a05780632af64bd3146103b35780632e5de389146103bb57806342e32f13146103ce576102d6565b806303f048b0146102db57806304f3bcec146103075780630692b1701461031c5780630c9c81a1146103315780630e54a19b146103445780631627540c14610364575b600080fd5b6102ee6102e9366004612e43565b610638565b6040516102fe94939291906134d3565b60405180910390f35b61030f6106cf565b6040516102fe9190613414565b61032f61032a366004612d5e565b6106e3565b005b61032f61033f366004612e43565b610867565b610357610352366004612dce565b6108af565b6040516102fe919061335e565b61032f610372366004612cab565b610960565b61032f610385366004612e07565b6109b3565b610392610a28565b6040516102fe9291906133a3565b61032f6103ae366004612e7f565b610d1b565b610357610dae565b61032f6103c9366004612dce565b610ecb565b6103576103dc366004612e43565b610f9a565b6103e9610fb1565b6040516102fe9190613387565b61032f610404366004612e7f565b610fb7565b610411611013565b6040516102fe9190613324565b61032f61042c366004612dce565b611022565b6103576110de565b6103e96110e7565b61032f61044f366004612e43565b6110ff565b6103e9610462366004612e43565b61115c565b61032f61116e565b61035761047d366004612d29565b6112c4565b61032f61130c565b6104926113a8565b6040516102fe919061334d565b61032f6104ad366004612e43565b611560565b61041161159d565b6103e96115ac565b61032f6104d0366004612e43565b6115b2565b6103926115df565b6102ee6104eb366004612e7f565b6117c0565b6103576104fe366004612cab565b61185b565b6103e9611874565b61051e610519366004612e7f565b61192d565b6040516102fe92919061336c565b610392611a20565b61032f610542366004612ce7565b611b43565b6103e9611c23565b61030f611c29565b6103e9611c38565b61032f61056d366004612ce7565b611c3e565b6103e9610580366004612e43565b611e0e565b6103e9611e20565b6103e961059b366004612e43565b611e26565b61032f6105ae366004612e7f565b611ea7565b6103e96105c1366004612e43565b611f03565b61032f6105d4366004612e7f565b611f34565b61032f6105e7366004612e7f565b611f90565b6103926105fa366004612e43565b611fec565b61032f61060d366004612e43565b612306565b610357610620366004612dce565b612396565b61032f610633366004612ce7565b6124e1565b600554604051623f048b60e41b81526000918291829182916001600160a01b03909116906303f048b090610670908890600401613387565b60806040518083038186803b15801561068857600080fd5b505afa15801561069c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106c09190810190612ee9565b92989197509550909350915050565b60035461010090046001600160a01b031681565b6106eb61259a565b8281146107135760405162461bcd60e51b815260040161070a90613433565b60405180910390fd5b60005b8381101561085857600085858381811061072c57fe5b90506040020160006002811061073e57fe5b60200201359050600086868481811061075357fe5b90506040020160016002811061076557fe5b6020020135905061077d600b8363ffffffff6125c616565b61084e57610792600b8363ffffffff61261616565b6000828152600d602052604090819020829055517f228eebae23ce843c98c840591345820f72bfe22ac0ba807deebe0ee7d467ebd3906107d3908490613387565b60405180910390a16005546001600160a01b031663ed0391548686868181106107f857fe5b905060200201356040518263ffffffff1660e01b815260040161081b9190613387565b600060405180830381600087803b15801561083557600080fd5b505af1158015610849573d6000803e3d6000fd5b505050505b5050600101610716565b5061086161116e565b50505050565b61086f61259a565b60108190556040517f08f9599493340b8255c7698bded59e30079641f4a9531613ec02055739247004906108a4908390613387565b60405180910390a150565b60085460009084146108c357506000610958565b60005b84811015610952576108f48686838181106108dd57fe5b9050602002013560086125c690919063ffffffff16565b610902576000915050610958565b85858281811061090e57fe5b90506020020135600a600086868581811061092557fe5b905060200201358152602001908152602001600020541461094a576000915050610958565b6001016108c6565b50600190505b949350505050565b61096861259a565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a4908390613324565b6109bb61259a565b60035460ff16151581151514156109d157610a25565b6003805460ff1916821515179081905560ff16156109ee57426002555b6003546040517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5916108a49160ff9091169061335e565b50565b60088054604080516020808402820181019092528281526000938493606093830182828015610a7657602002820191906000526020600020905b815481526020019060010190808311610a62575b50505050509050600081511115610d165760005b8151811015610d14576000610ab1838381518110610aa457fe5b602002602001015161264e565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015610ae957600080fd5b505afa158015610afd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b219190810190612e61565b9050631c1554d160e21b811415610bc85760055460405163d2f0047560e01b8152610bc1916001600160a01b03169063d2f0047590610b64908590600401613387565b60206040518083038186803b158015610b7c57600080fd5b505afa158015610b90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bb49190810190612e61565b869063ffffffff61265916565b9450610d0b565b600080610bd3612685565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b8152600401610bfe9190613387565b604080518083038186803b158015610c1557600080fd5b505afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c4d9190810190612eb9565b60055460405163d2f0047560e01b8152929450909250600091610ce89185916001600160a01b039091169063d2f0047590610c8c908990600401613387565b60206040518083038186803b158015610ca457600080fd5b505afa158015610cb8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610cdc9190810190612e61565b9063ffffffff6126a516565b9050610cfa888263ffffffff61265916565b97508115610d0757600196505b5050505b50600101610a8a565b505b509091565b6000610d263361185b565b905080610d455760405162461bcd60e51b815260040161070a906134c3565b600554604051632462063960e01b81526001600160a01b0390911690632462063990610d7790869086906004016133d1565b600060405180830381600087803b158015610d9157600080fd5b505af1158015610da5573d6000803e3d6000fd5b50505050505050565b60006060610dba6113a8565b905060005b8151811015610ec1576000828281518110610dd657fe5b60209081029190910181015160008181526004928390526040908190205460035491516321f8a72160e01b81529294506001600160a01b039081169361010090920416916321f8a72191610e2c91869101613387565b60206040518083038186803b158015610e4457600080fd5b505afa158015610e58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e7c9190810190612cc9565b6001600160a01b0316141580610ea757506000818152600460205260409020546001600160a01b0316155b15610eb85760009350505050610ec8565b50600101610dbf565b5060019150505b90565b610ed361259a565b60005b83811015610f9357610eed8585838181106108dd57fe5b15610f8b57610f18858583818110610f0157fe5b9050602002013560086126cf90919063ffffffff16565b600a6000848484818110610f2857fe5b905060200201358152602001908152602001600020600090557f7ff80d3b3127593365b40f9f83c5c8739a8d47febe308d40e9390839b5335cf1858583818110610f6e57fe5b90506020020135604051610f829190613387565b60405180910390a15b600101610ed6565b5050505050565b6000818152600a602052604090205415155b919050565b60115481565b6000610fc23361185b565b905080610fe15760405162461bcd60e51b815260040161070a906134c3565b600554604051635246f2b960e01b81526001600160a01b0390911690635246f2b990610d7790869086906004016133d1565b6001546001600160a01b031681565b61102a61259a565b60005b83811015610f93576110448585838181106108dd57fe5b6110d657600085858381811061105657fe5b90506020020135905061107381600861261690919063ffffffff16565b80600a600086868681811061108457fe5b905060200201358152602001908152602001600020819055507fab4de7cb0edc2a9cbd9d540b749091def16b96cfc8a28853eba7fd3d74f71840816040516110cc9190613387565b60405180910390a1505b60010161102d565b60035460ff1681565b7021b7b63630ba32b930b626b0b730b3b2b960791b81565b61110761259a565b600081116111275760405162461bcd60e51b815260040161070a90613493565b600f8190556040517f3620cc91bd75c6d3d752b529a1b98b38789dd2b81a13ece55801abc83531a77f906108a4908390613387565b600d6020526000908152604090205481565b60606111786113a8565b905060005b81518110156112c057600082828151811061119457fe5b602002602001015190506000600360019054906101000a90046001600160a01b03166001600160a01b031663dacb2d0183846040516020016111d69190613319565b6040516020818303038152906040526040518363ffffffff1660e01b81526004016112029291906133b1565b60206040518083038186803b15801561121a57600080fd5b505afa15801561122e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506112529190810190612cc9565b6000838152600460205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68906112ae9084908490613395565b60405180910390a1505060010161117d565b5050565b6000805b8251811015611303576112ed8382815181106112e057fe5b602002602001015161185b565b6112fb576000915050610fac565b6001016112c8565b50600192915050565b6001546001600160a01b031633146113365760405162461bcd60e51b815260040161070a90613443565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92611379926001600160a01b0391821692911690613332565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6040805160028082526060808301845292839291906020830190803883390190505090506524b9b9bab2b960d11b816000815181106113e357fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061140d57fe5b6020908102919091010152600b5460609080156114e15780600202604051908082528060200260200182016040528015611451578160200160208202803883390190505b50915060005b818110156114df57600b80548290811061146d57fe5b906000526020600020015483828151811061148457fe5b602002602001018181525050600d6000600b60000183815481106114a457fe5b906000526020600020015481526020019081526020016000205483838301815181106114cc57fe5b6020908102919091010152600101611457565b505b600880546040805160208084028201810190925282815260609361153a93879383018282801561153057602002820191906000526020600020905b81548152602001906001019080831161151c575b50505050506127a3565b8051909150156115555761154e81856127a3565b9450611559565b8394505b5050505090565b61156861259a565b60118190556040517fe2695216766f2a627e90e17041ac2f085fd60ea503345b039f815c69bcbcccc9906108a4908390613387565b6000546001600160a01b031681565b60025481565b6115ba61259a565b600081116115da5760405162461bcd60e51b815260040161070a90613493565b600e55565b600b805460408051602080840282018101909252828152600093849360609383018282801561162d57602002820191906000526020600020905b815481526020019060010190808311611619575b50505050509050600081511115610d165760005b8151811015610d1457600061165b838381518110610aa457fe5b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cb9190810190612e61565b90506000806116d8612685565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b81526004016117039190613387565b604080518083038186803b15801561171a57600080fd5b505afa15801561172e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117529190810190612eb9565b60055460405163719130ff60e11b81529294509092506000916117919185916001600160a01b039091169063e32261fe90610c8c908990600401613387565b90506117a3888263ffffffff61265916565b975081156117b057600196505b5050600190920191506116419050565b60055460405163af07aa9d60e01b81526000918291829182916001600160a01b039091169063af07aa9d906117fb90899089906004016133d1565b60806040518083038186803b15801561181357600080fd5b505afa158015611827573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061184b9190810190612ee9565b9299919850965090945092505050565b600061186e60068363ffffffff61285f16565b92915050565b6000806118803361185b565b90508061189f5760405162461bcd60e51b815260040161070a906134c3565b600560009054906101000a90046001600160a01b03166001600160a01b0316638c5825036040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156118ef57600080fd5b505af1158015611903573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119279190810190612e61565b91505090565b600080600061193a612685565b6001600160a01b031663654a60ac8587631c1554d160e21b6040518463ffffffff1660e01b8152600401611970939291906133ec565b60206040518083038186803b15801561198857600080fd5b505afa15801561199c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119c09190810190612e61565b90506000806119cd610a28565b915091506000806119dc6115df565b9150915082806119e95750805b600f54909650611a0f86611a03878663ffffffff61265916565b9063ffffffff61265916565b1115965050505050505b9250929050565b6000806000611a2d6128cc565b6001600160a01b031663f023e8db631c1554d160e21b60016040518363ffffffff1660e01b8152600401611a629291906133a3565b60206040518083038186803b158015611a7a57600080fd5b505afa158015611a8e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ab29190810190612e61565b9050600080611abf610a28565b90925090506000611ad6848463ffffffff61265916565b90506000611b056a1a1a7062e5185d7e380000611af9868563ffffffff6128e016565b9063ffffffff6128e016565b90506000611b1e600e54836126a590919063ffffffff16565b9050611b356010548261265990919063ffffffff16565b989397509295505050505050565b611b4b61259a565b60005b81811015611c1e57611b88838383818110611b6557fe5b9050602002016020611b7a9190810190612cab565b60069063ffffffff61285f16565b611c1657611bbe838383818110611b9b57fe5b9050602002016020611bb09190810190612cab565b60069063ffffffff61290a16565b7f7db05e63d635a68c62fd7fd8f3107ae8ab584a383e102d1bd8a40f4c977e465f838383818110611beb57fe5b9050602002016020611c009190810190612cab565b604051611c0d9190613324565b60405180910390a15b600101611b4e565b505050565b60105481565b6005546001600160a01b031681565b600e5481565b611c4661259a565b60005b81811015611c1e57611c77838383818110611c6057fe5b90506020020135600b6125c690919063ffffffff16565b15611e0657611ca2838383818110611c8b57fe5b90506020020135600b6126cf90919063ffffffff16565b6000611cbf848484818110611cb357fe5b9050602002013561264e565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b158015611cf757600080fd5b505afa158015611d0b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d2f9190810190612e61565b600554604051636431e0bd60e01b81529192506001600160a01b031690636431e0bd90611d60908490600401613387565b600060405180830381600087803b158015611d7a57600080fd5b505af1158015611d8e573d6000803e3d6000fd5b50505050600d6000858585818110611da257fe5b905060200201358152602001908152602001600020600090557fc82c7ce2215189b78c42565fd1d25136f008aab037634d9db1f1b801ac025248848484818110611de857fe5b90506020020135604051611dfc9190613387565b60405180910390a1505b600101611c49565b600a6020526000908152604090205481565b600f5481565b60055460405163d2f0047560e01b81526000916001600160a01b03169063d2f0047590611e57908590600401613387565b60206040518083038186803b158015611e6f57600080fd5b505afa158015611e83573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061186e9190810190612e61565b6000611eb23361185b565b905080611ed15760405162461bcd60e51b815260040161070a906134c3565b60055460405163e31f27c160e01b81526001600160a01b039091169063e31f27c190610d7790869086906004016133d1565b60055460405163719130ff60e11b81526000916001600160a01b03169063e32261fe90611e57908590600401613387565b6000611f3f3361185b565b905080611f5e5760405162461bcd60e51b815260040161070a906134c3565b60055460405163e50a31b360e01b81526001600160a01b039091169063e50a31b390610d7790869086906004016133d1565b6000611f9b3361185b565b905080611fba5760405162461bcd60e51b815260040161070a906134c3565b6005546040516375ca5def60e11b81526001600160a01b039091169063eb94bbde90610d7790869086906004016133d1565b6000806000611ffa8461264e565b6001600160a01b031663dbd06c856040518163ffffffff1660e01b815260040160206040518083038186803b15801561203257600080fd5b505afa158015612046573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061206a9190810190612e61565b9050612074612685565b6001600160a01b0316632528f0fe826040518263ffffffff1660e01b815260040161209f9190613387565b60206040518083038186803b1580156120b757600080fd5b505afa1580156120cb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120ef9190810190612e25565b915060006120fc8561264e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b15801561213457600080fd5b505afa158015612148573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061216c9190810190612e61565b6000868152600d6020526040812054919250906121889061264e565b6001600160a01b03166318160ddd6040518163ffffffff1660e01b815260040160206040518083038186803b1580156121c057600080fd5b505afa1580156121d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121f89190810190612e61565b60055460405163719130ff60e11b81529192506000916122849184916001600160a01b039091169063e32261fe90612234908990600401613387565b60206040518083038186803b15801561224c57600080fd5b505afa158015612260573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a039190810190612e61565b90508083111561229c57506000945061230192505050565b60006122ae828563ffffffff61295c16565b905060006122e16a1a1a7062e5185d7e380000611af96122d4888763ffffffff61265916565b859063ffffffff6128e016565b90506122f86011548261265990919063ffffffff16565b97505050505050505b915091565b60006123113361185b565b9050806123305760405162461bcd60e51b815260040161070a906134c3565b600554604051637a981bdb60e11b81526001600160a01b039091169063f53037b690612360908590600401613387565b600060405180830381600087803b15801561237a57600080fd5b505af115801561238e573d6000803e3d6000fd5b505050505050565b60008382146123b75760405162461bcd60e51b815260040161070a90613433565b600b5484146123c857506000610958565b60005b8481101561242f5760008686838181106123e157fe5b9050602002013590506123fe81600b6125c690919063ffffffff16565b158061241657506000818152600d6020526040902054155b1561242657600092505050610958565b506001016123cb565b5060005b82811015610952576005546001600160a01b031663a0356f6e85858481811061245857fe5b905060200201356040518263ffffffff1660e01b815260040161247b9190613387565b60206040518083038186803b15801561249357600080fd5b505afa1580156124a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124cb9190810190612e61565b6124d9576000915050610958565b600101612433565b6124e961259a565b60005b81811015611c1e57612503838383818110611b6557fe5b156125925761253a83838381811061251757fe5b905060200201602061252c9190810190612cab565b60069063ffffffff61298416565b7fd89d2ee68ab04dca0193f48a4aff55e20fa5ec0429a8a8c1c51b8dad6178a59383838381811061256757fe5b905060200201602061257c9190810190612cab565b6040516125899190613324565b60405180910390a15b6001016124ec565b6000546001600160a01b031633146125c45760405162461bcd60e51b815260040161070a906134a3565b565b81546000906125d75750600061186e565b6000828152600184016020526040902054801515806109585750828460000160008154811061260257fe5b906000526020600020015414949350505050565b61262082826125c6565b6112c05781546000828152600180850160209081526040832084905590830185558482529020018190555050565b600061186e82612a9a565b60008282018381101561267e5760405162461bcd60e51b815260040161070a90613453565b9392505050565b60006126a06c45786368616e6765526174657360981b612a9a565b905090565b6000670de0b6b3a76400006126c0848463ffffffff612af716565b816126c757fe5b049392505050565b6126d982826125c6565b6126f55760405162461bcd60e51b815260040161070a90613463565b600081815260018301602052604090205482546000190180821461276357600084600001828154811061272457fe5b906000526020600020015490508085600001848154811061274157fe5b6000918252602080832090910192909255918252600186019052604090208290555b835484908061276e57fe5b600190038181906000526020600020016000905590558360010160008481526020019081526020016000206000905550505050565b606081518351016040519080825280602002602001820160405280156127d3578160200160208202803883390190505b50905060005b8351811015612815578381815181106127ee57fe5b602002602001015182828151811061280257fe5b60209081029190910101526001016127d9565b5060005b82518110156128585782818151811061282e57fe5b602002602001015182828651018151811061284557fe5b6020908102919091010152600101612819565b5092915050565b81546000906128705750600061186e565b6001600160a01b0382166000908152600184016020526040902054801515806109585750826001600160a01b0316846000016000815481106128ae57fe5b6000918252602090912001546001600160a01b031614949350505050565b60006126a06524b9b9bab2b960d11b612a9a565b600061267e826128fe85670de0b6b3a764000063ffffffff612af716565b9063ffffffff612b3116565b612914828261285f565b6112c05781546001600160a01b038216600081815260018086016020908152604083208590559084018655858252902090910180546001600160a01b03191690911790555050565b60008282111561297e5760405162461bcd60e51b815260040161070a90613473565b50900390565b61298e828261285f565b6129aa5760405162461bcd60e51b815260040161070a90613463565b6001600160a01b0381166000908152600183016020526040902054825460001901808214612a495760008460000182815481106129e357fe5b60009182526020909120015485546001600160a01b0390911691508190869085908110612a0c57fe5b600091825260208083209190910180546001600160a01b0319166001600160a01b0394851617905592909116815260018601909152604090208290555b8354849080612a5457fe5b60008281526020808220830160001990810180546001600160a01b03191690559092019092556001600160a01b0394909416815260019490940190925250506040812055565b60008181526004602090815260408083205490516001600160a01b039091169182151591612aca918691016132f9565b604051602081830303815290604052906128585760405162461bcd60e51b815260040161070a9190613422565b600082612b065750600061186e565b82820282848281612b1357fe5b041461267e5760405162461bcd60e51b815260040161070a906134b3565b6000808211612b525760405162461bcd60e51b815260040161070a90613483565b6000828481612b5d57fe5b04949350505050565b803561186e816135c9565b805161186e816135c9565b60008083601f840112612b8e57600080fd5b50813567ffffffffffffffff811115612ba657600080fd5b602083019150836020820283011115611a1957600080fd5b600082601f830112612bcf57600080fd5b8135612be2612bdd82613538565b613511565b91508181835260208401935060208101905083856020840282011115612c0757600080fd5b60005b83811015612c335781612c1d8882612b66565b8452506020928301929190910190600101612c0a565b5050505092915050565b60008083601f840112612c4f57600080fd5b50813567ffffffffffffffff811115612c6757600080fd5b602083019150836040820283011115611a1957600080fd5b803561186e816135dd565b805161186e816135dd565b803561186e816135e6565b805161186e816135e6565b600060208284031215612cbd57600080fd5b60006109588484612b66565b600060208284031215612cdb57600080fd5b60006109588484612b71565b60008060208385031215612cfa57600080fd5b823567ffffffffffffffff811115612d1157600080fd5b612d1d85828601612b7c565b92509250509250929050565b600060208284031215612d3b57600080fd5b813567ffffffffffffffff811115612d5257600080fd5b61095884828501612bbe565b60008060008060408587031215612d7457600080fd5b843567ffffffffffffffff811115612d8b57600080fd5b612d9787828801612c3d565b9450945050602085013567ffffffffffffffff811115612db657600080fd5b612dc287828801612b7c565b95989497509550505050565b60008060008060408587031215612de457600080fd5b843567ffffffffffffffff811115612dfb57600080fd5b612d9787828801612b7c565b600060208284031215612e1957600080fd5b60006109588484612c7f565b600060208284031215612e3757600080fd5b60006109588484612c8a565b600060208284031215612e5557600080fd5b60006109588484612c95565b600060208284031215612e7357600080fd5b60006109588484612ca0565b60008060408385031215612e9257600080fd5b6000612e9e8585612c95565b9250506020612eaf85828601612c95565b9150509250929050565b60008060408385031215612ecc57600080fd5b6000612ed88585612ca0565b9250506020612eaf85828601612c8a565b60008060008060808587031215612eff57600080fd5b6000612f0b8787612ca0565b9450506020612f1c87828801612ca0565b9350506040612f2d87828801612ca0565b9250506060612f3e87828801612ca0565b91505092959194509250565b6000612f568383612fcf565b505060200190565b612f678161356c565b82525050565b6000612f788261355f565b612f828185613563565b9350612f8d83613559565b8060005b83811015612fbb578151612fa58882612f4a565b9750612fb083613559565b925050600101612f91565b509495945050505050565b612f6781613577565b612f6781610ec8565b612f67612fe482610ec8565b610ec8565b612f6781613588565b6000612ffd8261355f565b6130078185613563565b9350613017818560208601613593565b613020816135bf565b9093019392505050565b6000613037601b83613563565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000613070603583613563565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006130c7601b83613563565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000613100601383613563565b7222b632b6b2b73a103737ba1034b71039b2ba1760691b815260200192915050565b600061312f601e83613563565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000613168601a83613563565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b60006131a1601183610fac565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006131ce601683613563565b7504d7573742062652067726561746572207468616e20360541b815260200192915050565b6000613200602f83613563565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000613251602183613563565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000613294601983613563565b7f4f6e6c7920636f6c6c61746572616c20636f6e74726163747300000000000000815260200192915050565b60006132cd601983610fac565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b600061330482613194565b91506133108284612fd8565b50602001919050565b6000613304826132c0565b6020810161186e8284612f5e565b604081016133408285612f5e565b61267e6020830184612f5e565b6020808252810161267e8184612f6d565b6020810161186e8284612fc6565b6040810161337a8285612fc6565b61267e6020830184612fc6565b6020810161186e8284612fcf565b604081016133408285612fcf565b6040810161337a8285612fcf565b604081016133bf8285612fcf565b81810360208301526109588184612ff2565b604081016133df8285612fcf565b61267e6020830184612fcf565b606081016133fa8286612fcf565b6134076020830185612fcf565b6109586040830184612fcf565b6020810161186e8284612fe9565b6020808252810161267e8184612ff2565b6020808252810161186e8161302a565b6020808252810161186e81613063565b6020808252810161186e816130ba565b6020808252810161186e816130f3565b6020808252810161186e81613122565b6020808252810161186e8161315b565b6020808252810161186e816131c1565b6020808252810161186e816131f3565b6020808252810161186e81613244565b6020808252810161186e81613287565b608081016134e18287612fcf565b6134ee6020830186612fcf565b6134fb6040830185612fcf565b6135086060830184612fcf565b95945050505050565b60405181810167ffffffffffffffff8111828210171561353057600080fd5b604052919050565b600067ffffffffffffffff82111561354f57600080fd5b5060209081020190565b60200190565b5190565b90815260200190565b600061186e8261357c565b151590565b6001600160a01b031690565b600061186e8261356c565b60005b838110156135ae578181015183820152602001613596565b838111156108615750506000910152565b601f01601f191690565b6135d28161356c565b8114610a2557600080fd5b6135d281613577565b6135d281610ec856fea365627a7a723158202fb5e32f4fa92d807447b970791cda506079f4a19c775e8279d78c425328e1ed6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0x3397594a486c6bc8f1e1798cf89cd4dd697b5cd74e71dcd0a4ffcf73383be686",
				"urls": [
					"bzz-raw://4be5b63ee77f0c4aefd037d9277e983d8cb84953f2dc598c140bdc26074dec6c",
					"dweb:/ipfs/QmW16rR1PeWt8F1rkpqwXfvKrRQeGGXDxoD3Fkq2ZdzDjH"
				]
			},
			"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": "0x3397594a486c6bc8f1e1798cf89cd4dd697b5cd74e71dcd0a4ffcf73383be686",
						"urls": [
							"bzz-raw://4be5b63ee77f0c4aefd037d9277e983d8cb84953f2dc598c140bdc26074dec6c",
							"dweb:/ipfs/QmW16rR1PeWt8F1rkpqwXfvKrRQeGGXDxoD3Fkq2ZdzDjH"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralState": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162000f6c38038062000f6c83398101604081905262000034916200015a565b80826001600160a01b038116620000685760405162461bcd60e51b81526004016200005f9062000267565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b59184906200022f565b60405180910390a1506000546001600160a01b0316620000e95760405162461bcd60e51b81526004016200005f9062000255565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390620001369083906200021f565b60405180910390a1505050620002c2565b80516200015481620002a8565b92915050565b600080604083850312156200016e57600080fd5b60006200017c858562000147565b92505060206200018f8582860162000147565b9150509250929050565b620001a48162000294565b82525050565b620001a48162000282565b6000620001c460118362000279565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b6000620001f360198362000279565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620001548284620001aa565b604081016200023f828562000199565b6200024e6020830184620001aa565b9392505050565b602080825281016200015481620001b5565b602080825281016200015481620001e4565b90815260200190565b60006001600160a01b03821662000154565b600062000154826000620001548262000282565b620002b38162000282565b8114620002bf57600080fd5b50565b610c9a80620002d26000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c806379ba50971161007157806379ba50971461011a5780638da5cb5b1461012257806398c61c371461012a578063a1c5158614610152578063aefc4ccb14610172578063e0b6adbc1461017a576100a9565b80631627540c146100ae57806344dce41c146100c357806352f445ca146100d657806353a47bb7146100e95780635c33120414610107575b600080fd5b6100c16100bc36600461088c565b61019a565b005b6100c16100d13660046108ec565b6101f8565b6100c16100e436600461088c565b610352565b6100f16103a5565b6040516100fe9190610adc565b60405180910390f35b6100c16101153660046108ec565b6103b4565b6100c161048d565b6100f1610529565b61013d6101383660046108b2565b610538565b6040516100fe99989796959493929190610b59565b6101656101603660046108b2565b6105ad565b6040516100fe9190610b3c565b6100f16106e4565b61018d61018836600461088c565b6106f3565b6040516100fe9190610b4b565b6101a261070e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906101ed908390610adc565b60405180910390a150565b6002546001600160a01b0316331461022b5760405162461bcd60e51b815260040161022290610b2c565b60405180910390fd5b6020808201516001600160a01b03166000908152600390915260408120905b815481101561034d57826000015182828154811061026457fe5b906000526020600020906009020160000154141561034557826003600085602001516001600160a01b03166001600160a01b0316815260200190815260200160002082815481106102b157fe5b6000918252602091829020835160099290920201908155908201516001820180546001600160a01b0319166001600160a01b0390921691909117905560408201516002820155606082015160038201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e08201516007820155610100909101516008909101555b60010161024a565b505050565b61035a61070e565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906101ed908390610adc565b6001546001600160a01b031681565b6002546001600160a01b031633146103de5760405162461bcd60e51b815260040161022290610b2c565b602081810180516001600160a01b03908116600090815260038085526040808320805460018082018355918552969093208751600990970201958655935191850180546001600160a01b03191692909316919091179091559083015160028301556060830151908201556080820151600482015560a082015160058201805460ff191691151591909117905560c0820151600682015560e0820151600782015561010090910151600890910155565b6001546001600160a01b031633146104b75760405162461bcd60e51b815260040161022290610b0c565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926104fa926001600160a01b0391821692911690610aea565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000546001600160a01b031681565b6003602052816000526040600020818154811061055157fe5b60009182526020909120600990910201805460018201546002830154600384015460048501546005860154600687015460078801546008909801549699506001600160a01b03909516975092959194909360ff90931692919089565b6105b561073a565b6001600160a01b0383166000908152600360209081526040808320805482518185028101850190935280835260609492939192909184015b82821015610683576000848152602090819020604080516101208101825260098602909201805483526001808201546001600160a01b0316848601526002820154928401929092526003810154606084015260048101546080840152600581015460ff16151560a0840152600681015460c0840152600781015460e08401526008015461010083015290835290920191016105ed565b509293506000925050505b81518110156106db57838282815181106106a457fe5b60200260200101516000015114156106d3578181815181106106c257fe5b6020026020010151925050506106de565b60010161068e565b50505b92915050565b6002546001600160a01b031681565b6001600160a01b031660009081526003602052604090205490565b6000546001600160a01b031633146107385760405162461bcd60e51b815260040161022290610b1c565b565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b80356106de81610c2e565b80356106de81610c45565b80356106de81610c4e565b600061012082840312156107c857600080fd5b6107d3610120610bdf565b905060006107e184846107aa565b82525060206107f284848301610794565b6020830152506040610806848285016107aa565b604083015250606061081a848285016107aa565b606083015250608061082e848285016107aa565b60808301525060a06108428482850161079f565b60a08301525060c0610856848285016107aa565b60c08301525060e061086a848285016107aa565b60e08301525061010061087f848285016107aa565b6101008301525092915050565b60006020828403121561089e57600080fd5b60006108aa8484610794565b949350505050565b600080604083850312156108c557600080fd5b60006108d18585610794565b92505060206108e2858286016107aa565b9150509250929050565b600061012082840312156108ff57600080fd5b60006108aa84846107b5565b61091481610c0f565b82525050565b61091481610c1a565b61091481610c1f565b6000610939603583610c06565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000610990602f83610c06565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006109e1603483610c06565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b8051610120830190610a3c8482610923565b506020820151610a4f602085018261090b565b506040820151610a626040850182610923565b506060820151610a756060850182610923565b506080820151610a886080850182610923565b5060a0820151610a9b60a085018261091a565b5060c0820151610aae60c0850182610923565b5060e0820151610ac160e0850182610923565b50610100820151610ad6610100850182610923565b50505050565b602081016106de828461090b565b60408101610af8828561090b565b610b05602083018461090b565b9392505050565b602080825281016106de8161092c565b602080825281016106de81610983565b602080825281016106de816109d4565b61012081016106de8284610a2a565b602081016106de8284610923565b6101208101610b68828c610923565b610b75602083018b61090b565b610b82604083018a610923565b610b8f6060830189610923565b610b9c6080830188610923565b610ba960a083018761091a565b610bb660c0830186610923565b610bc360e0830185610923565b610bd1610100830184610923565b9a9950505050505050505050565b60405181810167ffffffffffffffff81118282101715610bfe57600080fd5b604052919050565b90815260200190565b60006106de82610c22565b151590565b90565b6001600160a01b031690565b610c3781610c0f565b8114610c4257600080fd5b50565b610c3781610c1a565b610c3781610c1f56fea365627a7a7231582026e067ec24b317a7aabe0b5a689ad81c6df271a9af5560834e589781139349f36c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0x65feb251231b1ff864c2815c2cc57fa9dc7731db12ca0fb420a3ca608fcab07b",
				"urls": [
					"bzz-raw://be356f15bb55a06cc5df953b716be09bf7c07d5ae7a9eb0129328e8007ec6ca5",
					"dweb:/ipfs/QmQVMUfuttSSpkmgM8yL1SGuP4GatPB4Ld7AswSvRpnp35"
				]
			},
			"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": "0x65feb251231b1ff864c2815c2cc57fa9dc7731db12ca0fb420a3ca608fcab07b",
						"urls": [
							"bzz-raw://be356f15bb55a06cc5df953b716be09bf7c07d5ae7a9eb0129328e8007ec6ca5",
							"dweb:/ipfs/QmQVMUfuttSSpkmgM8yL1SGuP4GatPB4Ld7AswSvRpnp35"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralEth": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162005eac38038062005eac8339810160408190526200004c916200016c565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f9062000294565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d59184906200026e565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b5550506001601055506200031595505050505050565b80516200014c81620002e5565b92915050565b80516200014c81620002ff565b80516200014c816200030a565b600080600080600080600060e0888a0312156200018857600080fd5b6000620001968a8a6200015f565b9750506020620001a98a828b016200013f565b9650506040620001bc8a828b016200013f565b9550506060620001cf8a828b016200013f565b9450506080620001e28a828b0162000152565b93505060a0620001f58a828b0162000152565b92505060c0620002088a828b0162000152565b91505092959891949750929550565b6200022281620002d8565b82525050565b6200022281620002af565b600062000242601983620002a6565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200027e828562000217565b6200028d602083018462000228565b9392505050565b602080825281016200014c8162000233565b90815260200190565b60006200014c82620002cc565b90565b60006200014c82620002af565b6001600160a01b031690565b60006200014c82620002bf565b620002f081620002af565b8114620002fc57600080fd5b50565b620002f081620002bc565b620002f081620002bf565b615b8780620003256000396000f3fe6080604052600436106102465760003560e01c80635eb2ad0111610139578063b562a1ab116100b6578063d2b8035a1161007a578063d2b8035a14610638578063dac8cf6814610658578063de81eda914610678578063e74337c614610698578063eb8e3b65146106b8578063f3f43703146106cd57610246565b8063b562a1ab146105b9578063ba2de9bc146105ce578063c19d93fb146105e3578063cd285020146105f8578063d0ebdbe71461061857610246565b80638cd2e0c7116100fd5780638cd2e0c71461052f5780638da5cb5b1461054f57806390abb4d914610564578063925ead1114610584578063a76cdfa51461059957610246565b80635eb2ad01146104a357806374185360146104c357806379ba5097146104d85780637e132355146104ed578063899ffef41461050d57610246565b8063361e2086116101c757806347e7ef241161018b57806347e7ef2414610419578063481c6a751461042c5780634c17ace41461044e57806353a47bb71461046e57806355bd615c1461048357610246565b8063361e20861461038f57806337551ec6146103a4578063379607f5146103c45780634065b81b146103e4578063441a3e70146103f957610246565b80630cdd1c651161020e5780630cdd1c65146102f85780630e54a19b1461031857806315aaf4dd146103455780631627540c1461035a5780632af64bd31461037a57610246565b806304f3bcec1461024b57806306c19e3f146102765780630710285c1461028b5780630a153c97146102ab5780630aebeb4e146102d8575b600080fd5b34801561025757600080fd5b506102606106ed565b60405161026d91906157e3565b60405180910390f35b610289610284366004614d35565b6106fc565b005b34801561029757600080fd5b506102896102a6366004614bee565b61070e565b3480156102b757600080fd5b506102cb6102c6366004614d35565b610754565b60405161026d9190615771565b3480156102e457600080fd5b506102896102f3366004614d17565b610890565b34801561030457600080fd5b50610289610313366004614d17565b6108d3565b34801561032457600080fd5b50610338610333366004614c3b565b6109be565b60405161026d9190615763565b34801561035157600080fd5b506102cb610a80565b34801561036657600080fd5b50610289610375366004614b78565b610a86565b34801561038657600080fd5b50610338610ad9565b34801561039b57600080fd5b506102cb610bf1565b3480156103b057600080fd5b506102cb6103bf366004614d17565b610bf7565b3480156103d057600080fd5b506102896103df366004614d17565b610c15565b3480156103f057600080fd5b50610338610cea565b34801561040557600080fd5b50610289610414366004614d35565b610cf3565b610289610427366004614bb4565b610d37565b34801561043857600080fd5b50610441610d42565b60405161026d91906156f2565b34801561045a57600080fd5b50610289610469366004614d17565b610d51565b34801561047a57600080fd5b50610441610e2d565b34801561048f57600080fd5b5061028961049e366004614c3b565b610e3c565b3480156104af57600080fd5b506102896104be366004614bb4565b610f02565b3480156104cf57600080fd5b50610289610f38565b3480156104e457600080fd5b5061028961108a565b3480156104f957600080fd5b506102cb610508366004614d35565b611126565b34801561051957600080fd5b506105226111cf565b60405161026d9190615752565b34801561053b57600080fd5b5061028961054a366004614bee565b611334565b34801561055b57600080fd5b50610441611340565b34801561057057600080fd5b5061028961057f366004614cab565b61134f565b34801561059057600080fd5b506102cb61139b565b3480156105a557600080fd5b506102896105b4366004614d17565b6113a1565b3480156105c557600080fd5b506102cb6113de565b3480156105da57600080fd5b506102cb6113e4565b3480156105ef57600080fd5b506102606113ea565b34801561060457600080fd5b506102cb610613366004614d17565b6113f9565b34801561062457600080fd5b50610289610633366004614b78565b61140b565b34801561064457600080fd5b50610289610653366004614d35565b611464565b34801561066457600080fd5b506102cb610673366004614d54565b61146e565b34801561068457600080fd5b50610441610693366004614d17565b6115c7565b3480156106a457600080fd5b506102cb6106b3366004614d54565b6115e2565b3480156106c457600080fd5b506102cb6118cc565b3480156106d957600080fd5b506102cb6106e8366004614b78565b6118d2565b6002546001600160a01b031681565b61070934838360006118e4565b505050565b600061071b848484612073565b3360009081526011602052604090205490915061073e908263ffffffff61243e16565b3360009081526011602052604090205550505050565b60008061075f61246c565b905061076961251e565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b815260040161079a939291906157bb565b60206040518083038186803b1580156107b257600080fd5b505afa1580156107c6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107ea9190810190614d92565b915061088861087b8273__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561083757600080fd5b505af415801561084b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061086f9190810190614d92565b9063ffffffff61243e16565b839063ffffffff61253916565b949350505050565b600061089c3383612563565b336000908152601160205260409020549091506108bf908263ffffffff61243e16565b336000908152601160205260409020555050565b6108db612a2e565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561091f57600080fd5b505af4158015610933573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109579190810190614d92565b811161097e5760405162461bcd60e51b815260040161097590615812565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906109b3908390615771565b60405180910390a150565b60075460009084146109d257506000610888565b60005b84811015610a745760008686838181106109eb57fe5b9050602002013590508060078381548110610a0257fe5b906000526020600020015414610a1d57600092505050610888565b60078281548110610a2a57fe5b906000526020600020015460086000878786818110610a4557fe5b9050602002013581526020019081526020016000205414610a6b57600092505050610888565b506001016109d5565b50600195945050505050565b600e5481565b610a8e612a2e565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906109b39083906156f2565b60006060610ae56111cf565b905060005b8151811015610be7576000828281518110610b0157fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b52908590600401615771565b60206040518083038186803b158015610b6a57600080fd5b505afa158015610b7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610ba29190810190614b96565b6001600160a01b0316141580610bcd57506000818152600360205260409020546001600160a01b0316155b15610bde5760009350505050610bee565b50600101610aea565b5060019150505b90565b600c5481565b60078181548110610c0457fe5b600091825260209091200154905081565b601080546001019081905533600090815260116020526040902054610c40908363ffffffff612a5a16565b336000818152601160205260408082209390935591518490610c61906156e7565b60006040518083038185875af1925050503d8060008114610c9e576040519150601f19603f3d011682016040523d82523d6000602084013e610ca3565b606091505b5050905080610cc45760405162461bcd60e51b815260040161097590615852565b506010548114610ce65760405162461bcd60e51b8152600401610975906159b2565b5050565b600f5460ff1681565b6000610cff8383612a82565b33600090815260116020526040902054909150610d22908263ffffffff61243e16565b33600090815260116020526040902055505050565b610ce6828234612c85565b6006546001600160a01b031681565b610d59612a2e565b73__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610d9d57600080fd5b505af4158015610db1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610dd59190810190614d92565b610e1002811115610df85760405162461bcd60e51b815260040161097590615922565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906109b3908390615771565b6001546001600160a01b031681565b610e44612a2e565b828114610e635760405162461bcd60e51b815260040161097590615802565b60005b83811015610ef3576000858583818110610e7c57fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610ed057fe5b602090810292909201358352508101919091526040016000205550600101610e66565b50610efc610f38565b50505050565b610f0a612a2e565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610f426111cf565b905060005b8151811015610ce6576000828281518110610f5e57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610fa091906156dc565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610fcc92919061579b565b60206040518083038186803b158015610fe457600080fd5b505afa158015610ff8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061101c9190810190614b96565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611078908490849061577f565b60405180910390a15050600101610f47565b6001546001600160a01b031633146110b45760405162461bcd60e51b815260040161097590615842565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110f7926001600160a01b0391821692911690615729565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111c861113361251e565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b8152600401611164939291906157bb565b60206040518083038186803b15801561117c57600080fd5b505afa158015611190573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111b49190810190614d92565b6111bc612e7c565b9063ffffffff61253916565b9392505050565b6060806111da612f0c565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061121957fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061124357fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061126957fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061129257fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b816004815181106112b857fe5b60200260200101818152505060606112d08383612f5d565b905061132c81600780548060200260200160405190810160405280929190818152602001828054801561132257602002820191906000526020600020905b81548152602001906001019080831161130e575b5050505050612f5d565b935050505090565b61070983338484613019565b6000546001600160a01b031681565b611357612a2e565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916109b39160ff90911690615763565b600a5481565b6113a9612a2e565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906109b3908390615771565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b611413612a2e565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926109b39216906156f2565b610ce6828261333a565b60008061147961251e565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b81526004016114b5939291906157bb565b60206040518083038186803b1580156114cd57600080fd5b505afa1580156114e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115059190810190614d92565b9050600061151161251e565b6001600160a01b031663654a60ac856060015161153f8760c00151886080015161243e90919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b8152600401611565939291906157bb565b60206040518083038186803b15801561157d57600080fd5b505afa158015611591573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115b59190810190614d92565b9050610888828263ffffffff61386016565b6009602052600090815260409020546001600160a01b031681565b6000806115ed61246c565b905060006115f961251e565b6001600160a01b031663654a60ac85606001516116278760c00151886080015161243e90919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b815260040161164d939291906157bb565b60206040518083038186803b15801561166557600080fd5b505afa158015611679573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061169d9190810190614d92565b905060006116a961251e565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b81526004016116e5939291906157bb565b60206040518083038186803b1580156116fd57600080fd5b505afa158015611711573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117359190810190614d92565b9050600073__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561177d57600080fd5b505af4158015611791573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117b59190810190614d92565b905060006117de6117d1600a548561386090919063ffffffff16565b859063ffffffff612a5a16565b9050600061181761180a600a546117fe898761243e90919063ffffffff16565b9063ffffffff61386016565b849063ffffffff612a5a16565b9050600061182b838363ffffffff61386016565b905061183561251e565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b815260040161186f939291906157bb565b60206040518083038186803b15801561188757600080fd5b505afa15801561189b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118bf9190810190614d92565b9998505050505050505050565b600d5481565b60116020526000908152604090205481565b60006118ee61388a565b6118f661392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561192e57600080fd5b505afa158015611942573d6000803e3d6000fd5b5050600f5460ff16915061196a90505760405162461bcd60e51b815260040161097590615912565b6000838152600860205260409020546119955760405162461bcd60e51b815260040161097590615972565b61199d61251e565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016119c89190615771565b60206040518083038186803b1580156119e057600080fd5b505afa1580156119f4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a189190810190614cc9565b15611a355760405162461bcd60e51b8152600401610975906158c2565b600b54851015611a575760405162461bcd60e51b8152600401610975906158b2565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc90611a8a903390600401615700565b60206040518083038186803b158015611aa257600080fd5b505afa158015611ab6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ada9190810190614d92565b10611af75760405162461bcd60e51b815260040161097590615892565b600080611b02613946565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b8152600401611b2f92919061578d565b604080518083038186803b158015611b4657600080fd5b505afa158015611b5a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b7e9190810190614ce7565b91509150818015611b8d575080155b611ba95760405162461bcd60e51b815260040161097590615992565b611bb38786611126565b861115611bd25760405162461bcd60e51b815260040161097590615942565b6000611be9600c548861395590919063ffffffff16565b90506000611bfd888363ffffffff612a5a16565b9050611c07613946565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b158015611c4157600080fd5b505af1158015611c55573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c799190810190614d92565b9450611c836148f2565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a815260200188151581526020016000815260200160008152602001428152509050611cdb8161396a565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490611d0c9084906004016159e2565b600060405180830381600087803b158015611d2657600080fd5b505af1158015611d3a573d6000803e3d6000fd5b50505050611d488389613e56565b8615611f3e57611d56614042565b6001600160a01b031663867904b433611d6d61251e565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b8152600401611da3939291906157bb565b60206040518083038186803b158015611dbb57600080fd5b505afa158015611dcf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611df39190810190614d92565b6040518363ffffffff1660e01b8152600401611e1092919061570e565b600060405180830381600087803b158015611e2a57600080fd5b505af1158015611e3e573d6000803e3d6000fd5b50505050611e4a613946565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b8152600401611e7792919061578d565b600060405180830381600087803b158015611e9157600080fd5b505af1158015611ea5573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050611f39576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190611f069033908d9060040161570e565b600060405180830381600087803b158015611f2057600080fd5b505af1158015611f34573d6000803e3d6000fd5b505050505b61201d565b600088815260086020526040902054611f5690614059565b6001600160a01b031663867904b433846040518363ffffffff1660e01b8152600401611f8392919061570e565b600060405180830381600087803b158015611f9d57600080fd5b505af1158015611fb1573d6000803e3d6000fd5b50505050611fbd613946565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b8152600401611fea92919061578d565b600060405180830381600087803b15801561200457600080fd5b505af1158015612018573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c8860405161205e959493929190615a2f565b60405180910390a25050505050949350505050565b600061207d61388a565b61208561392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156120bd57600080fd5b505afa1580156120d1573d6000803e3d6000fd5b50505050600082116120f55760405162461bcd60e51b815260040161097590615872565b6120fd6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061212f9088908890600401615744565b6101206040518083038186803b15801561214857600080fd5b505afa15801561215c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506121809190810190614d73565b905061218b81614064565b6121948161396a565b90506121a5338260600151856140c4565b600a546121b18261146e565b106121ce5760405162461bcd60e51b8152600401610975906158a2565b60006121d9826115e2565b905060008482106121ea57846121ec565b815b9050600061220b8460c00151856080015161243e90919063ffffffff16565b905080821061222a5761221f883386614177565b9450505050506111c8565b6122348483614546565b9350612244846060015183610754565b604085015190955061225c908663ffffffff612a5a16565b604085015242610100850152612270614769565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b81526004016122a192919061570e565b60206040518083038186803b1580156122b957600080fd5b505afa1580156122cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506122f19190810190614cc9565b1561230e5760405162461bcd60e51b8152600401610975906159d2565b606084015160009081526008602052604090205461232b90614059565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b815260040161235892919061570e565b600060405180830381600087803b15801561237257600080fd5b505af1158015612386573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506123ba9087906004016159e2565b600060405180830381600087803b1580156123d457600080fd5b505af11580156123e8573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c58833858960405161242b94939291906159f1565b60405180910390a2505050509392505050565b6000828201838110156124635760405162461bcd60e51b815260040161097590615882565b90505b92915050565b6000612476614780565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b81526004016124c992919061578d565b60206040518083038186803b1580156124e157600080fd5b505afa1580156124f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506125199190810190614d92565b905090565b60006125196c45786368616e6765526174657360981b614799565b6000670de0b6b3a7640000612554848463ffffffff6147f616565b8161255b57fe5b049392505050565b600061256d61388a565b61257561392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125ad57600080fd5b505afa1580156125c1573d6000803e3d6000fd5b505050506125cd6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906125ff9087908790600401615744565b6101206040518083038186803b15801561261857600080fd5b505afa15801561262c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126509190810190614d73565b905061265b81614064565b6126648161396a565b905060006126838260c00151836080015161243e90919063ffffffff16565b905061269882602001518360600151836140c4565b6126a0614769565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b81526004016126d1929190615744565b60206040518083038186803b1580156126e957600080fd5b505afa1580156126fd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506127219190810190614cc9565b1561273e5760405162461bcd60e51b8152600401610975906158d2565b606082015160009081526008602052604090205461275b90614059565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b8152600401612788929190615744565b600060405180830381600087803b1580156127a257600080fd5b505af11580156127b6573d6000803e3d6000fd5b505050508160a00151156128d4576127cc613946565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161280192919061578d565b600060405180830381600087803b15801561281b57600080fd5b505af115801561282f573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156128cf57606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161289c918991600401615744565b600060405180830381600087803b1580156128b657600080fd5b505af11580156128ca573d6000803e3d6000fd5b505050505b612944565b6128dc613946565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161291192919061578d565b600060405180830381600087803b15801561292b57600080fd5b505af115801561293f573d6000803e3d6000fd5b505050505b8160400151925061295d8260c001518360600151613e56565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906129b39085906004016159e2565b600060405180830381600087803b1580156129cd57600080fd5b505af11580156129e1573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f85604051612a1e9190615771565b60405180910390a2505092915050565b6000546001600160a01b03163314612a585760405162461bcd60e51b815260040161097590615952565b565b600082821115612a7c5760405162461bcd60e51b8152600401610975906158e2565b50900390565b6000612a8c61388a565b612a9461392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612acc57600080fd5b505afa158015612ae0573d6000803e3d6000fd5b50505050612aec6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612b1e903390889060040161570e565b6101206040518083038186803b158015612b3757600080fd5b505afa158015612b4b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b6f9190810190614d73565b9050612b7a81614064565b612b838161396a565b6040810151909150612b9b908463ffffffff612a5a16565b604082015242610100820152600a54612bb38261146e565b11612bd05760405162461bcd60e51b815260040161097590615822565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612c009084906004016159e2565b600060405180830381600087803b158015612c1a57600080fd5b505af1158015612c2e573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f330385858460400151604051612c76939291906157bb565b60405180910390a25092915050565b612c8d61388a565b612c9561392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612ccd57600080fd5b505afa158015612ce1573d6000803e3d6000fd5b5050505060008111612d055760405162461bcd60e51b815260040161097590615982565b612d0d6148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d3f9087908790600401615744565b6101206040518083038186803b158015612d5857600080fd5b505afa158015612d6c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d909190810190614d73565b9050612d9b81614064565b612da48161396a565b6040810151909150612dbc908363ffffffff61243e16565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612dfb9084906004016159e2565b600060405180830381600087803b158015612e1557600080fd5b505af1158015612e29573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c84848460400151604051612e6e939291906157bb565b60405180910390a250505050565b6000612519600a5473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015612ec857600080fd5b505af4158015612edc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f009190810190614d92565b9063ffffffff61483016565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b81600081518110612f4e57fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612f8d578160200160208202803883390190505b50905060005b8351811015612fcf57838181518110612fa857fe5b6020026020010151828281518110612fbc57fe5b6020908102919091010152600101612f93565b5060005b825181101561301257828181518110612fe857fe5b6020026020010151828286510181518110612fff57fe5b6020908102919091010152600101612fd3565b5092915050565b61302161388a565b61302961392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561306157600080fd5b505afa158015613075573d6000803e3d6000fd5b50505050600081116130995760405162461bcd60e51b815260040161097590615872565b6130a16148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906130d39088908790600401615744565b6101206040518083038186803b1580156130ec57600080fd5b505afa158015613100573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131249190810190614d73565b905061312f81614064565b6131388161396a565b9050613149848260600151846140c4565b6131538183614546565b426101008201529050613164614769565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401613195929190615744565b60206040518083038186803b1580156131ad57600080fd5b505afa1580156131c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506131e59190810190614cc9565b156132025760405162461bcd60e51b8152600401610975906159d2565b606081015160009081526008602052604090205461321f90614059565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b815260040161324c929190615744565b600060405180830381600087803b15801561326657600080fd5b505af115801561327a573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c91506132ae9084906004016159e2565b600060405180830381600087803b1580156132c857600080fd5b505af11580156132dc573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f8585856080015160405161332b939291906157bb565b60405180910390a35050505050565b61334261388a565b61334a61392c565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561338257600080fd5b505afa158015613396573d6000803e3d6000fd5b505050506133a26148f2565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906133d4903390879060040161570e565b6101206040518083038186803b1580156133ed57600080fd5b505afa158015613401573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134259190810190614d73565b905061343081614064565b6134398161396a565b6080810151909150613451908363ffffffff61243e16565b6080820152600a546134628261146e565b1161347f5760405162461bcd60e51b815260040161097590615832565b6000613496600c548461395590919063ffffffff16565b905060006134aa848363ffffffff612a5a16565b90508260a00151156136b7576134be613946565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b81526004016134ef92919061578d565b600060405180830381600087803b15801561350957600080fd5b505af115801561351d573d6000803e3d6000fd5b50505050613529614042565b6001600160a01b031663867904b43361354061251e565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b815260040161357a939291906157bb565b60206040518083038186803b15801561359257600080fd5b505afa1580156135a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135ca9190810190614d92565b6040518363ffffffff1660e01b81526004016135e792919061570e565b600060405180830381600087803b15801561360157600080fd5b505af1158015613615573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156136b25760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061367f903390889060040161570e565b600060405180830381600087803b15801561369957600080fd5b505af11580156136ad573d6000803e3d6000fd5b505050505b61379f565b6136bf613946565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016136f092919061578d565b600060405180830381600087803b15801561370a57600080fd5b505af115801561371e573d6000803e3d6000fd5b505050606084015160009081526008602052604090205461373f9150614059565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161376c92919061570e565b600060405180830381600087803b15801561378657600080fd5b505af115801561379a573d6000803e3d6000fd5b505050505b6137ad828460600151613e56565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c906137e49086906004016159e2565b600060405180830381600087803b1580156137fe57600080fd5b505af1158015613812573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161385192919061578d565b60405180910390a25050505050565b60006111c88261387e85670de0b6b3a764000063ffffffff6147f616565b9063ffffffff61484516565b61389261251e565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016138bf9190615771565b60206040518083038186803b1580156138d757600080fd5b505afa1580156138eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061390f9190810190614cc9565b15612a585760405162461bcd60e51b815260040161097590615932565b60006125196b53797374656d53746174757360a01b614799565b6006546001600160a01b031690565b60006111c88383670de0b6b3a764000061487a565b6139726148f2565b8190506000806000808560a00151613a105761398c613946565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b81526004016139bb9190615771565b60806040518083038186803b1580156139d357600080fd5b505afa1580156139e7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a0b9190810190614dcf565b613a9d565b613a18613946565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613a4d92919061578d565b60806040518083038186803b158015613a6557600080fd5b505afa158015613a79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a9d9190810190614dcf565b93509350935093506000808760a00151613b2d57613ab9613946565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613af057600080fd5b505afa158015613b04573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b289190810190614db0565b613bc5565b613b35613946565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613b7691600401615771565b604080518083038186803b158015613b8d57600080fd5b505afa158015613ba1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613bc59190810190614db0565b915091508015613be75760405162461bcd60e51b815260040161097590615902565b6000613c8473__$1d392f176c99aac414d39c3c003a086de8$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613c3057600080fd5b505af4158015613c44573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c689190810190614d92565b613c78428863ffffffff612a5a16565b9063ffffffff6147f616565b90506000613ca8613c9b858463ffffffff61253916565b889063ffffffff61243e16565b905060008a60e00151600014613ce157613cdc613ccb838b63ffffffff612a5a16565b60808d01519063ffffffff61253916565b613ce4565b60005b90508a60a00151613d5957613cf7613946565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613d229190615771565b600060405180830381600087803b158015613d3c57600080fd5b505af1158015613d50573d6000803e3d6000fd5b50505050613dc5565b613d61613946565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613d9292919061578d565b600060405180830381600087803b158015613dac57600080fd5b505af1158015613dc0573d6000803e3d6000fd5b505050505b60c08b0151613dda908263ffffffff61243e16565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613e16908d906004016159e2565b600060405180830381600087803b158015613e3057600080fd5b505af1158015613e44573d6000803e3d6000fd5b50505050505050505050505050919050565b8115610ce657631c1554d160e21b8114613efb57613e7261251e565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b8152600401613ea8939291906157bb565b60206040518083038186803b158015613ec057600080fd5b505afa158015613ed4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ef89190810190614d92565b91505b613f03614042565b6001600160a01b031663867904b4613f196148b7565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015613f5157600080fd5b505afa158015613f65573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613f899190810190614b96565b846040518363ffffffff1660e01b8152600401613fa7929190615744565b600060405180830381600087803b158015613fc157600080fd5b505af1158015613fd5573d6000803e3d6000fd5b50505050613fe16148b7565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b815260040161400c9190615771565b600060405180830381600087803b15801561402657600080fd5b505af115801561403a573d6000803e3d6000fd5b505050505050565b600061251968141e5b9d1a1c1554d160ba1b614799565b600061246682614799565b60008160e00151116140885760405162461bcd60e51b8152600401610975906159a2565b426140a3600e5483610100015161243e90919063ffffffff16565b11156140c15760405162461bcd60e51b815260040161097590615862565b50565b60008281526008602052604090205481906140de90614059565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161410991906156f2565b60206040518083038186803b15801561412157600080fd5b505afa158015614135573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506141599190810190614d92565b10156107095760405162461bcd60e51b8152600401610975906159c2565b6000806141958360c00151846080015161243e90919063ffffffff16565b6080840151604085015193509091506141ac614769565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016141dd929190615744565b60206040518083038186803b1580156141f557600080fd5b505afa158015614209573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061422d9190810190614cc9565b1561424a5760405162461bcd60e51b8152600401610975906159d2565b606084015160009081526008602052604090205461426790614059565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b8152600401614294929190615744565b600060405180830381600087803b1580156142ae57600080fd5b505af11580156142c2573d6000803e3d6000fd5b505050508360a00151156143e0576142d8613946565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161430d92919061578d565b600060405180830381600087803b15801561432757600080fd5b505af115801561433b573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156143db57606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916143a8918a91600401615744565b600060405180830381600087803b1580156143c257600080fd5b505af11580156143d6573d6000803e3d6000fd5b505050505b614450565b6143e8613946565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b815260040161441d92919061578d565b600060405180830381600087803b15801561443757600080fd5b505af115801561444b573d6000803e3d6000fd5b505050505b6144628460c001518560600151613e56565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906144b89087906004016159e2565b600060405180830381600087803b1580156144d257600080fd5b505af11580156144e6573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb86600001518487604051614535939291906157bb565b60405180910390a350509392505050565b61454e6148f2565b50818115801590614563575060008360c00151115b156145c05760008360c00151831161457b5782614581565b8360c001515b60c0850151909150614599908263ffffffff612a5a16565b60c08301526145ae838263ffffffff612a5a16565b92506145be818560600151613e56565b505b81156124665760808301516145db908363ffffffff612a5a16565b608082015260a0810151156146f8576145f2613946565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161462392919061578d565b600060405180830381600087803b15801561463d57600080fd5b505af1158015614651573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156146f35760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916146c09190869060040161570e565b600060405180830381600087803b1580156146da57600080fd5b505af11580156146ee573d6000803e3d6000fd5b505050505b612466565b614700613946565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161473192919061578d565b600060405180830381600087803b15801561474b57600080fd5b505af115801561475f573d6000803e3d6000fd5b5050505092915050565b60006125196822bc31b430b733b2b960b91b614799565b60006125196e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916147c9918691016156bc565b604051602081830303815290604052906130125760405162461bcd60e51b815260040161097591906157f1565b60008261480557506000612466565b8282028284828161481257fe5b04146124635760405162461bcd60e51b815260040161097590615962565b60006111c88383670de0b6b3a76400006148cc565b60008082116148665760405162461bcd60e51b8152600401610975906158f2565b600082848161487157fe5b04949350505050565b600080600a8304614891868663ffffffff6147f616565b8161489857fe5b0490506005600a825b06106148ab57600a015b600a9004949350505050565b600061251966119959541bdbdb60ca1b614799565b6000806148e68461387e87600a870263ffffffff6147f616565b90506005600a826148a1565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b803561246681615b1e565b805161246681615b1e565b60008083601f84011261497457600080fd5b50813567ffffffffffffffff81111561498c57600080fd5b6020830191508360208202830111156149a457600080fd5b9250929050565b803561246681615b32565b805161246681615b32565b803561246681615b3b565b805161246681615b3b565b600061012082840312156149ea57600080fd5b6149f5610120615a7b565b90506000614a0384846149c1565b8252506020614a148484830161494c565b6020830152506040614a28848285016149c1565b6040830152506060614a3c848285016149c1565b6060830152506080614a50848285016149c1565b60808301525060a0614a64848285016149ab565b60a08301525060c0614a78848285016149c1565b60c08301525060e0614a8c848285016149c1565b60e083015250610100614aa1848285016149c1565b6101008301525092915050565b60006101208284031215614ac157600080fd5b614acc610120615a7b565b90506000614ada84846149cc565b8252506020614aeb84848301614957565b6020830152506040614aff848285016149cc565b6040830152506060614b13848285016149cc565b6060830152506080614b27848285016149cc565b60808301525060a0614b3b848285016149b6565b60a08301525060c0614b4f848285016149cc565b60c08301525060e0614b63848285016149cc565b60e083015250610100614aa1848285016149cc565b600060208284031215614b8a57600080fd5b6000610888848461494c565b600060208284031215614ba857600080fd5b60006108888484614957565b60008060408385031215614bc757600080fd5b6000614bd3858561494c565b9250506020614be4858286016149c1565b9150509250929050565b600080600060608486031215614c0357600080fd5b6000614c0f868661494c565b9350506020614c20868287016149c1565b9250506040614c31868287016149c1565b9150509250925092565b60008060008060408587031215614c5157600080fd5b843567ffffffffffffffff811115614c6857600080fd5b614c7487828801614962565b9450945050602085013567ffffffffffffffff811115614c9357600080fd5b614c9f87828801614962565b95989497509550505050565b600060208284031215614cbd57600080fd5b600061088884846149ab565b600060208284031215614cdb57600080fd5b600061088884846149b6565b60008060408385031215614cfa57600080fd5b6000614d0685856149b6565b9250506020614be4858286016149b6565b600060208284031215614d2957600080fd5b600061088884846149c1565b60008060408385031215614d4857600080fd5b6000614bd385856149c1565b60006101208284031215614d6757600080fd5b600061088884846149d7565b60006101208284031215614d8657600080fd5b60006108888484614aae565b600060208284031215614da457600080fd5b600061088884846149cc565b60008060408385031215614dc357600080fd5b6000614d0685856149cc565b60008060008060808587031215614de557600080fd5b6000614df187876149cc565b9450506020614e02878288016149cc565b9350506040614e13878288016149cc565b9250506060614e24878288016149cc565b91505092959194509250565b6000614e3c8383614ebe565b505060200190565b614e4d81615ad6565b82525050565b614e4d81615aba565b6000614e6782615aa8565b614e718185615aac565b9350614e7c83615aa2565b8060005b83811015614eaa578151614e948882614e30565b9750614e9f83615aa2565b925050600101614e80565b509495945050505050565b614e4d81615ac5565b614e4d81610bee565b614e4d614ed382610bee565b610bee565b614e4d81615add565b6000614eec82615aa8565b614ef68185615aac565b9350614f06818560208601615ae8565b614f0f81615b14565b9093019392505050565b6000614f26601b83615aac565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b6000614f5f601683615aac565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b6000614f91600e83615aac565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000614fbb601583615aac565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b6000614fec603583615aac565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615043600f83615aac565b6e151c985b9cd9995c8819985a5b1959608a1b815260200192915050565b600061506e601d83615aac565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006150a7601e83615aac565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006150e0601b83615aac565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615119601283615aac565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615147601e83615aac565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b6000615180601d83615aac565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006151b9601883615aac565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006151f2602083615aac565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b600061522b601e83615aac565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615264601a83615aac565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b600061529d601183615ab5565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006152ca601183615aac565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006152f7601383615aac565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b6000615326600a83615aac565b6926b0bc1018903437bab960b11b815260200192915050565b600061534c601a83615aac565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615385601b83615aac565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b60006153be602f83615aac565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061540f602183615aac565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b6000615452601f83615aac565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b600061548b601e83615aac565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b60006154c4601a83615aac565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006154fd601983615ab5565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612466600083615ab5565b6000615543601383615aac565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615572601f83615aac565b7f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00815260200192915050565b60006155ab601883615aac565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b60006155e4601b83615aac565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906156228482614ebe565b5060208201516156356020850182614e53565b5060408201516156486040850182614ebe565b50606082015161565b6060850182614ebe565b50608082015161566e6080850182614ebe565b5060a082015161568160a0850182614eb5565b5060c082015161569460c0850182614ebe565b5060e08201516156a760e0850182614ebe565b50610100820151610efc610100850182614ebe565b60006156c782615290565b91506156d38284614ec7565b50602001919050565b60006156c7826154f0565b600061246682615529565b602081016124668284614e53565b602081016124668284614e44565b6040810161571c8285614e44565b6111c86020830184614ebe565b604081016157378285614e53565b6111c86020830184614e53565b6040810161571c8285614e53565b602080825281016111c88184614e5c565b602081016124668284614eb5565b602081016124668284614ebe565b604081016157378285614ebe565b6040810161571c8285614ebe565b604081016157a98285614ebe565b81810360208301526108888184614ee1565b606081016157c98286614ebe565b6157d66020830185614ebe565b6108886040830184614ebe565b602081016124668284614ed8565b602080825281016111c88184614ee1565b6020808252810161246681614f19565b6020808252810161246681614f52565b6020808252810161246681614f84565b6020808252810161246681614fae565b6020808252810161246681614fdf565b6020808252810161246681615036565b6020808252810161246681615061565b602080825281016124668161509a565b60208082528101612466816150d3565b602080825281016124668161510c565b602080825281016124668161513a565b6020808252810161246681615173565b60208082528101612466816151ac565b60208082528101612466816151e5565b602080825281016124668161521e565b6020808252810161246681615257565b60208082528101612466816152bd565b60208082528101612466816152ea565b6020808252810161246681615319565b602080825281016124668161533f565b6020808252810161246681615378565b60208082528101612466816153b1565b6020808252810161246681615402565b6020808252810161246681615445565b602080825281016124668161547e565b60208082528101612466816154b7565b6020808252810161246681615536565b6020808252810161246681615565565b602080825281016124668161559e565b60208082528101612466816155d7565b61012081016124668284615610565b608081016159ff8287614ebe565b615a0c6020830186614e44565b615a196040830185614ebe565b615a266060830184614ebe565b95945050505050565b60a08101615a3d8288614ebe565b615a4a6020830187614ebe565b615a576040830186614ebe565b615a646060830185614ebe565b615a716080830184614ebe565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615a9a57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b600061246682615aca565b151590565b6001600160a01b031690565b6000612466825b600061246682615aba565b60005b83811015615b03578181015183820152602001615aeb565b83811115610efc5750506000910152565b601f01601f191690565b615b2781615aba565b81146140c157600080fd5b615b2781615ac5565b615b2781610bee56fea365627a7a723158206c11da8c634fe5b064e18017c0e444c8d39e635b539be896b8374121ec11987b6c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0x1067896bfc871904f8ef7fff04c1be8744d15e4137d30c33ddea4699997d8928",
				"urls": [
					"bzz-raw://04a36df8bce63fd3394b8f6ace2523c0e190d5637543e3f2f3f648e97d449010",
					"dweb:/ipfs/QmSsW7mVZgoBqjFvdNwWx2soBcyXMZoS9R88CFtSkcx6BP"
				]
			},
			"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": "0x1067896bfc871904f8ef7fff04c1be8744d15e4137d30c33ddea4699997d8928",
						"urls": [
							"bzz-raw://04a36df8bce63fd3394b8f6ace2523c0e190d5637543e3f2f3f648e97d449010",
							"dweb:/ipfs/QmSsW7mVZgoBqjFvdNwWx2soBcyXMZoS9R88CFtSkcx6BP"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralErc20": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162005fbc38038062005fbc8339810160408190526200004c916200018c565b888888888888888380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f90620002e0565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d5918490620002ba565b60405180910390a150600280546001600160a01b039283166001600160a01b0319918216179091556006805498831698821698909817909755600580549982169990971698909817909555600492909255600a55600b555050600f80549490921661010002610100600160a81b031990941693909317905560105550620003619650505050505050565b80516200016c8162000331565b92915050565b80516200016c816200034b565b80516200016c8162000356565b60008060008060008060008060006101208a8c031215620001ac57600080fd5b6000620001ba8c8c6200017f565b9950506020620001cd8c828d016200015f565b9850506040620001e08c828d016200015f565b9750506060620001f38c828d016200015f565b9650506080620002068c828d0162000172565b95505060a0620002198c828d0162000172565b94505060c06200022c8c828d0162000172565b93505060e06200023f8c828d016200015f565b925050610100620002538c828d0162000172565b9150509295985092959850929598565b6200026e8162000324565b82525050565b6200026e81620002fb565b60006200028e601983620002f2565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60408101620002ca828562000263565b620002d9602083018462000274565b9392505050565b602080825281016200016c816200027f565b90815260200190565b60006200016c8262000318565b90565b60006200016c82620002fb565b6001600160a01b031690565b60006200016c826200030b565b6200033c81620002fb565b81146200034857600080fd5b50565b6200033c8162000308565b6200033c816200030b565b615c4b80620003716000396000f3fe608060405234801561001057600080fd5b50600436106102695760003560e01c80637418536011610151578063b562a1ab116100c3578063d2b8035a11610087578063d2b8035a146104be578063dac8cf68146104d1578063de81eda9146104e4578063e74337c6146104f7578063eb8e3b651461050a578063f93451ed1461051257610269565b8063b562a1ab14610480578063ba2de9bc14610488578063c19d93fb14610490578063cd28502014610498578063d0ebdbe7146104ab57610269565b80638cd2e0c7116101155780638cd2e0c7146104245780638da5cb5b1461043757806390abb4d91461043f578063925ead1114610452578063a76cdfa51461045a578063b094f2c41461046d57610269565b806374185360146103d957806379ba5097146103e15780637e132355146103e9578063883a2209146103fc578063899ffef41461040f57610269565b80632af64bd3116101ea578063441a3e70116101ae578063441a3e701461037d578063481c6a75146103905780634c17ace41461039857806353a47bb7146103ab57806355bd615c146103b35780635eb2ad01146103c657610269565b80632af64bd31461034a578063361e20861461035257806337551ec61461035a5780633cc3ffc71461036d5780634065b81b1461037557610269565b80630e54a19b116102315780630e54a19b146102e75780630efe6a8b1461030757806310cfe9061461031a57806315aaf4dd1461032f5780631627540c1461033757610269565b806304f3bcec1461026e5780630710285c1461028c5780630a153c97146102a15780630aebeb4e146102c15780630cdd1c65146102d4575b600080fd5b610276610525565b60405161028391906158b7565b60405180910390f35b61029f61029a366004614cbb565b610534565b005b6102b46102af366004614e02565b6105e0565b6040516102839190615852565b61029f6102cf366004614de4565b61071c565b61029f6102e2366004614de4565b6107c5565b6102fa6102f5366004614d08565b6108b0565b6040516102839190615844565b61029f610315366004614cbb565b610972565b610322610aba565b604051610283919061579d565b6102b4610ace565b61029f610345366004614c45565b610ad4565b6102fa610b27565b6102b4610c3f565b6102b4610368366004614de4565b610c45565b6102b4610c63565b6102fa610c69565b61029f61038b366004614e02565b610c72565b610322610c8b565b61029f6103a6366004614de4565b610c9a565b610322610d76565b61029f6103c1366004614d08565b610d85565b61029f6103d4366004614c81565b610e45565b61029f610e7b565b61029f610fd1565b6102b46103f7366004614e02565b61106d565b6102b461040a366004614de4565b611116565b61041761113b565b6040516102839190615833565b61029f610432366004614cbb565b6112a0565b6103226112b1565b61029f61044d366004614d78565b6112c0565b6102b461130c565b61029f610468366004614de4565b611312565b6102b461047b366004614de4565b61134f565b6102b4611374565b6102b461137a565b610276611380565b6102b46104a6366004614de4565b61138f565b61029f6104b9366004614c45565b6113a1565b61029f6104cc366004614e02565b6113fa565b6102b46104df366004614e21565b611404565b6103226104f2366004614de4565b61155d565b6102b4610505366004614e21565b611578565b6102b4611862565b61029f610520366004614e9c565b611868565b6002546001600160a01b031681565b60006105418484846119b9565b9050600061054e8261134f565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061058690339085906004016157fc565b602060405180830381600087803b1580156105a057600080fd5b505af11580156105b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105d89190810190614d96565b505050505050565b6000806105eb611d84565b90506105f5611e36565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016106269392919061589c565b60206040518083038186803b15801561063e57600080fd5b505afa158015610652573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106769190810190614e5f565b91506107146107078273__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156106c357600080fd5b505af41580156106d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106fb9190810190614e5f565b9063ffffffff611e5116565b839063ffffffff611e7f16565b949350505050565b60006107283383611ea9565b905060006107358261134f565b600f5460405163a9059cbb60e01b815291925061010090046001600160a01b03169063a9059cbb9061076d90339085906004016157fc565b602060405180830381600087803b15801561078757600080fd5b505af115801561079b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107bf9190810190614d96565b50505050565b6107cd612374565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561081157600080fd5b505af4158015610825573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108499190810190614e5f565b81116108705760405162461bcd60e51b8152600401610867906158e6565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a5906108a5908390615852565b60405180910390a150565b60075460009084146108c457506000610714565b60005b848110156109665760008686838181106108dd57fe5b90506020020135905080600783815481106108f457fe5b90600052602060002001541461090f57600092505050610714565b6007828154811061091c57fe5b90600052602060002001546008600087878681811061093757fe5b905060200201358152602001908152602001600020541461095d57600092505050610714565b506001016108c7565b50600195945050505050565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e906109a890339030906004016157b9565b60206040518083038186803b1580156109c057600080fd5b505afa1580156109d4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109f89190810190614e5f565b811115610a175760405162461bcd60e51b815260040161086790615926565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd90610a4f903390309086906004016157d4565b602060405180830381600087803b158015610a6957600080fd5b505af1158015610a7d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aa19190810190614d96565b506000610aad82611116565b90506107bf8484836123a0565b600f5461010090046001600160a01b031681565b600e5481565b610adc612374565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906108a590839061579d565b60006060610b3361113b565b905060005b8151811015610c35576000828281518110610b4f57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610ba0908590600401615852565b60206040518083038186803b158015610bb857600080fd5b505afa158015610bcc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610bf09190810190614c63565b6001600160a01b0316141580610c1b57506000818152600360205260409020546001600160a01b0316155b15610c2c5760009350505050610c3c565b50600101610b38565b5060019150505b90565b600c5481565b60078181548110610c5257fe5b600091825260209091200154905081565b60105481565b600f5460ff1681565b6000610c7d82611116565b905060006105418483612597565b6006546001600160a01b031681565b610ca2612374565b73__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610ce657600080fd5b505af4158015610cfa573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d1e9190810190614e5f565b610e1002811115610d415760405162461bcd60e51b8152600401610867906159f6565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c2361906108a5908390615852565b6001546001600160a01b031681565b610d8d612374565b828114610dac5760405162461bcd60e51b8152600401610867906158d6565b60005b83811015610e3c576000858583818110610dc557fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610e1957fe5b602090810292909201358352508101919091526040016000205550600101610daf565b506107bf610e7b565b610e4d612374565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610e8561113b565b905060005b8151811015610fcd576000828281518110610ea157fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610ee39190615792565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f0f92919061587c565b60206040518083038186803b158015610f2757600080fd5b505afa158015610f3b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610f5f9190810190614c63565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610fbb9084908490615860565b60405180910390a15050600101610e8a565b5050565b6001546001600160a01b03163314610ffb5760405162461bcd60e51b815260040161086790615916565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9261103e926001600160a01b0391821692911690615817565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600061110f61107a611e36565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b81526004016110ab9392919061589c565b60206040518083038186803b1580156110c357600080fd5b505afa1580156110d7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506110fb9190810190614e5f565b61110361279a565b9063ffffffff611e7f16565b9392505050565b600080611126601260105461282a565b600a0a905061110f838263ffffffff61285216565b60608061114661288c565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b8160008151811061118557fe5b6020026020010181815250506c45786368616e6765526174657360981b816001815181106111af57fe5b6020026020010181815250506822bc31b430b733b2b960b91b816002815181106111d557fe5b6020026020010181815250506b53797374656d53746174757360a01b816003815181106111fe57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160048151811061122457fe5b602002602001018181525050606061123c83836128dd565b905061129881600780548060200260200160405190810160405280929190818152602001828054801561128e57602002820191906000526020600020905b81548152602001906001019080831161127a575b50505050506128dd565b935050505090565b6112ac83338484612999565b505050565b6000546001600160a01b031681565b6112c8612374565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108a59160ff90911690615844565b600a5481565b61131a612374565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c906108a5908390615852565b60008061135f601260105461282a565b600a0a905061110f838263ffffffff612cba16565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b6113a9612374565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d926108a592169061579d565b610fcd8282612cef565b60008061140f611e36565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b815260040161144b9392919061589c565b60206040518083038186803b15801561146357600080fd5b505afa158015611477573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061149b9190810190614e5f565b905060006114a7611e36565b6001600160a01b031663654a60ac85606001516114d58760c001518860800151611e5190919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016114fb9392919061589c565b60206040518083038186803b15801561151357600080fd5b505afa158015611527573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061154b9190810190614e5f565b9050610714828263ffffffff61321516565b6009602052600090815260409020546001600160a01b031681565b600080611583611d84565b9050600061158f611e36565b6001600160a01b031663654a60ac85606001516115bd8760c001518860800151611e5190919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016115e39392919061589c565b60206040518083038186803b1580156115fb57600080fd5b505afa15801561160f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116339190810190614e5f565b9050600061163f611e36565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b815260040161167b9392919061589c565b60206040518083038186803b15801561169357600080fd5b505afa1580156116a7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116cb9190810190614e5f565b9050600073__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561171357600080fd5b505af4158015611727573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061174b9190810190614e5f565b90506000611774611767600a548561321590919063ffffffff16565b859063ffffffff61282a16565b905060006117ad6117a0600a546117948987611e5190919063ffffffff16565b9063ffffffff61321516565b849063ffffffff61282a16565b905060006117c1838363ffffffff61321516565b90506117cb611e36565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b81526004016118059392919061589c565b60206040518083038186803b15801561181d57600080fd5b505afa158015611831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118559190810190614e5f565b9998505050505050505050565b600d5481565b600f54604051636eb1769f60e11b81526101009091046001600160a01b03169063dd62ed3e9061189e90339030906004016157b9565b60206040518083038186803b1580156118b657600080fd5b505afa1580156118ca573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506118ee9190810190614e5f565b83111561190d5760405162461bcd60e51b815260040161086790615926565b600f546040516323b872dd60e01b81526101009091046001600160a01b0316906323b872dd90611945903390309088906004016157d4565b602060405180830381600087803b15801561195f57600080fd5b505af1158015611973573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119979190810190614d96565b5060006119a384611116565b90506119b2818484600061323f565b5050505050565b60006119c36139ce565b6119cb613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611a0357600080fd5b505afa158015611a17573d6000803e3d6000fd5b5050505060008211611a3b5760405162461bcd60e51b815260040161086790615946565b611a436149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611a759088908890600401615825565b6101206040518083038186803b158015611a8e57600080fd5b505afa158015611aa2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611ac69190810190614e40565b9050611ad181613a8a565b611ada81613aea565b9050611aeb33826060015185613fd6565b600a54611af782611404565b10611b145760405162461bcd60e51b815260040161086790615976565b6000611b1f82611578565b90506000848210611b305784611b32565b815b90506000611b518460c001518560800151611e5190919063ffffffff16565b9050808210611b7057611b65883386614089565b94505050505061110f565b611b7a8483614458565b9350611b8a8460600151836105e0565b6040850151909550611ba2908663ffffffff61282a16565b604085015242610100850152611bb661467b565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611be79291906157fc565b60206040518083038186803b158015611bff57600080fd5b505afa158015611c13573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c379190810190614d96565b15611c545760405162461bcd60e51b815260040161086790615a96565b6060840151600090815260086020526040902054611c7190614692565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611c9e9291906157fc565b600060405180830381600087803b158015611cb857600080fd5b505af1158015611ccc573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611d00908790600401615aa6565b600060405180830381600087803b158015611d1a57600080fd5b505af1158015611d2e573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d719493929190615ab5565b60405180910390a2505050509392505050565b6000611d8e61469d565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611de192919061586e565b60206040518083038186803b158015611df957600080fd5b505afa158015611e0d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e319190810190614e5f565b905090565b6000611e316c45786368616e6765526174657360981b6146b6565b600082820183811015611e765760405162461bcd60e51b815260040161086790615956565b90505b92915050565b6000670de0b6b3a7640000611e9a848463ffffffff61285216565b81611ea157fe5b049392505050565b6000611eb36139ce565b611ebb613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611ef357600080fd5b505afa158015611f07573d6000803e3d6000fd5b50505050611f136149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611f459087908790600401615825565b6101206040518083038186803b158015611f5e57600080fd5b505afa158015611f72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f969190810190614e40565b9050611fa181613a8a565b611faa81613aea565b90506000611fc98260c001518360800151611e5190919063ffffffff16565b9050611fde8260200151836060015183613fd6565b611fe661467b565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b8152600401612017929190615825565b60206040518083038186803b15801561202f57600080fd5b505afa158015612043573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506120679190810190614d96565b156120845760405162461bcd60e51b8152600401610867906159a6565b60608201516000908152600860205260409020546120a190614692565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016120ce929190615825565b600060405180830381600087803b1580156120e857600080fd5b505af11580156120fc573d6000803e3d6000fd5b505050508160a001511561221a57612112614713565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161214792919061586e565b600060405180830381600087803b15801561216157600080fd5b505af1158015612175573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b03161561221557606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916121e2918991600401615825565b600060405180830381600087803b1580156121fc57600080fd5b505af1158015612210573d6000803e3d6000fd5b505050505b61228a565b612222614713565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161225792919061586e565b600060405180830381600087803b15801561227157600080fd5b505af1158015612285573d6000803e3d6000fd5b505050505b816040015192506122a38260c001518360600151614722565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906122f9908590600401615aa6565b600060405180830381600087803b15801561231357600080fd5b505af1158015612327573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516123649190615852565b60405180910390a2505092915050565b6000546001600160a01b0316331461239e5760405162461bcd60e51b815260040161086790615a26565b565b6123a86139ce565b6123b0613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156123e857600080fd5b505afa1580156123fc573d6000803e3d6000fd5b50505050600081116124205760405162461bcd60e51b815260040161086790615a56565b6124286149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061245a9087908790600401615825565b6101206040518083038186803b15801561247357600080fd5b505afa158015612487573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506124ab9190810190614e40565b90506124b681613a8a565b6124bf81613aea565b60408101519091506124d7908363ffffffff611e5116565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c90612516908490600401615aa6565b600060405180830381600087803b15801561253057600080fd5b505af1158015612544573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c848484604001516040516125899392919061589c565b60405180910390a250505050565b60006125a16139ce565b6125a9613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125e157600080fd5b505afa1580156125f5573d6000803e3d6000fd5b505050506126016149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061263390339088906004016157fc565b6101206040518083038186803b15801561264c57600080fd5b505afa158015612660573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126849190810190614e40565b905061268f81613a8a565b61269881613aea565b60408101519091506126b0908463ffffffff61282a16565b604082015242610100820152600a546126c882611404565b116126e55760405162461bcd60e51b8152600401610867906158f6565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c90612715908490600401615aa6565b600060405180830381600087803b15801561272f57600080fd5b505af1158015612743573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161278b9392919061589c565b60405180910390a25092915050565b6000611e31600a5473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127e657600080fd5b505af41580156127fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061281e9190810190614e5f565b9063ffffffff61490616565b60008282111561284c5760405162461bcd60e51b8152600401610867906159b6565b50900390565b60008261286157506000611e79565b8282028284828161286e57fe5b0414611e765760405162461bcd60e51b815260040161086790615a36565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b816000815181106128ce57fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561290d578160200160208202803883390190505b50905060005b835181101561294f5783818151811061292857fe5b602002602001015182828151811061293c57fe5b6020908102919091010152600101612913565b5060005b82518110156129925782818151811061296857fe5b602002602001015182828651018151811061297f57fe5b6020908102919091010152600101612953565b5092915050565b6129a16139ce565b6129a9613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156129e157600080fd5b505afa1580156129f5573d6000803e3d6000fd5b5050505060008111612a195760405162461bcd60e51b815260040161086790615946565b612a216149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612a539088908790600401615825565b6101206040518083038186803b158015612a6c57600080fd5b505afa158015612a80573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612aa49190810190614e40565b9050612aaf81613a8a565b612ab881613aea565b9050612ac984826060015184613fd6565b612ad38183614458565b426101008201529050612ae461467b565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612b15929190615825565b60206040518083038186803b158015612b2d57600080fd5b505afa158015612b41573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612b659190810190614d96565b15612b825760405162461bcd60e51b815260040161086790615a96565b6060810151600090815260086020526040902054612b9f90614692565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612bcc929190615825565b600060405180830381600087803b158015612be657600080fd5b505af1158015612bfa573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612c2e908490600401615aa6565b600060405180830381600087803b158015612c4857600080fd5b505af1158015612c5c573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612cab9392919061589c565b60405180910390a35050505050565b6000808211612cdb5760405162461bcd60e51b8152600401610867906159c6565b6000828481612ce657fe5b04949350505050565b612cf76139ce565b612cff613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612d3757600080fd5b505afa158015612d4b573d6000803e3d6000fd5b50505050612d576149bf565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612d8990339087906004016157fc565b6101206040518083038186803b158015612da257600080fd5b505afa158015612db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612dda9190810190614e40565b9050612de581613a8a565b612dee81613aea565b6080810151909150612e06908363ffffffff611e5116565b6080820152600a54612e1782611404565b11612e345760405162461bcd60e51b815260040161086790615906565b6000612e4b600c548461491b90919063ffffffff16565b90506000612e5f848363ffffffff61282a16565b90508260a001511561306c57612e73614713565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401612ea492919061586e565b600060405180830381600087803b158015612ebe57600080fd5b505af1158015612ed2573d6000803e3d6000fd5b50505050612ede614930565b6001600160a01b031663867904b433612ef5611e36565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b8152600401612f2f9392919061589c565b60206040518083038186803b158015612f4757600080fd5b505afa158015612f5b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612f7f9190810190614e5f565b6040518363ffffffff1660e01b8152600401612f9c9291906157fc565b600060405180830381600087803b158015612fb657600080fd5b505af1158015612fca573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b0316156130675760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a519061303490339088906004016157fc565b600060405180830381600087803b15801561304e57600080fd5b505af1158015613062573d6000803e3d6000fd5b505050505b613154565b613074614713565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b81526004016130a592919061586e565b600060405180830381600087803b1580156130bf57600080fd5b505af11580156130d3573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546130f49150614692565b6001600160a01b031663867904b433836040518363ffffffff1660e01b81526004016131219291906157fc565b600060405180830381600087803b15801561313b57600080fd5b505af115801561314f573d6000803e3d6000fd5b505050505b613162828460600151614722565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613199908690600401615aa6565b600060405180830381600087803b1580156131b357600080fd5b505af11580156131c7573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161320692919061586e565b60405180910390a25050505050565b600061110f8261323385670de0b6b3a764000063ffffffff61285216565b9063ffffffff612cba16565b60006132496139ce565b613251613a70565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561328957600080fd5b505afa15801561329d573d6000803e3d6000fd5b5050600f5460ff1691506132c590505760405162461bcd60e51b8152600401610867906159e6565b6000838152600860205260409020546132f05760405162461bcd60e51b815260040161086790615a46565b6132f8611e36565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016133239190615852565b60206040518083038186803b15801561333b57600080fd5b505afa15801561334f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133739190810190614d96565b156133905760405162461bcd60e51b815260040161086790615996565b600b548510156133b25760405162461bcd60e51b815260040161086790615986565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc906133e59033906004016157ab565b60206040518083038186803b1580156133fd57600080fd5b505afa158015613411573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134359190810190614e5f565b106134525760405162461bcd60e51b815260040161086790615966565b60008061345d614713565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b815260040161348a92919061586e565b604080518083038186803b1580156134a157600080fd5b505afa1580156134b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506134d99190810190614db4565b915091508180156134e8575080155b6135045760405162461bcd60e51b815260040161086790615a66565b61350e878661106d565b86111561352d5760405162461bcd60e51b815260040161086790615a16565b6000613544600c548861491b90919063ffffffff16565b90506000613558888363ffffffff61282a16565b9050613562614713565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561359c57600080fd5b505af11580156135b0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135d49190810190614e5f565b94506135de6149bf565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a81526020018815158152602001600081526020016000815260200142815250905061363681613aea565b60055460405163170cc48160e21b81529192506001600160a01b031690635c33120490613667908490600401615aa6565b600060405180830381600087803b15801561368157600080fd5b505af1158015613695573d6000803e3d6000fd5b505050506136a38389614722565b8615613899576136b1614930565b6001600160a01b031663867904b4336136c8611e36565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b81526004016136fe9392919061589c565b60206040518083038186803b15801561371657600080fd5b505afa15801561372a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061374e9190810190614e5f565b6040518363ffffffff1660e01b815260040161376b9291906157fc565b600060405180830381600087803b15801561378557600080fd5b505af1158015613799573d6000803e3d6000fd5b505050506137a5614713565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b81526004016137d292919061586e565b600060405180830381600087803b1580156137ec57600080fd5b505af1158015613800573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613894576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906138619033908d906004016157fc565b600060405180830381600087803b15801561387b57600080fd5b505af115801561388f573d6000803e3d6000fd5b505050505b613978565b6000888152600860205260409020546138b190614692565b6001600160a01b031663867904b433846040518363ffffffff1660e01b81526004016138de9291906157fc565b600060405180830381600087803b1580156138f857600080fd5b505af115801561390c573d6000803e3d6000fd5b50505050613918614713565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b815260040161394592919061586e565b600060405180830381600087803b15801561395f57600080fd5b505af1158015613973573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c886040516139b9959493929190615af3565b60405180910390a25050505050949350505050565b6139d6611e36565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b8152600401613a039190615852565b60206040518083038186803b158015613a1b57600080fd5b505afa158015613a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613a539190810190614d96565b1561239e5760405162461bcd60e51b815260040161086790615a06565b6000611e316b53797374656d53746174757360a01b6146b6565b60008160e0015111613aae5760405162461bcd60e51b815260040161086790615a76565b42613ac9600e54836101000151611e5190919063ffffffff16565b1115613ae75760405162461bcd60e51b815260040161086790615936565b50565b613af26149bf565b8190506000806000808560a00151613b9057613b0c614713565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613b3b9190615852565b60806040518083038186803b158015613b5357600080fd5b505afa158015613b67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b8b9190810190614ebd565b613c1d565b613b98614713565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613bcd92919061586e565b60806040518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c1d9190810190614ebd565b93509350935093506000808760a00151613cad57613c39614713565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613c7057600080fd5b505afa158015613c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613ca89190810190614e7d565b613d45565b613cb5614713565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613cf691600401615852565b604080518083038186803b158015613d0d57600080fd5b505afa158015613d21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d459190810190614e7d565b915091508015613d675760405162461bcd60e51b8152600401610867906159d6565b6000613e0473__$8ca298e948825c2140bbad776f3eeba336$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613db057600080fd5b505af4158015613dc4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613de89190810190614e5f565b613df8428863ffffffff61282a16565b9063ffffffff61285216565b90506000613e28613e1b858463ffffffff611e7f16565b889063ffffffff611e5116565b905060008a60e00151600014613e6157613e5c613e4b838b63ffffffff61282a16565b60808d01519063ffffffff611e7f16565b613e64565b60005b90508a60a00151613ed957613e77614713565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613ea29190615852565b600060405180830381600087803b158015613ebc57600080fd5b505af1158015613ed0573d6000803e3d6000fd5b50505050613f45565b613ee1614713565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613f1292919061586e565b600060405180830381600087803b158015613f2c57600080fd5b505af1158015613f40573d6000803e3d6000fd5b505050505b60c08b0151613f5a908263ffffffff611e5116565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613f96908d90600401615aa6565b600060405180830381600087803b158015613fb057600080fd5b505af1158015613fc4573d6000803e3d6000fd5b50505050505050505050505050919050565b6000828152600860205260409020548190613ff090614692565b6001600160a01b03166370a08231856040518263ffffffff1660e01b815260040161401b919061579d565b60206040518083038186803b15801561403357600080fd5b505afa158015614047573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061406b9190810190614e5f565b10156112ac5760405162461bcd60e51b815260040161086790615a86565b6000806140a78360c001518460800151611e5190919063ffffffff16565b6080840151604085015193509091506140be61467b565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016140ef929190615825565b60206040518083038186803b15801561410757600080fd5b505afa15801561411b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061413f9190810190614d96565b1561415c5760405162461bcd60e51b815260040161086790615a96565b606084015160009081526008602052604090205461417990614692565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b81526004016141a6929190615825565b600060405180830381600087803b1580156141c057600080fd5b505af11580156141d4573d6000803e3d6000fd5b505050508360a00151156142f2576141ea614713565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161421f92919061586e565b600060405180830381600087803b15801561423957600080fd5b505af115801561424d573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b0316156142ed57606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916142ba918a91600401615825565b600060405180830381600087803b1580156142d457600080fd5b505af11580156142e8573d6000803e3d6000fd5b505050505b614362565b6142fa614713565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b815260040161432f92919061586e565b600060405180830381600087803b15801561434957600080fd5b505af115801561435d573d6000803e3d6000fd5b505050505b6143748460c001518560600151614722565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c906143ca908790600401615aa6565b600060405180830381600087803b1580156143e457600080fd5b505af11580156143f8573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516144479392919061589c565b60405180910390a350509392505050565b6144606149bf565b50818115801590614475575060008360c00151115b156144d25760008360c00151831161448d5782614493565b8360c001515b60c08501519091506144ab908263ffffffff61282a16565b60c08301526144c0838263ffffffff61282a16565b92506144d0818560600151614722565b505b8115611e795760808301516144ed908363ffffffff61282a16565b608082015260a08101511561460a57614504614713565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b815260040161453592919061586e565b600060405180830381600087803b15801561454f57600080fd5b505af1158015614563573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b0316156146055760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916145d2919086906004016157fc565b600060405180830381600087803b1580156145ec57600080fd5b505af1158015614600573d6000803e3d6000fd5b505050505b611e79565b614612614713565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b815260040161464392919061586e565b600060405180830381600087803b15801561465d57600080fd5b505af1158015614671573d6000803e3d6000fd5b5050505092915050565b6000611e316822bc31b430b733b2b960b91b6146b6565b6000611e79826146b6565b6000611e316e466c657869626c6553746f7261676560881b5b60008181526003602090815260408083205490516001600160a01b0390911691821515916146e691869101615772565b604051602081830303815290604052906129925760405162461bcd60e51b815260040161086791906158c5565b6006546001600160a01b031690565b8115610fcd57631c1554d160e21b81146147c75761473e611e36565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b81526004016147749392919061589c565b60206040518083038186803b15801561478c57600080fd5b505afa1580156147a0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506147c49190810190614e5f565b91505b6147cf614930565b6001600160a01b031663867904b46147e5614947565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b15801561481d57600080fd5b505afa158015614831573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148559190810190614c63565b846040518363ffffffff1660e01b8152600401614873929190615825565b600060405180830381600087803b15801561488d57600080fd5b505af11580156148a1573d6000803e3d6000fd5b505050506148ad614947565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b81526004016148d89190615852565b600060405180830381600087803b1580156148f257600080fd5b505af11580156105d8573d6000803e3d6000fd5b600061110f8383670de0b6b3a764000061495c565b600061110f8383670de0b6b3a7640000614994565b6000611e3168141e5b9d1a1c1554d160ba1b6146b6565b6000611e3166119959541bdbdb60ca1b6146b6565b6000806149768461323387600a870263ffffffff61285216565b90506005600a825b061061498857600a015b600a9004949350505050565b600080600a83046149ab868663ffffffff61285216565b816149b257fe5b0490506005600a8261497e565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611e7981615be2565b8051611e7981615be2565b60008083601f840112614a4157600080fd5b50813567ffffffffffffffff811115614a5957600080fd5b602083019150836020820283011115614a7157600080fd5b9250929050565b8035611e7981615bf6565b8051611e7981615bf6565b8035611e7981615bff565b8051611e7981615bff565b60006101208284031215614ab757600080fd5b614ac2610120615b3f565b90506000614ad08484614a8e565b8252506020614ae184848301614a19565b6020830152506040614af584828501614a8e565b6040830152506060614b0984828501614a8e565b6060830152506080614b1d84828501614a8e565b60808301525060a0614b3184828501614a78565b60a08301525060c0614b4584828501614a8e565b60c08301525060e0614b5984828501614a8e565b60e083015250610100614b6e84828501614a8e565b6101008301525092915050565b60006101208284031215614b8e57600080fd5b614b99610120615b3f565b90506000614ba78484614a99565b8252506020614bb884848301614a24565b6020830152506040614bcc84828501614a99565b6040830152506060614be084828501614a99565b6060830152506080614bf484828501614a99565b60808301525060a0614c0884828501614a83565b60a08301525060c0614c1c84828501614a99565b60c08301525060e0614c3084828501614a99565b60e083015250610100614b6e84828501614a99565b600060208284031215614c5757600080fd5b60006107148484614a19565b600060208284031215614c7557600080fd5b60006107148484614a24565b60008060408385031215614c9457600080fd5b6000614ca08585614a19565b9250506020614cb185828601614a8e565b9150509250929050565b600080600060608486031215614cd057600080fd5b6000614cdc8686614a19565b9350506020614ced86828701614a8e565b9250506040614cfe86828701614a8e565b9150509250925092565b60008060008060408587031215614d1e57600080fd5b843567ffffffffffffffff811115614d3557600080fd5b614d4187828801614a2f565b9450945050602085013567ffffffffffffffff811115614d6057600080fd5b614d6c87828801614a2f565b95989497509550505050565b600060208284031215614d8a57600080fd5b60006107148484614a78565b600060208284031215614da857600080fd5b60006107148484614a83565b60008060408385031215614dc757600080fd5b6000614dd38585614a83565b9250506020614cb185828601614a83565b600060208284031215614df657600080fd5b60006107148484614a8e565b60008060408385031215614e1557600080fd5b6000614ca08585614a8e565b60006101208284031215614e3457600080fd5b60006107148484614aa4565b60006101208284031215614e5357600080fd5b60006107148484614b7b565b600060208284031215614e7157600080fd5b60006107148484614a99565b60008060408385031215614e9057600080fd5b6000614dd38585614a99565b600080600060608486031215614eb157600080fd5b6000614cdc8686614a8e565b60008060008060808587031215614ed357600080fd5b6000614edf8787614a99565b9450506020614ef087828801614a99565b9350506040614f0187828801614a99565b9250506060614f1287828801614a99565b91505092959194509250565b6000614f2a8383614fac565b505060200190565b614f3b81615b9a565b82525050565b614f3b81615b7e565b6000614f5582615b6c565b614f5f8185615b70565b9350614f6a83615b66565b8060005b83811015614f98578151614f828882614f1e565b9750614f8d83615b66565b925050600101614f6e565b509495945050505050565b614f3b81615b89565b614f3b81610c3c565b614f3b614fc182610c3c565b610c3c565b614f3b81615ba1565b6000614fda82615b6c565b614fe48185615b70565b9350614ff4818560208601615bac565b614ffd81615bd8565b9093019392505050565b6000615014601b83615b70565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061504d601683615b70565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b600061507f600e83615b70565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b60006150a9601583615b70565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b60006150da603583615b70565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615131601983615b70565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b600061516a601d83615b70565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b60006151a3601e83615b70565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006151dc601b83615b70565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000615215601283615b70565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615243601e83615b70565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b600061527c601d83615b70565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b60006152b5601883615b70565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006152ee602083615b70565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b6000615327601e83615b70565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000615360601a83615b70565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615399601183615b79565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b60006153c6601183615b70565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006153f3601383615b70565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b6000615422600a83615b70565b6926b0bc1018903437bab960b11b815260200192915050565b6000615448601a83615b70565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615481601b83615b70565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b60006154ba602f83615b70565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b600061550b602183615b70565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061554e601f83615b70565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b6000615587601e83615b70565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b60006155c0601a83615b70565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006155f9601983615b79565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615632601383615b70565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615661601883615b70565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b600061569a601b83615b70565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906156d88482614fac565b5060208201516156eb6020850182614f41565b5060408201516156fe6040850182614fac565b5060608201516157116060850182614fac565b5060808201516157246080850182614fac565b5060a082015161573760a0850182614fa3565b5060c082015161574a60c0850182614fac565b5060e082015161575d60e0850182614fac565b506101008201516107bf610100850182614fac565b600061577d8261538c565b91506157898284614fb5565b50602001919050565b600061577d826155ec565b60208101611e798284614f41565b60208101611e798284614f32565b604081016157c78285614f32565b61110f6020830184614f41565b606081016157e28286614f32565b6157ef6020830185614f41565b6107146040830184614fac565b6040810161580a8285614f32565b61110f6020830184614fac565b604081016157c78285614f41565b6040810161580a8285614f41565b6020808252810161110f8184614f4a565b60208101611e798284614fa3565b60208101611e798284614fac565b604081016157c78285614fac565b6040810161580a8285614fac565b6040810161588a8285614fac565b81810360208301526107148184614fcf565b606081016158aa8286614fac565b6157ef6020830185614fac565b60208101611e798284614fc6565b6020808252810161110f8184614fcf565b60208082528101611e7981615007565b60208082528101611e7981615040565b60208082528101611e7981615072565b60208082528101611e798161509c565b60208082528101611e79816150cd565b60208082528101611e7981615124565b60208082528101611e798161515d565b60208082528101611e7981615196565b60208082528101611e79816151cf565b60208082528101611e7981615208565b60208082528101611e7981615236565b60208082528101611e798161526f565b60208082528101611e79816152a8565b60208082528101611e79816152e1565b60208082528101611e798161531a565b60208082528101611e7981615353565b60208082528101611e79816153b9565b60208082528101611e79816153e6565b60208082528101611e7981615415565b60208082528101611e798161543b565b60208082528101611e7981615474565b60208082528101611e79816154ad565b60208082528101611e79816154fe565b60208082528101611e7981615541565b60208082528101611e798161557a565b60208082528101611e79816155b3565b60208082528101611e7981615625565b60208082528101611e7981615654565b60208082528101611e798161568d565b6101208101611e7982846156c6565b60808101615ac38287614fac565b615ad06020830186614f32565b615add6040830185614fac565b615aea6060830184614fac565b95945050505050565b60a08101615b018288614fac565b615b0e6020830187614fac565b615b1b6040830186614fac565b615b286060830185614fac565b615b356080830184614fac565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615b5e57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611e7982615b8e565b151590565b6001600160a01b031690565b6000611e79825b6000611e7982615b7e565b60005b83811015615bc7578181015183820152602001615baf565b838111156107bf5750506000910152565b601f01601f191690565b615beb81615b7e565b8114613ae757600080fd5b615beb81615b89565b615beb81610c3c56fea365627a7a72315820ae8406c67cb57ffe06911f559ee96830edd687ba53660a3e46b9341811ef52e16c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0x6c1c084eccf261cb56bb57aee81a5cc7c0e01a1038b1cec7e746c8bde54c29ee",
				"urls": [
					"bzz-raw://8d40b9df12d66cc9b26cab8f75d7f5af43d79d5f5908c4cb23f7c536039db951",
					"dweb:/ipfs/QmQZsS38snUG9T6Rs7DtMptZ9qaf6Riufaf4a6PL3fERDX"
				]
			},
			"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": "0x6c1c084eccf261cb56bb57aee81a5cc7c0e01a1038b1cec7e746c8bde54c29ee",
						"urls": [
							"bzz-raw://8d40b9df12d66cc9b26cab8f75d7f5af43d79d5f5908c4cb23f7c536039db951",
							"dweb:/ipfs/QmQZsS38snUG9T6Rs7DtMptZ9qaf6Riufaf4a6PL3fERDX"
						]
					}
				},
				"version": 1
			}
		},
		"CollateralShort": {
			"bytecode": "60806040526032600d5561012c600e55600f805460ff191660011790553480156200002957600080fd5b5060405162005f3a38038062005f3a8339810160408190526200004c9162000167565b868686868686868380876001600160a01b038116620000885760405162461bcd60e51b81526004016200007f906200028f565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000d591849062000269565b60405180910390a150600280546001600160a01b03199081166001600160a01b03938416179091556006805482169883169890981790975560058054909716981697909717909455600491909155600a5550600b555062000310975050505050505050565b80516200014781620002e0565b92915050565b80516200014781620002fa565b8051620001478162000305565b600080600080600080600060e0888a0312156200018357600080fd5b6000620001918a8a6200015a565b9750506020620001a48a828b016200013a565b9650506040620001b78a828b016200013a565b9550506060620001ca8a828b016200013a565b9450506080620001dd8a828b016200014d565b93505060a0620001f08a828b016200014d565b92505060c0620002038a828b016200014d565b91505092959891949750929550565b6200021d81620002d3565b82525050565b6200021d81620002aa565b60006200023d601983620002a1565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b6040810162000279828562000212565b62000288602083018462000223565b9392505050565b6020808252810162000147816200022e565b90815260200190565b60006200014782620002c7565b90565b60006200014782620002aa565b6001600160a01b031690565b60006200014782620002ba565b620002eb81620002aa565b8114620002f757600080fd5b50565b620002eb81620002b7565b620002eb81620002ba565b615c1a80620003206000396000f3fe608060405234801561001057600080fd5b50600436106102485760003560e01c8063741853601161013b578063ba2de9bc116100b8578063dac8cf681161007c578063dac8cf681461048d578063de81eda9146104a0578063e74337c6146104b3578063eb8e3b65146104c6578063f93451ed146104ce57610248565b8063ba2de9bc14610444578063c19d93fb1461044c578063cd28502014610454578063d0ebdbe714610467578063d2b8035a1461047a57610248565b80638da5cb5b116100ff5780638da5cb5b1461040657806390abb4d91461040e578063925ead1114610421578063a76cdfa514610429578063b562a1ab1461043c57610248565b806374185360146103bb57806379ba5097146103c35780637e132355146103cb578063899ffef4146103de5780638cd2e0c7146103f357610248565b8063361e2086116101c95780634c17ace41161018d5780634c17ace41461036757806353a47bb71461037a57806355bd615c1461038257806356dc04a1146103955780635eb2ad01146103a857610248565b8063361e20861461031c57806337551ec6146103245780634065b81b14610337578063441a3e701461033f578063481c6a751461035257610248565b80630e54a19b116102105780630e54a19b146102c65780630efe6a8b146102e657806315aaf4dd146102f95780631627540c146103015780632af64bd31461031457610248565b806304f3bcec1461024d5780630710285c1461026b5780630a153c97146102805780630aebeb4e146102a05780630cdd1c65146102b3575b600080fd5b6102556104e1565b6040516102629190615886565b60405180910390f35b61027e610279366004614c5a565b6104f0565b005b61029361028e366004614dd1565b61058d565b6040516102629190615821565b61027e6102ae366004614d83565b6106c9565b61027e6102c1366004614d83565b610763565b6102d96102d4366004614ca7565b61084e565b6040516102629190615813565b61027e6102f4366004614c5a565b610910565b610293610a49565b61027e61030f366004614be4565b610a4f565b6102d9610aa2565b610293610bba565b610293610332366004614d83565b610bc0565b6102d9610bde565b61027e61034d366004614dd1565b610be7565b61035a610c82565b604051610262919061576c565b61027e610375366004614d83565b610c91565b61035a610d6d565b61027e610390366004614ca7565b610d7c565b61027e6103a3366004614da1565b610e3c565b61027e6103b6366004614c20565b610ecd565b61027e610f03565b61027e611055565b6102936103d9366004614dd1565b6110f1565b6103e661119a565b6040516102629190615802565b61027e610401366004614c5a565b6112ff565b61035a61130b565b61027e61041c366004614d17565b61131a565b610293611366565b61027e610437366004614d83565b61136c565b6102936113a9565b6102936113af565b6102556113b5565b610293610462366004614d83565b6113c4565b61027e610475366004614be4565b6113d6565b61027e610488366004614dd1565b61142f565b61029361049b366004614df0565b611439565b61035a6104ae366004614d83565b611592565b6102936104c1366004614df0565b6115ad565b610293611897565b61027e6104dc366004614e6b565b61189d565b6002546001600160a01b031681565b60006104fd848484611986565b9050610507611d51565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b81526004016105349291906157cb565b602060405180830381600087803b15801561054e57600080fd5b505af1158015610562573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506105869190810190614d35565b5050505050565b600080610598611d6d565b90506105a2611e1a565b6001600160a01b031663654a60ac85856004546040518463ffffffff1660e01b81526004016105d39392919061586b565b60206040518083038186803b1580156105eb57600080fd5b505afa1580156105ff573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106239190810190614e2e565b91506106c16106b48273__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561067057600080fd5b505af4158015610684573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106a89190810190614e2e565b9063ffffffff611e3516565b839063ffffffff611e6316565b949350505050565b60006106d53383611e8d565b90506106df611d51565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b815260040161070c9291906157cb565b602060405180830381600087803b15801561072657600080fd5b505af115801561073a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061075e9190810190614d35565b505050565b61076b612358565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156107af57600080fd5b505af41580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506107e79190810190614e2e565b811161080e5760405162461bcd60e51b8152600401610805906158b5565b60405180910390fd5b600a8190556040517f813a44586e8ecb9390b2568dbe810e193087f80e415c8845340ef06d4cbb42a590610843908390615821565b60405180910390a150565b6007546000908414610862575060006106c1565b60005b8481101561090457600086868381811061087b57fe5b905060200201359050806007838154811061089257fe5b9060005260206000200154146108ad576000925050506106c1565b600782815481106108ba57fe5b9060005260206000200154600860008787868181106108d557fe5b90506020020135815260200190815260200160002054146108fb576000925050506106c1565b50600101610865565b50600195945050505050565b610918611d51565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b8152600401610945929190615788565b60206040518083038186803b15801561095d57600080fd5b505afa158015610971573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506109959190810190614e2e565b8111156109b45760405162461bcd60e51b8152600401610805906158f5565b6109bc611d51565b6001600160a01b03166323b872dd3330846040518463ffffffff1660e01b81526004016109eb939291906157a3565b602060405180830381600087803b158015610a0557600080fd5b505af1158015610a19573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610a3d9190810190614d35565b5061075e838383612384565b600e5481565b610a57612358565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229061084390839061576c565b60006060610aae61119a565b905060005b8151811015610bb0576000828281518110610aca57fe5b602090810291909101810151600081815260039092526040918290205460025492516321f8a72160e01b81529193506001600160a01b039081169216906321f8a72190610b1b908590600401615821565b60206040518083038186803b158015610b3357600080fd5b505afa158015610b47573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b6b9190810190614c02565b6001600160a01b0316141580610b9657506000818152600360205260409020546001600160a01b0316155b15610ba75760009350505050610bb7565b50600101610ab3565b5060019150505b90565b600c5481565b60078181548110610bcd57fe5b600091825260209091200154905081565b600f5460ff1681565b6000610bf3838361257b565b9050610bfd611d51565b6001600160a01b031663a9059cbb33836040518363ffffffff1660e01b8152600401610c2a9291906157cb565b602060405180830381600087803b158015610c4457600080fd5b505af1158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610c7c9190810190614d35565b50505050565b6006546001600160a01b031681565b610c99612358565b73__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015610cdd57600080fd5b505af4158015610cf1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610d159190810190614e2e565b610e1002811115610d385760405162461bcd60e51b8152600401610805906159c5565b600e8190556040517f4d71c92b0a9dc236066597b95637bb04d58cd135e9165aee13eb68e3199c236190610843908390615821565b6001546001600160a01b031681565b610d84612358565b828114610da35760405162461bcd60e51b8152600401610805906158a5565b60005b83811015610e33576000858583818110610dbc57fe5b600780546001810182556000918252602090920293909301357fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c6889091018190559250829160089150868686818110610e1057fe5b602090810292909201358352508101919091526040016000205550600101610da6565b50610c7c610f03565b6000828152600960205260409020546001600160a01b031615610ec95760008281526009602052604090819020549051630c00007b60e41b81526001600160a01b039091169063c00007b090610e9690849060040161576c565b600060405180830381600087803b158015610eb057600080fd5b505af1158015610ec4573d6000803e3d6000fd5b505050505b5050565b610ed5612358565b600090815260096020526040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6060610f0d61119a565b905060005b8151811015610ec9576000828281518110610f2957fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610f6b9190615761565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610f9792919061584b565b60206040518083038186803b158015610faf57600080fd5b505afa158015610fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610fe79190810190614c02565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890611043908490849061582f565b60405180910390a15050600101610f12565b6001546001600160a01b0316331461107f5760405162461bcd60e51b8152600401610805906158e5565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c926110c2926001600160a01b03918216929116906157e6565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60006111936110fe611e1a565b6001600160a01b031663654a60ac60045486866040518463ffffffff1660e01b815260040161112f9392919061586b565b60206040518083038186803b15801561114757600080fd5b505afa15801561115b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061117f9190810190614e2e565b61118761277e565b9063ffffffff611e6316565b9392505050565b6060806111a561280e565b60408051600580825260c08201909252919250606091906020820160a08038833901905050905066119959541bdbdb60ca1b816000815181106111e457fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061120e57fe5b6020026020010181815250506822bc31b430b733b2b960b91b8160028151811061123457fe5b6020026020010181815250506b53797374656d53746174757360a01b8160038151811061125d57fe5b60200260200101818152505068141e5b9d1a1c1554d160ba1b8160048151811061128357fe5b602002602001018181525050606061129b838361285f565b90506112f78160078054806020026020016040519081016040528092919081815260200182805480156112ed57602002820191906000526020600020905b8154815260200190600101908083116112d9575b505050505061285f565b935050505090565b61075e8333848461291b565b6000546001600160a01b031681565b611322612358565b600f805460ff191682151517908190556040517f261991749e1b2436706a31bde8bf184bb37fe21e303709b78d3b881afacadaa2916108439160ff90911690615813565b600a5481565b611374612358565b600c8190556040517fe7bd72551c54d568cd97b00dc52d2787b5c5d4f0070d3582c1e8ba25141f799c90610843908390615821565b60045481565b600b5481565b6005546001600160a01b031681565b60086020526000908152604090205481565b6113de612358565b600680546001600160a01b0319166001600160a01b0383811691909117918290556040517f2c1c11af44aa5608f1dca38c00275c30ea091e02417d36e70e9a1538689c433d9261084392169061576c565b610ec98282612c3c565b600080611444611e1a565b6001600160a01b031663654a60ac6004548560400151631c1554d160e21b6040518463ffffffff1660e01b81526004016114809392919061586b565b60206040518083038186803b15801561149857600080fd5b505afa1580156114ac573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506114d09190810190614e2e565b905060006114dc611e1a565b6001600160a01b031663654a60ac856060015161150a8760c001518860800151611e3590919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016115309392919061586b565b60206040518083038186803b15801561154857600080fd5b505afa15801561155c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115809190810190614e2e565b90506106c1828263ffffffff61316216565b6009602052600090815260409020546001600160a01b031681565b6000806115b8611d6d565b905060006115c4611e1a565b6001600160a01b031663654a60ac85606001516115f28760c001518860800151611e3590919063ffffffff16565b631c1554d160e21b6040518463ffffffff1660e01b81526004016116189392919061586b565b60206040518083038186803b15801561163057600080fd5b505afa158015611644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506116689190810190614e2e565b90506000611674611e1a565b6001600160a01b031663654a60ac6004548760400151631c1554d160e21b6040518463ffffffff1660e01b81526004016116b09392919061586b565b60206040518083038186803b1580156116c857600080fd5b505afa1580156116dc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117009190810190614e2e565b9050600073__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561174857600080fd5b505af415801561175c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506117809190810190614e2e565b905060006117a961179c600a548561316290919063ffffffff16565b859063ffffffff61318c16565b905060006117e26117d5600a546117c98987611e3590919063ffffffff16565b9063ffffffff61316216565b849063ffffffff61318c16565b905060006117f6838363ffffffff61316216565b9050611800611e1a565b6001600160a01b031663654a60ac631c1554d160e21b838c606001516040518463ffffffff1660e01b815260040161183a9392919061586b565b60206040518083038186803b15801561185257600080fd5b505afa158015611866573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061188a9190810190614e2e565b9998505050505050505050565b600d5481565b6118a5611d51565b6001600160a01b031663dd62ed3e33306040518363ffffffff1660e01b81526004016118d2929190615788565b60206040518083038186803b1580156118ea57600080fd5b505afa1580156118fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506119229190810190614e2e565b8311156119415760405162461bcd60e51b8152600401610805906158f5565b61194e83838360016131b4565b50611957611d51565b6001600160a01b03166323b872dd3330866040518463ffffffff1660e01b8152600401610c2a939291906157a3565b6000611990613943565b6119986139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156119d057600080fd5b505afa1580156119e4573d6000803e3d6000fd5b5050505060008211611a085760405162461bcd60e51b815260040161080590615915565b611a1061495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611a4290889088906004016157f4565b6101206040518083038186803b158015611a5b57600080fd5b505afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a939190810190614e0f565b9050611a9e816139ff565b611aa781613a5f565b9050611ab833826060015185613f4b565b600a54611ac482611439565b10611ae15760405162461bcd60e51b815260040161080590615945565b6000611aec826115ad565b90506000848210611afd5784611aff565b815b90506000611b1e8460c001518560800151611e3590919063ffffffff16565b9050808210611b3d57611b32883386613ffe565b945050505050611193565b611b4784836143cd565b9350611b5784606001518361058d565b6040850151909550611b6f908663ffffffff61318c16565b604085015242610100850152611b836145f0565b6001600160a01b031663d6f32e063386606001516040518363ffffffff1660e01b8152600401611bb49291906157cb565b60206040518083038186803b158015611bcc57600080fd5b505afa158015611be0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c049190810190614d35565b15611c215760405162461bcd60e51b815260040161080590615a65565b6060840151600090815260086020526040902054611c3e90614607565b6001600160a01b0316639dc29fac33846040518363ffffffff1660e01b8152600401611c6b9291906157cb565b600060405180830381600087803b158015611c8557600080fd5b505af1158015611c99573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150611ccd908790600401615a75565b600060405180830381600087803b158015611ce757600080fd5b505af1158015611cfb573d6000803e3d6000fd5b50505050876001600160a01b03167fb6e43890aeea54fbe6c0ed628e78172a0ff30bbcb1d70d8b130b12c366bac4c588338589604051611d3e9493929190615a84565b60405180910390a2505050509392505050565b6000611d6868141e5b9d1a1c1554d160ba1b61460e565b905090565b6000611d7761466b565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b716c69717569646174696f6e50656e616c747960701b6040518363ffffffff1660e01b8152600401611dca92919061583d565b60206040518083038186803b158015611de257600080fd5b505afa158015611df6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d689190810190614e2e565b6000611d686c45786368616e6765526174657360981b61460e565b600082820183811015611e5a5760405162461bcd60e51b815260040161080590615925565b90505b92915050565b6000670de0b6b3a7640000611e7e848463ffffffff61468816565b81611e8557fe5b049392505050565b6000611e97613943565b611e9f6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015611ed757600080fd5b505afa158015611eeb573d6000803e3d6000fd5b50505050611ef761495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690611f2990879087906004016157f4565b6101206040518083038186803b158015611f4257600080fd5b505afa158015611f56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f7a9190810190614e0f565b9050611f85816139ff565b611f8e81613a5f565b90506000611fad8260c001518360800151611e3590919063ffffffff16565b9050611fc28260200151836060015183613f4b565b611fca6145f0565b6001600160a01b031663d6f32e068684606001516040518363ffffffff1660e01b8152600401611ffb9291906157f4565b60206040518083038186803b15801561201357600080fd5b505afa158015612027573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061204b9190810190614d35565b156120685760405162461bcd60e51b815260040161080590615975565b606082015160009081526008602052604090205461208590614607565b6001600160a01b0316639dc29fac86836040518363ffffffff1660e01b81526004016120b29291906157f4565b600060405180830381600087803b1580156120cc57600080fd5b505af11580156120e0573d6000803e3d6000fd5b505050508160a00151156121fe576120f66146c2565b6001600160a01b0316635246f2b9836060015184608001516040518363ffffffff1660e01b815260040161212b92919061583d565b600060405180830381600087803b15801561214557600080fd5b505af1158015612159573d6000803e3d6000fd5b5050505060608201516000908152600960205260409020546001600160a01b0316156121f957606082015160009081526009602052604090819020546080840151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a3916121c69189916004016157f4565b600060405180830381600087803b1580156121e057600080fd5b505af11580156121f4573d6000803e3d6000fd5b505050505b61226e565b6122066146c2565b6001600160a01b031663e50a31b3836060015184608001516040518363ffffffff1660e01b815260040161223b92919061583d565b600060405180830381600087803b15801561225557600080fd5b505af1158015612269573d6000803e3d6000fd5b505050505b816040015192506122878260c0015183606001516146d1565b600060808301819052604080840182905260c0840182905260e0840191909152426101008401526005549051631137390760e21b81526001600160a01b03909116906344dce41c906122dd908590600401615a75565b600060405180830381600087803b1580156122f757600080fd5b505af115801561230b573d6000803e3d6000fd5b50505050846001600160a01b03167fcab22a4e95d29d40da2ace3f6ec72b49954a9bc7b2584f8fd47bf7f357a3ed6f856040516123489190615821565b60405180910390a2505092915050565b6000546001600160a01b031633146123825760405162461bcd60e51b8152600401610805906159f5565b565b61238c613943565b6123946139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156123cc57600080fd5b505afa1580156123e0573d6000803e3d6000fd5b50505050600081116124045760405162461bcd60e51b815260040161080590615a25565b61240c61495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061243e90879087906004016157f4565b6101206040518083038186803b15801561245757600080fd5b505afa15801561246b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061248f9190810190614e0f565b905061249a816139ff565b6124a381613a5f565b60408101519091506124bb908363ffffffff611e3516565b604080830191909152426101008301526005549051631137390760e21b81526001600160a01b03909116906344dce41c906124fa908490600401615a75565b600060405180830381600087803b15801561251457600080fd5b505af1158015612528573d6000803e3d6000fd5b50505050836001600160a01b03167f0b1992dffc262be88559dcaf96464e9d661d8bfca7e82f2bb73e31932a82187c8484846040015160405161256d9392919061586b565b60405180910390a250505050565b6000612585613943565b61258d6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156125c557600080fd5b505afa1580156125d9573d6000803e3d6000fd5b505050506125e561495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c515869061261790339088906004016157cb565b6101206040518083038186803b15801561263057600080fd5b505afa158015612644573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506126689190810190614e0f565b9050612673816139ff565b61267c81613a5f565b6040810151909150612694908463ffffffff61318c16565b604082015242610100820152600a546126ac82611439565b116126c95760405162461bcd60e51b8152600401610805906158c5565b600554604051631137390760e21b81526001600160a01b03909116906344dce41c906126f9908490600401615a75565b600060405180830381600087803b15801561271357600080fd5b505af1158015612727573d6000803e3d6000fd5b50505050829150336001600160a01b03167ffae26280bca25d80f1501a9e363c73d3845e651c9aaae54f1fc09a9dcd5f33038585846040015160405161276f9392919061586b565b60405180910390a25092915050565b6000611d68600a5473__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156127ca57600080fd5b505af41580156127de573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506128029190810190614e2e565b9063ffffffff61488716565b604080516001808252818301909252606091602080830190803883390190505090506e466c657869626c6553746f7261676560881b8160008151811061285057fe5b60200260200101818152505090565b6060815183510160405190808252806020026020018201604052801561288f578160200160208202803883390190505b50905060005b83518110156128d1578381815181106128aa57fe5b60200260200101518282815181106128be57fe5b6020908102919091010152600101612895565b5060005b8251811015612914578281815181106128ea57fe5b602002602001015182828651018151811061290157fe5b60209081029190910101526001016128d5565b5092915050565b612923613943565b61292b6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b15801561296357600080fd5b505afa158015612977573d6000803e3d6000fd5b505050506000811161299b5760405162461bcd60e51b815260040161080590615915565b6129a361495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c51586906129d590889087906004016157f4565b6101206040518083038186803b1580156129ee57600080fd5b505afa158015612a02573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612a269190810190614e0f565b9050612a31816139ff565b612a3a81613a5f565b9050612a4b84826060015184613f4b565b612a5581836143cd565b426101008201529050612a666145f0565b6001600160a01b031663d6f32e068583606001516040518363ffffffff1660e01b8152600401612a979291906157f4565b60206040518083038186803b158015612aaf57600080fd5b505afa158015612ac3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ae79190810190614d35565b15612b045760405162461bcd60e51b815260040161080590615a65565b6060810151600090815260086020526040902054612b2190614607565b6001600160a01b0316639dc29fac85846040518363ffffffff1660e01b8152600401612b4e9291906157f4565b600060405180830381600087803b158015612b6857600080fd5b505af1158015612b7c573d6000803e3d6000fd5b5050600554604051631137390760e21b81526001600160a01b0390911692506344dce41c9150612bb0908490600401615a75565b600060405180830381600087803b158015612bca57600080fd5b505af1158015612bde573d6000803e3d6000fd5b50505050836001600160a01b0316856001600160a01b03167fdf10512219e869922340b1b24b21d7d79bf71f411a6391cc7c3ef5dd2fe89e7f85858560800151604051612c2d9392919061586b565b60405180910390a35050505050565b612c44613943565b612c4c6139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b158015612c8457600080fd5b505afa158015612c98573d6000803e3d6000fd5b50505050612ca461495e565b6005546040516350e28ac360e11b81526001600160a01b039091169063a1c5158690612cd690339087906004016157cb565b6101206040518083038186803b158015612cef57600080fd5b505afa158015612d03573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612d279190810190614e0f565b9050612d32816139ff565b612d3b81613a5f565b6080810151909150612d53908363ffffffff611e3516565b6080820152600a54612d6482611439565b11612d815760405162461bcd60e51b8152600401610805906158d5565b6000612d98600c548461489c90919063ffffffff16565b90506000612dac848363ffffffff61318c16565b90508260a0015115612fb957612dc06146c2565b6001600160a01b031663e31f27c18460600151866040518363ffffffff1660e01b8152600401612df192919061583d565b600060405180830381600087803b158015612e0b57600080fd5b505af1158015612e1f573d6000803e3d6000fd5b50505050612e2b611d51565b6001600160a01b031663867904b433612e42611e1a565b6001600160a01b031663654a60ac876060015186631c1554d160e21b6040518463ffffffff1660e01b8152600401612e7c9392919061586b565b60206040518083038186803b158015612e9457600080fd5b505afa158015612ea8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250612ecc9190810190614e2e565b6040518363ffffffff1660e01b8152600401612ee99291906157cb565b600060405180830381600087803b158015612f0357600080fd5b505af1158015612f17573d6000803e3d6000fd5b5050505060608301516000908152600960205260409020546001600160a01b031615612fb45760608301516000908152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a5190612f8190339088906004016157cb565b600060405180830381600087803b158015612f9b57600080fd5b505af1158015612faf573d6000803e3d6000fd5b505050505b6130a1565b612fc16146c2565b6001600160a01b031663eb94bbde8460600151866040518363ffffffff1660e01b8152600401612ff292919061583d565b600060405180830381600087803b15801561300c57600080fd5b505af1158015613020573d6000803e3d6000fd5b50505060608401516000908152600860205260409020546130419150614607565b6001600160a01b031663867904b433836040518363ffffffff1660e01b815260040161306e9291906157cb565b600060405180830381600087803b15801561308857600080fd5b505af115801561309c573d6000803e3d6000fd5b505050505b6130af8284606001516146d1565b42610100840152600554604051631137390760e21b81526001600160a01b03909116906344dce41c906130e6908690600401615a75565b600060405180830381600087803b15801561310057600080fd5b505af1158015613114573d6000803e3d6000fd5b50505050336001600160a01b03167f5754fe57f36ac0f121901d7555aba517e6608590429d86a81c662cf358310654868660405161315392919061583d565b60405180910390a25050505050565b60006111938261318085670de0b6b3a764000063ffffffff61468816565b9063ffffffff6148b116565b6000828211156131ae5760405162461bcd60e51b815260040161080590615985565b50900390565b60006131be613943565b6131c66139e5565b6001600160a01b0316637c3125416040518163ffffffff1660e01b815260040160006040518083038186803b1580156131fe57600080fd5b505afa158015613212573d6000803e3d6000fd5b5050600f5460ff16915061323a90505760405162461bcd60e51b8152600401610805906159b5565b6000838152600860205260409020546132655760405162461bcd60e51b815260040161080590615a15565b61326d611e1a565b6001600160a01b0316632528f0fe846040518263ffffffff1660e01b81526004016132989190615821565b60206040518083038186803b1580156132b057600080fd5b505afa1580156132c4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506132e89190810190614d35565b156133055760405162461bcd60e51b815260040161080590615965565b600b548510156133275760405162461bcd60e51b815260040161080590615955565b600d5460055460405163382dab6f60e21b81526001600160a01b039091169063e0b6adbc9061335a90339060040161577a565b60206040518083038186803b15801561337257600080fd5b505afa158015613386573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506133aa9190810190614e2e565b106133c75760405162461bcd60e51b815260040161080590615935565b6000806133d26146c2565b6001600160a01b031663b4d6cb4087876040518363ffffffff1660e01b81526004016133ff92919061583d565b604080518083038186803b15801561341657600080fd5b505afa15801561342a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061344e9190810190614d53565b9150915081801561345d575080155b6134795760405162461bcd60e51b815260040161080590615a35565b61348387866110f1565b8611156134a25760405162461bcd60e51b8152600401610805906159e5565b60006134b9600c548861489c90919063ffffffff16565b905060006134cd888363ffffffff61318c16565b90506134d76146c2565b6001600160a01b031663b3b467326040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561351157600080fd5b505af1158015613525573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506135499190810190614e2e565b945061355361495e565b604051806101200160405280878152602001336001600160a01b031681526020018b81526020018981526020018a8152602001881515815260200160008152602001600081526020014281525090506135ab81613a5f565b60055460405163170cc48160e21b81529192506001600160a01b031690635c331204906135dc908490600401615a75565b600060405180830381600087803b1580156135f657600080fd5b505af115801561360a573d6000803e3d6000fd5b5050505061361883896146d1565b861561380e57613626611d51565b6001600160a01b031663867904b43361363d611e1a565b6001600160a01b031663654a60ac8c87631c1554d160e21b6040518463ffffffff1660e01b81526004016136739392919061586b565b60206040518083038186803b15801561368b57600080fd5b505afa15801561369f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506136c39190810190614e2e565b6040518363ffffffff1660e01b81526004016136e09291906157cb565b600060405180830381600087803b1580156136fa57600080fd5b505af115801561370e573d6000803e3d6000fd5b5050505061371a6146c2565b6001600160a01b031663e31f27c1898b6040518363ffffffff1660e01b815260040161374792919061583d565b600060405180830381600087803b15801561376157600080fd5b505af1158015613775573d6000803e3d6000fd5b5050506000898152600960205260409020546001600160a01b0316159050613809576000888152600960205260409081902054905163db454a5160e01b81526001600160a01b039091169063db454a51906137d69033908d906004016157cb565b600060405180830381600087803b1580156137f057600080fd5b505af1158015613804573d6000803e3d6000fd5b505050505b6138ed565b60008881526008602052604090205461382690614607565b6001600160a01b031663867904b433846040518363ffffffff1660e01b81526004016138539291906157cb565b600060405180830381600087803b15801561386d57600080fd5b505af1158015613881573d6000803e3d6000fd5b5050505061388d6146c2565b6001600160a01b031663eb94bbde898b6040518363ffffffff1660e01b81526004016138ba92919061583d565b600060405180830381600087803b1580156138d457600080fd5b505af11580156138e8573d6000803e3d6000fd5b505050505b336001600160a01b03167f604952b18be5fed608cbdd28101dc57bd667055c9678ec6d44fb1d8e4c7c172a878b8d8c8860405161392e959493929190615ac2565b60405180910390a25050505050949350505050565b61394b611e1a565b6001600160a01b0316632528f0fe6004546040518263ffffffff1660e01b81526004016139789190615821565b60206040518083038186803b15801561399057600080fd5b505afa1580156139a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506139c89190810190614d35565b156123825760405162461bcd60e51b8152600401610805906159d5565b6000611d686b53797374656d53746174757360a01b61460e565b60008160e0015111613a235760405162461bcd60e51b815260040161080590615a45565b42613a3e600e54836101000151611e3590919063ffffffff16565b1115613a5c5760405162461bcd60e51b815260040161080590615905565b50565b613a6761495e565b8190506000806000808560a00151613b0557613a816146c2565b6001600160a01b03166303f048b08760e001516040518263ffffffff1660e01b8152600401613ab09190615821565b60806040518083038186803b158015613ac857600080fd5b505afa158015613adc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b009190810190614e8c565b613b92565b613b0d6146c2565b6001600160a01b031663af07aa9d87606001518860e001516040518363ffffffff1660e01b8152600401613b4292919061583d565b60806040518083038186803b158015613b5a57600080fd5b505afa158015613b6e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613b929190810190614e8c565b93509350935093506000808760a00151613c2257613bae6146c2565b6001600160a01b031663ba1c5e806040518163ffffffff1660e01b8152600401604080518083038186803b158015613be557600080fd5b505afa158015613bf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613c1d9190810190614e4c565b613cba565b613c2a6146c2565b606089015160009081526008602052604090819020549051630ee81f7960e41b81526001600160a01b03929092169163ee81f79091613c6b91600401615821565b604080518083038186803b158015613c8257600080fd5b505afa158015613c96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613cba9190810190614e4c565b915091508015613cdc5760405162461bcd60e51b8152600401610805906159a5565b6000613d7973__$d87271791b9c544797764b55a2068dac47$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015613d2557600080fd5b505af4158015613d39573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613d5d9190810190614e2e565b613d6d428863ffffffff61318c16565b9063ffffffff61468816565b90506000613d9d613d90858463ffffffff611e6316565b889063ffffffff611e3516565b905060008a60e00151600014613dd657613dd1613dc0838b63ffffffff61318c16565b60808d01519063ffffffff611e6316565b613dd9565b60005b90508a60a00151613e4e57613dec6146c2565b6001600160a01b031663f53037b6836040518263ffffffff1660e01b8152600401613e179190615821565b600060405180830381600087803b158015613e3157600080fd5b505af1158015613e45573d6000803e3d6000fd5b50505050613eba565b613e566146c2565b6001600160a01b031663246206398c60600151846040518363ffffffff1660e01b8152600401613e8792919061583d565b600060405180830381600087803b158015613ea157600080fd5b505af1158015613eb5573d6000803e3d6000fd5b505050505b60c08b0151613ecf908263ffffffff611e3516565b60c08b015260e08a01869052600554604051631137390760e21b81526001600160a01b03909116906344dce41c90613f0b908d90600401615a75565b600060405180830381600087803b158015613f2557600080fd5b505af1158015613f39573d6000803e3d6000fd5b50505050505050505050505050919050565b6000828152600860205260409020548190613f6590614607565b6001600160a01b03166370a08231856040518263ffffffff1660e01b8152600401613f90919061576c565b60206040518083038186803b158015613fa857600080fd5b505afa158015613fbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250613fe09190810190614e2e565b101561075e5760405162461bcd60e51b815260040161080590615a55565b60008061401c8360c001518460800151611e3590919063ffffffff16565b6080840151604085015193509091506140336145f0565b6001600160a01b031663d6f32e068686606001516040518363ffffffff1660e01b81526004016140649291906157f4565b60206040518083038186803b15801561407c57600080fd5b505afa158015614090573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506140b49190810190614d35565b156140d15760405162461bcd60e51b815260040161080590615a65565b60608401516000908152600860205260409020546140ee90614607565b6001600160a01b0316639dc29fac86846040518363ffffffff1660e01b815260040161411b9291906157f4565b600060405180830381600087803b15801561413557600080fd5b505af1158015614149573d6000803e3d6000fd5b505050508360a00151156142675761415f6146c2565b6001600160a01b0316635246f2b9856060015186608001516040518363ffffffff1660e01b815260040161419492919061583d565b600060405180830381600087803b1580156141ae57600080fd5b505af11580156141c2573d6000803e3d6000fd5b5050505060608401516000908152600960205260409020546001600160a01b03161561426257606084015160009081526009602052604090819020546080860151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a39161422f918a916004016157f4565b600060405180830381600087803b15801561424957600080fd5b505af115801561425d573d6000803e3d6000fd5b505050505b6142d7565b61426f6146c2565b6001600160a01b031663e50a31b3856060015186608001516040518363ffffffff1660e01b81526004016142a492919061583d565b600060405180830381600087803b1580156142be57600080fd5b505af11580156142d2573d6000803e3d6000fd5b505050505b6142e98460c0015185606001516146d1565b600060808501819052604080860182905260c0860182905260e0860191909152426101008601526005549051631137390760e21b81526001600160a01b03909116906344dce41c9061433f908790600401615a75565b600060405180830381600087803b15801561435957600080fd5b505af115801561436d573d6000803e3d6000fd5b50505050846001600160a01b0316866001600160a01b03167f697721ed1b9d4866cb1aaa0692f62bb3abc1b01c2dafeaad053ffd4532aa7dbb866000015184876040516143bc9392919061586b565b60405180910390a350509392505050565b6143d561495e565b508181158015906143ea575060008360c00151115b156144475760008360c0015183116144025782614408565b8360c001515b60c0850151909150614420908263ffffffff61318c16565b60c0830152614435838263ffffffff61318c16565b92506144458185606001516146d1565b505b8115611e5d576080830151614462908363ffffffff61318c16565b608082015260a08101511561457f576144796146c2565b6001600160a01b0316635246f2b98260600151846040518363ffffffff1660e01b81526004016144aa92919061583d565b600060405180830381600087803b1580156144c457600080fd5b505af11580156144d8573d6000803e3d6000fd5b5050505060608101516000908152600960205260409020546001600160a01b03161561457a5760608101516000908152600960209081526040918290205490830151915163f3fef3a360e01b81526001600160a01b039091169163f3fef3a391614547919086906004016157cb565b600060405180830381600087803b15801561456157600080fd5b505af1158015614575573d6000803e3d6000fd5b505050505b611e5d565b6145876146c2565b6001600160a01b031663e50a31b38260600151846040518363ffffffff1660e01b81526004016145b892919061583d565b600060405180830381600087803b1580156145d257600080fd5b505af11580156145e6573d6000803e3d6000fd5b5050505092915050565b6000611d686822bc31b430b733b2b960b91b61460e565b6000611e5d825b60008181526003602090815260408083205490516001600160a01b03909116918215159161463e91869101615741565b604051602081830303815290604052906129145760405162461bcd60e51b81526004016108059190615894565b6000611d686e466c657869626c6553746f7261676560881b61460e565b60008261469757506000611e5d565b828202828482816146a457fe5b0414611e5a5760405162461bcd60e51b815260040161080590615a05565b6006546001600160a01b031690565b8115610ec957631c1554d160e21b8114614776576146ed611e1a565b6001600160a01b031663654a60ac8284631c1554d160e21b6040518463ffffffff1660e01b81526004016147239392919061586b565b60206040518083038186803b15801561473b57600080fd5b505afa15801561474f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506147739190810190614e2e565b91505b61477e611d51565b6001600160a01b031663867904b46147946148e6565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b1580156147cc57600080fd5b505afa1580156147e0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506148049190810190614c02565b846040518363ffffffff1660e01b81526004016148229291906157f4565b600060405180830381600087803b15801561483c57600080fd5b505af1158015614850573d6000803e3d6000fd5b5050505061485c6148e6565b6001600160a01b03166322bf55ef836040518263ffffffff1660e01b8152600401610e969190615821565b60006111938383670de0b6b3a76400006148fb565b60006111938383670de0b6b3a7640000614933565b60008082116148d25760405162461bcd60e51b815260040161080590615995565b60008284816148dd57fe5b04949350505050565b6000611d6866119959541bdbdb60ca1b61460e565b6000806149158461318087600a870263ffffffff61468816565b90506005600a825b061061492757600a015b600a9004949350505050565b600080600a830461494a868663ffffffff61468816565b8161495157fe5b0490506005600a8261491d565b6040518061012001604052806000815260200160006001600160a01b031681526020016000815260200160008019168152602001600081526020016000151581526020016000815260200160008152602001600081525090565b8035611e5d81615bb1565b8051611e5d81615bb1565b60008083601f8401126149e057600080fd5b50813567ffffffffffffffff8111156149f857600080fd5b602083019150836020820283011115614a1057600080fd5b9250929050565b8035611e5d81615bc5565b8051611e5d81615bc5565b8035611e5d81615bce565b8051611e5d81615bce565b60006101208284031215614a5657600080fd5b614a61610120615b0e565b90506000614a6f8484614a2d565b8252506020614a80848483016149b8565b6020830152506040614a9484828501614a2d565b6040830152506060614aa884828501614a2d565b6060830152506080614abc84828501614a2d565b60808301525060a0614ad084828501614a17565b60a08301525060c0614ae484828501614a2d565b60c08301525060e0614af884828501614a2d565b60e083015250610100614b0d84828501614a2d565b6101008301525092915050565b60006101208284031215614b2d57600080fd5b614b38610120615b0e565b90506000614b468484614a38565b8252506020614b57848483016149c3565b6020830152506040614b6b84828501614a38565b6040830152506060614b7f84828501614a38565b6060830152506080614b9384828501614a38565b60808301525060a0614ba784828501614a22565b60a08301525060c0614bbb84828501614a38565b60c08301525060e0614bcf84828501614a38565b60e083015250610100614b0d84828501614a38565b600060208284031215614bf657600080fd5b60006106c184846149b8565b600060208284031215614c1457600080fd5b60006106c184846149c3565b60008060408385031215614c3357600080fd5b6000614c3f85856149b8565b9250506020614c5085828601614a2d565b9150509250929050565b600080600060608486031215614c6f57600080fd5b6000614c7b86866149b8565b9350506020614c8c86828701614a2d565b9250506040614c9d86828701614a2d565b9150509250925092565b60008060008060408587031215614cbd57600080fd5b843567ffffffffffffffff811115614cd457600080fd5b614ce0878288016149ce565b9450945050602085013567ffffffffffffffff811115614cff57600080fd5b614d0b878288016149ce565b95989497509550505050565b600060208284031215614d2957600080fd5b60006106c18484614a17565b600060208284031215614d4757600080fd5b60006106c18484614a22565b60008060408385031215614d6657600080fd5b6000614d728585614a22565b9250506020614c5085828601614a22565b600060208284031215614d9557600080fd5b60006106c18484614a2d565b60008060408385031215614db457600080fd5b6000614dc08585614a2d565b9250506020614c50858286016149b8565b60008060408385031215614de457600080fd5b6000614c3f8585614a2d565b60006101208284031215614e0357600080fd5b60006106c18484614a43565b60006101208284031215614e2257600080fd5b60006106c18484614b1a565b600060208284031215614e4057600080fd5b60006106c18484614a38565b60008060408385031215614e5f57600080fd5b6000614d728585614a38565b600080600060608486031215614e8057600080fd5b6000614c7b8686614a2d565b60008060008060808587031215614ea257600080fd5b6000614eae8787614a38565b9450506020614ebf87828801614a38565b9350506040614ed087828801614a38565b9250506060614ee187828801614a38565b91505092959194509250565b6000614ef98383614f7b565b505060200190565b614f0a81615b69565b82525050565b614f0a81615b4d565b6000614f2482615b3b565b614f2e8185615b3f565b9350614f3983615b35565b8060005b83811015614f67578151614f518882614eed565b9750614f5c83615b35565b925050600101614f3d565b509495945050505050565b614f0a81615b58565b614f0a81610bb7565b614f0a614f9082610bb7565b610bb7565b614f0a81615b70565b6000614fa982615b3b565b614fb38185615b3f565b9350614fc3818560208601615b7b565b614fcc81615ba7565b9093019392505050565b6000614fe3601b83615b3f565b7f496e707574206172726179206c656e677468206d69736d617463680000000000815260200192915050565b600061501c601683615b3f565b754d7573742062652067726561746572207468616e203160501b815260200192915050565b600061504e600e83615b3f565b6d43726174696f20746f6f206c6f7760901b815260200192915050565b6000615078601583615b3f565b74086c2dcdcdee840c8e4c2ee40e8d0d2e640daeac6d605b1b815260200192915050565b60006150a9603583615b3f565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b6000615100601983615b3f565b7f416c6c6f77616e6365206e6f74206869676820656e6f75676800000000000000815260200192915050565b6000615139601d83615b3f565b7f4c6f616e20726563656e746c7920696e74657261637465642077697468000000815260200192915050565b6000615172601e83615b3f565b7f5061796d656e74206d7573742062652067726561746572207468616e20300000815260200192915050565b60006151ab601b83615b3f565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b60006151e4601283615b3f565b7113585e081b1bd85b9cc8195e18d95959195960721b815260200192915050565b6000615212601e83615b3f565b7f43726174696f2061626f7665206c69717569646174696f6e20726174696f0000815260200192915050565b600061524b601d83615b3f565b7f4e6f7420656e6f75676820636f6c6c61746572616c20746f206f70656e000000815260200192915050565b6000615284601883615b3f565b7f43757272656e6379207261746520697320696e76616c69640000000000000000815260200192915050565b60006152bd602083615b3f565b7f57616974696e672073656373206f7220736574746c656d656e74206f77696e67815260200192915050565b60006152f6601e83615b3f565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b600061532f601a83615b3f565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000615368601183615b48565b70026b4b9b9b4b7339030b2323932b9b99d1607d1b815260110192915050565b6000615395601183615b3f565b7014985d195cc8185c99481a5b9d985b1a59607a1b815260200192915050565b60006153c2601383615b3f565b7213dc195b9a5b99c81a5cc8191a5cd8589b1959606a1b815260200192915050565b60006153f1600a83615b3f565b6926b0bc1018903437bab960b11b815260200192915050565b6000615417601a83615b3f565b7f436f6c6c61746572616c207261746520697320696e76616c6964000000000000815260200192915050565b6000615450601b83615b3f565b7f45786365656473206d617820626f72726f77696e6720706f7765720000000000815260200192915050565b6000615489602f83615b3f565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b60006154da602183615b3f565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f8152607760f81b602082015260400192915050565b600061551d601f83615b3f565b7f4e6f7420616c6c6f77656420746f20697373756520746869732070796e746800815260200192915050565b6000615556601e83615b3f565b7f4465706f736974206d7573742062652067726561746572207468616e20300000815260200192915050565b600061558f601a83615b3f565b7f44656274206c696d6974206f7220696e76616c69642072617465000000000000815260200192915050565b60006155c8601983615b48565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000615601601383615b3f565b72131bd85b88191bd95cc81b9bdd08195e1a5cdd606a1b815260200192915050565b6000615630601883615b3f565b7f4e6f7420656e6f7567682070796e74682062616c616e63650000000000000000815260200192915050565b6000615669601b83615b3f565b7f57616974696e67206f7220736574746c656d656e74206f77696e670000000000815260200192915050565b80516101208301906156a78482614f7b565b5060208201516156ba6020850182614f10565b5060408201516156cd6040850182614f7b565b5060608201516156e06060850182614f7b565b5060808201516156f36080850182614f7b565b5060a082015161570660a0850182614f72565b5060c082015161571960c0850182614f7b565b5060e082015161572c60e0850182614f7b565b50610100820151610c7c610100850182614f7b565b600061574c8261535b565b91506157588284614f84565b50602001919050565b600061574c826155bb565b60208101611e5d8284614f10565b60208101611e5d8284614f01565b604081016157968285614f01565b6111936020830184614f10565b606081016157b18286614f01565b6157be6020830185614f10565b6106c16040830184614f7b565b604081016157d98285614f01565b6111936020830184614f7b565b604081016157968285614f10565b604081016157d98285614f10565b602080825281016111938184614f19565b60208101611e5d8284614f72565b60208101611e5d8284614f7b565b604081016157968285614f7b565b604081016157d98285614f7b565b604081016158598285614f7b565b81810360208301526106c18184614f9e565b606081016158798286614f7b565b6157be6020830185614f7b565b60208101611e5d8284614f95565b602080825281016111938184614f9e565b60208082528101611e5d81614fd6565b60208082528101611e5d8161500f565b60208082528101611e5d81615041565b60208082528101611e5d8161506b565b60208082528101611e5d8161509c565b60208082528101611e5d816150f3565b60208082528101611e5d8161512c565b60208082528101611e5d81615165565b60208082528101611e5d8161519e565b60208082528101611e5d816151d7565b60208082528101611e5d81615205565b60208082528101611e5d8161523e565b60208082528101611e5d81615277565b60208082528101611e5d816152b0565b60208082528101611e5d816152e9565b60208082528101611e5d81615322565b60208082528101611e5d81615388565b60208082528101611e5d816153b5565b60208082528101611e5d816153e4565b60208082528101611e5d8161540a565b60208082528101611e5d81615443565b60208082528101611e5d8161547c565b60208082528101611e5d816154cd565b60208082528101611e5d81615510565b60208082528101611e5d81615549565b60208082528101611e5d81615582565b60208082528101611e5d816155f4565b60208082528101611e5d81615623565b60208082528101611e5d8161565c565b6101208101611e5d8284615695565b60808101615a928287614f7b565b615a9f6020830186614f01565b615aac6040830185614f7b565b615ab96060830184614f7b565b95945050505050565b60a08101615ad08288614f7b565b615add6020830187614f7b565b615aea6040830186614f7b565b615af76060830185614f7b565b615b046080830184614f7b565b9695505050505050565b60405181810167ffffffffffffffff81118282101715615b2d57600080fd5b604052919050565b60200190565b5190565b90815260200190565b919050565b6000611e5d82615b5d565b151590565b6001600160a01b031690565b6000611e5d825b6000611e5d82615b4d565b60005b83811015615b96578181015183820152602001615b7e565b83811115610c7c5750506000910152565b601f01601f191690565b615bba81615b4d565b8114613a5c57600080fd5b615bba81615b58565b615bba81610bb756fea365627a7a723158209d099f96127b596830a8f101b99c77bd04c30979cb05919985dc820557601eb06c6578706572696d656e74616cf564736f6c63430005100040",
			"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": "0xc87dc2abae3857b0e3cb155e7062aef82e010f2306250799bd91a6fa04fadb53",
				"urls": [
					"bzz-raw://33a39e4bce771897fde107f76a206ba89a37fb45c4f2b90abd803ecd12defa44",
					"dweb:/ipfs/QmRaXrUXAGTukEL4pP7HcngkoR4QZLvC7Dqb2fcyTx81Pw"
				]
			},
			"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": "0xc87dc2abae3857b0e3cb155e7062aef82e010f2306250799bd91a6fa04fadb53",
						"urls": [
							"bzz-raw://33a39e4bce771897fde107f76a206ba89a37fb45c4f2b90abd803ecd12defa44",
							"dweb:/ipfs/QmRaXrUXAGTukEL4pP7HcngkoR4QZLvC7Dqb2fcyTx81Pw"
						]
					}
				},
				"version": 1
			}
		},
		"Pynth": {
			"bytecode": "60806040523480156200001157600080fd5b5060405162002e8a38038062002e8a83398181016040526101008110156200003857600080fd5b815160208301516040808501805191519395929483019291846401000000008211156200006457600080fd5b9083019060208201858111156200007a57600080fd5b82516401000000008111828201881017156200009557600080fd5b82525081516020918201929091019080838360005b83811015620000c4578181015183820152602001620000aa565b50505050905090810190601f168015620000f25780820380516001836020036101000a031916815260200191505b50604052602001805160405193929190846401000000008211156200011657600080fd5b9083019060208201858111156200012c57600080fd5b82516401000000008111828201881017156200014757600080fd5b82525081516020918201929091019080838360005b83811015620001765781810151838201526020016200015c565b50505050905090810190601f168015620001a45780820380516001836020036101000a031916815260200191505b5060409081526020820151908201516060830151608090930151919450925080888888888660128a86816001600160a01b0381166200022a576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316620002d5576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150600580546001600160a01b0319166001600160a01b03881617905584516200035790600690602088019062000453565b5083516200036d90600790602087019062000453565b50506008919091556009805460ff191660ff9092169190911790555050600b80546001600160a01b0319166001600160a01b0394851617905550508816620003f1576040805162461bcd60e51b815260206004820152601260248201527105f70726f78792063616e6e6f7420626520360741b604482015290519081900360640190fd5b6001600160a01b03841662000442576040805162461bcd60e51b815260206004820152601260248201527105f6f776e65722063616e6e6f7420626520360741b604482015290519081900360640190fd5b5050600d5550620004f89350505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200049657805160ff1916838001178555620004c6565b82800160010185558215620004c6579182015b82811115620004c6578251825591602001919060010190620004a9565b50620004d4929150620004d8565b5090565b620004f591905b80821115620004d45760008155600101620004df565b90565b61298280620005086000396000f3fe608060405234801561001057600080fd5b50600436106102415760003560e01c80638da5cb5b11610145578063bc67f832116100bd578063e73cced31161008c578063eb1edd6111610071578063eb1edd6114610693578063ec5568891461069b578063f7ea7a3d146106a357610241565b8063e73cced314610655578063e90dd9e21461068b57610241565b8063bc67f832146105f1578063d67bdd2514610617578063dbd06c851461061f578063dd62ed3e1461062757610241565b80639cbdaeb6116101145780639f769807116100f95780639f76980714610573578063a9059cbb14610599578063b014c3a3146105c557610241565b80639cbdaeb61461053f5780639dc29fac1461054757610241565b80638da5cb5b146104db57806392d5011f146104e357806395d89b411461051157806397107d6d1461051957610241565b80632e0f2625116101d857806374185360116101a75780637f4dab2f1161018c5780637f4dab2f14610431578063867904b414610457578063899ffef41461048357610241565b8063741853601461042157806379ba50971461042957610241565b80632e0f2625146103cd578063313ce567146103eb57806353a47bb7146103f357806370a08231146103fb57610241565b80631627540c116102145780631627540c1461034f57806318160ddd1461037557806323b872dd1461038f5780632af64bd3146103c557610241565b806304f3bcec1461024657806306fdde031461026a578063095ea7b3146102e7578063131b0ae714610327575b600080fd5b61024e6106c0565b604080516001600160a01b039092168252519081900360200190f35b6102726106cf565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102ac578181015183820152602001610294565b50505050905090810190601f1680156102d95780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b610313600480360360408110156102fd57600080fd5b506001600160a01b03813516906020013561075d565b604080519115158252519081900360200190f35b61034d6004803603602081101561033d57600080fd5b50356001600160a01b0316610811565b005b61034d6004803603602081101561036557600080fd5b50356001600160a01b031661083b565b61037d610897565b60408051918252519081900360200190f35b610313600480360360608110156103a557600080fd5b506001600160a01b0381358116916020810135909116906040013561089d565b6103136108c4565b6103d56109e8565b6040805160ff9092168252519081900360200190f35b6103d56109ed565b61024e6109f6565b61037d6004803603602081101561041157600080fd5b50356001600160a01b0316610a05565b61034d610a8a565b61034d610c6b565b61037d6004803603602081101561044757600080fd5b50356001600160a01b0316610d27565b61034d6004803603604081101561046d57600080fd5b506001600160a01b038135169060200135610e6a565b61048b610f27565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156104c75781810151838201526020016104af565b505050509050019250505060405180910390f35b61024e610fe3565b61034d600480360360408110156104f957600080fd5b506001600160a01b0381351690602001351515610ff2565b610272611025565b61034d6004803603602081101561052f57600080fd5b50356001600160a01b0316611080565b61024e6110dc565b61034d6004803603604081101561055d57600080fd5b506001600160a01b0381351690602001356110eb565b61034d6004803603602081101561058957600080fd5b50356001600160a01b03166111a9565b610313600480360360408110156105af57600080fd5b506001600160a01b0381351690602001356111d8565b610313600480360360408110156105db57600080fd5b506001600160a01b038135169060200135611270565b61034d6004803603602081101561060757600080fd5b50356001600160a01b03166113e2565b61024e61140c565b61037d61141b565b61037d6004803603604081101561063d57600080fd5b506001600160a01b0381358116916020013516611421565b6103136004803603606081101561066b57600080fd5b506001600160a01b038135811691602081013590911690604001356114ad565b61024e6115fd565b61024e61160c565b61024e611624565b61034d600480360360208110156106b957600080fd5b5035611633565b600b546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107555780601f1061072a57610100808354040283529160200191610755565b820191906000526020600020905b81548152906001019060200180831161073857829003601f168201915b505050505081565b6000610767611640565b60048054600554604080517fda46098c0000000000000000000000000000000000000000000000000000000081526001600160a01b039384169481018590528784166024820152604481018790529051919092169163da46098c91606480830192600092919082900301818387803b1580156107e257600080fd5b505af11580156107f6573d6000803e3d6000fd5b50505050610805818585611697565b60019150505b92915050565b6108196117d0565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6108436117d0565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60085481565b60006108a7611640565b6108b18483611819565b6108bc848484611990565b949350505050565b600060606108d0610f27565b905060005b81518110156109de5760008282815181106108ec57fe5b6020908102919091018101516000818152600c835260409081902054600b5482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b15801561096d57600080fd5b505afa158015610981573d6000803e3d6000fd5b505050506040513d602081101561099757600080fd5b50516001600160a01b03161415806109c457506000818152600c60205260409020546001600160a01b0316155b156109d557600093505050506109e5565b506001016108d5565b5060019150505b90565b601281565b60095460ff1681565b6001546001600160a01b031681565b600554604080516370a0823160e01b81526001600160a01b038481166004830152915160009392909216916370a0823191602480820192602092909190829003018186803b158015610a5657600080fd5b505afa158015610a6a573d6000803e3d6000fd5b505050506040513d6020811015610a8057600080fd5b505190505b919050565b6060610a94610f27565b905060005b8151811015610c67576000828281518110610ab057fe5b602090810291909101810151600b54604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610b7f578181015183820152602001610b67565b50505050905090810190601f168015610bac5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b158015610bca57600080fd5b505afa158015610bde573d6000803e3d6000fd5b505050506040513d6020811015610bf457600080fd5b50516000838152600c602090815260409182902080546001600160a01b0319166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610a99565b5050565b6001546001600160a01b03163314610cb45760405162461bcd60e51b81526004018080602001828103825260358152602001806128216035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600080610d32611b51565b6001600160a01b03166319d5c66584600d546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610d9157600080fd5b505afa158015610da5573d6000803e3d6000fd5b505050506040513d6060811015610dbb57600080fd5b5051600554604080516370a0823160e01b81526001600160a01b038781166004830152915193945060009391909216916370a08231916024808301926020929190829003018186803b158015610e1057600080fd5b505afa158015610e24573d6000803e3d6000fd5b505050506040513d6020811015610e3a57600080fd5b5051905080821115610e5157600092505050610a85565b610e61818363ffffffff611b6d16565b92505050610a85565b6000610e74611bca565b6001600160a01b0316336001600160a01b03161490506000610e94611b51565b6001600160a01b0316336001600160a01b03161490506000610eb4611bdf565b6001600160a01b0316336001600160a01b03161490508280610ed35750815b80610edb5750805b610f165760405162461bcd60e51b81526004018080602001828103825260338152602001806128856033913960400191505060405180910390fd5b610f208585611bf3565b5050505050565b60408051600480825260a08201909252606091602082016080803883390190505090506b53797374656d53746174757360a01b81600081518110610f6757fe5b6020026020010181815250506822bc31b430b733b2b960b91b81600181518110610f8d57fe5b6020026020010181815250506524b9b9bab2b960d11b81600281518110610fb057fe5b60200260200101818152505066119959541bdbdb60ca1b81600381518110610fd457fe5b60200260200101818152505090565b6000546001600160a01b031681565b610ffa6117d0565b6001600160a01b03919091166000908152600a60205260409020805460ff1916911515919091179055565b6007805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156107555780601f1061072a57610100808354040283529160200191610755565b6110886117d0565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517ffc80377ca9c49cc11ae6982f390a42db976d5530af7c43889264b13fbbd7c57e9181900360200190a150565b6003546001600160a01b031681565b60006110f5611bca565b6001600160a01b0316336001600160a01b03161490506000611115611b51565b6001600160a01b0316336001600160a01b03161490506000611135611bdf565b6001600160a01b0316336001600160a01b031614905082806111545750815b8061115c5750805b6111975760405162461bcd60e51b81526004018080602001828103825260338152602001806128856033913960400191505060405180910390fd5b6111a18585611d1d565b505050505050565b6111b1611e1a565b600580546001600160a01b0319166001600160a01b0383161790556111d581611ed4565b50565b60006111e2611640565b6004546111f8906001600160a01b031683611819565b6001600160a01b03831673feefeefeefeefeefeefeefeefeefeefeefeefeef141561122e57611227838361202c565b905061080b565b6001600160a01b03831661125257600454611227906001600160a01b031683611d1d565b600454611269906001600160a01b031684846121a8565b9392505050565b600061127a611640565b6000611284611b51565b60048054600d54604080517f1b16802c0000000000000000000000000000000000000000000000000000000081526001600160a01b0393841694810194909452602484019190915251921691631b16802c916044808201926060929091908290030181600087803b1580156112f857600080fd5b505af115801561130c573d6000803e3d6000fd5b505050506040513d606081101561132257600080fd5b506040015190508281156113b05760055460048054604080516370a0823160e01b81526001600160a01b0392831693810193909352519216916370a0823191602480820192602092909190829003018186803b15801561138157600080fd5b505afa158015611395573d6000803e3d6000fd5b505050506040513d60208110156113ab57600080fd5b505190505b8084116113bd57836113bf565b805b6004549094506113d9906001600160a01b031686866121a8565b95945050505050565b6113ea612443565b600480546001600160a01b0319166001600160a01b0392909216919091179055565b6004546001600160a01b031681565b600d5481565b60055460408051636eb1769f60e11b81526001600160a01b03858116600483015284811660248301529151600093929092169163dd62ed3e91604480820192602092909190829003018186803b15801561147a57600080fd5b505afa15801561148e573d6000803e3d6000fd5b505050506040513d60208110156114a457600080fd5b50519392505050565b60006114b7611640565b60006114c1611b51565b6001600160a01b0316631b16802c86600d546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b15801561152257600080fd5b505af1158015611536573d6000803e3d6000fd5b505050506040513d606081101561154c57600080fd5b506040015190508281156115d657600554604080516370a0823160e01b81526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b1580156115a757600080fd5b505afa1580156115bb573d6000803e3d6000fd5b505050506040513d60208110156115d157600080fd5b505190505b808410156115e457836115e6565b805b93506115f3868686611990565b9695505050505050565b6005546001600160a01b031681565b73feefeefeefeefeefeefeefeefeefeefeefeefeef81565b6002546001600160a01b031681565b61163b611e1a565b600855565b6002546001600160a01b0316331480159061166657506003546001600160a01b03163314155b801561167d57506004546001600160a01b03163314155b1561169557600480546001600160a01b031916331790555b565b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff97916003908060216128e78239602101905060405180910390206116ea886124b7565b6116f3886124b7565b60006040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018481526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561176257818101518382015260200161174a565b50505050905090810190601f16801561178f5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156117b357600080fd5b505af11580156117c7573d6000803e3d6000fd5b50505050505050565b6000546001600160a01b031633146116955760405162461bcd60e51b815260040180806020018281038252602f8152602001806128b8602f913960400191505060405180910390fd5b611821611b51565b6001600160a01b031663059c29ec83600d546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561188057600080fd5b505afa158015611894573d6000803e3d6000fd5b505050506040513d60208110156118aa57600080fd5b5051156118e85760405162461bcd60e51b81526004018080602001828103825260258152602001806129086025913960400191505060405180910390fd5b806118f283610d27565b101561192f5760405162461bcd60e51b815260040180806020018281038252602f815260200180612856602f913960400191505060405180910390fd5b6119376124c3565b6001600160a01b0316631d7e7789600d546040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b15801561197c57600080fd5b505afa1580156111a1573d6000803e3d6000fd5b6005546004805460408051636eb1769f60e11b81526001600160a01b038881169482019490945291831660248301525160009360001993169163dd62ed3e916044808301926020929190829003018186803b1580156119ee57600080fd5b505afa158015611a02573d6000803e3d6000fd5b505050506040513d6020811015611a1857600080fd5b505114611b46576005546004805460408051636eb1769f60e11b81526001600160a01b0389811694820194909452918316602483018190529051929093169263da46098c928892611ac5918891879163dd62ed3e91604480820192602092909190829003018186803b158015611a8d57600080fd5b505afa158015611aa1573d6000803e3d6000fd5b505050506040513d6020811015611ab757600080fd5b50519063ffffffff611b6d16565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050600060405180830381600087803b158015611b2d57600080fd5b505af1158015611b41573d6000803e3d6000fd5b505050505b6108bc8484846121a8565b6000611b686822bc31b430b733b2b960b91b6124d9565b905090565b600082821115611bc4576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000611b6866119959541bdbdb60ca1b6124d9565b6000611b686524b9b9bab2b960d11b6124d9565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151919092169163b46310f6918591611c8991869186916370a0823191602480820192602092909190829003018186803b158015611c5157600080fd5b505afa158015611c65573d6000803e3d6000fd5b505050506040513d6020811015611c7b57600080fd5b50519063ffffffff6125c916565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611cd857600080fd5b505af1158015611cec573d6000803e3d6000fd5b5050600854611d04925090508263ffffffff6125c916565b600855611d1360008383612623565b610c678282612676565b600554604080516370a0823160e01b81526001600160a01b0385811660048301529151600093929092169163b46310f6918691611d7d91879186916370a08231916024808301926020929190829003018186803b158015611a8d57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015611dcc57600080fd5b505af1158015611de0573d6000803e3d6000fd5b5050600854611df8925090508363ffffffff611b6d16565b600855611e0783600084612623565b611e1183836127b7565b50600192915050565b6002546001600160a01b03163314801590611e4057506003546001600160a01b03163314155b8015611e5757506004546001600160a01b03163314155b15611e6f57600480546001600160a01b031916331790555b6000546004546001600160a01b03908116911614611695576040805162461bcd60e51b815260206004820152601360248201527f4f776e6572206f6e6c792066756e6374696f6e00000000000000000000000000604482015290519081900360640190fd5b600254604080516001600160a01b038481166020808401919091528351808403820181528385018086527f546f6b656e5374617465557064617465642861646472657373290000000000009052935192839003605a0183207f907dff97000000000000000000000000000000000000000000000000000000008452600160248501819052604485018290526000606486018190526084860181905260a4860181905260c060048701908152875160c48801528751959098169763907dff97979692959394919384938493839260e490920191908a0190808383885b83811015611fc7578181015183820152602001611faf565b50505050905090810190601f168015611ff45780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b15801561201857600080fd5b505af1158015610f20573d6000803e3d6000fd5b600080600d54631c1554d160e21b14156120605750600454829061205a906001600160a01b031685836121a8565b50612139565b612068611b51565b60048054600d54604080517f0a1e187d0000000000000000000000000000000000000000000000000000000081526001600160a01b0393841694810194909452602484019190915260448301879052631c1554d160e21b606484015273feefeefeefeefeefeefeefeefeefeefeefeefeef608484015251921691630a1e187d9160a4808201926020929091908290030181600087803b15801561210a57600080fd5b505af115801561211e573d6000803e3d6000fd5b505050506040513d602081101561213457600080fd5b505190505b612141611bca565b6001600160a01b03166322bf55ef826040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b15801561218657600080fd5b505af115801561219a573d6000803e3d6000fd5b506001979650505050505050565b60006001600160a01b038316158015906121cb57506001600160a01b0383163014155b80156121e557506002546001600160a01b03848116911614155b612236576040805162461bcd60e51b815260206004820152601f60248201527f43616e6e6f74207472616e7366657220746f2074686973206164647265737300604482015290519081900360640190fd5b6001600160a01b0384166000908152600a602052604090205460ff16156122a4576040805162461bcd60e51b815260206004820152600f60248201527f426c6f636b656420616464726573730000000000000000000000000000000000604482015290519081900360640190fd5b600554604080516370a0823160e01b81526001600160a01b0387811660048301529151919092169163b46310f691879161230291879186916370a0823191602480820192602092909190829003018186803b158015611a8d57600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561235157600080fd5b505af1158015612365573d6000803e3d6000fd5b5050600554604080516370a0823160e01b81526001600160a01b038881166004830152915191909216935063b46310f6925086916123c791879186916370a0823191602480820192602092909190829003018186803b158015611c5157600080fd5b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561241657600080fd5b505af115801561242a573d6000803e3d6000fd5b50505050612439848484612623565b5060019392505050565b6002546001600160a01b031633148061246657506003546001600160a01b031633145b611695576040805162461bcd60e51b815260206004820152601760248201527f4f6e6c79207468652070726f78792063616e2063616c6c000000000000000000604482015290519081900360640190fd5b6001600160a01b031690565b6000611b686b53797374656d53746174757360a01b5b6000818152600c602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b031690816125c25760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b8381101561258757818101518382015260200161256f565b50505050905090810190601f1680156125b45780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b5092915050565b600082820183811015611269576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b60025460408051602080820185905282518083039091018152908201918290526001600160a01b039092169163907dff979160039080602161292d8239602101905060405180910390206116ea886124b7565b60028054604080516020808201869052825180830390910181528183018084527f49737375656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926126df876124b7565b6000806040518763ffffffff1660e01b815260040180806020018781526020018681526020018581526020018460001b81526020018360001b8152602001828103825288818151815260200191508051906020019080838360005b8381101561275257818101518382015260200161273a565b50505050905090810190601f16801561277f5780820380516001836020036101000a031916815260200191505b50975050505050505050600060405180830381600087803b1580156127a357600080fd5b505af11580156111a1573d6000803e3d6000fd5b60028054604080516020808201869052825180830390910181528183018084527f4275726e656428616464726573732c75696e7432353629000000000000000000905291519081900360570190206001600160a01b039092169263907dff97926126df876124b756fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970496e73756666696369656e742062616c616e636520616674657220616e7920736574746c656d656e74206f77696e674f6e6c7920466565506f6f6c2c2045786368616e676572206f722049737375657220636f6e74726163747320616c6c6f7765644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e417070726f76616c28616464726573732c616464726573732c75696e743235362943616e6e6f74207472616e7366657220647572696e672077616974696e6720706572696f645472616e7366657228616464726573732c616464726573732c75696e7432353629a265627a7a7231582051272e26a82b7b55f0371d92af5fefd9ab5d7ccda5f784e30c6db3dbe035237864736f6c63430005100032",
			"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",
							"name": "_target",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setBlockedAddress",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x92d5011f"
				},
				{
					"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": "0xadb3a05908fa3a1a9aa53c6130ef3efb4319f5ce6fc455544733c34c42f8aed2",
				"urls": [
					"bzz-raw://2ecc0d70e1a1be6747f9cc2ee76abb9ff5e01006c8c018cfefebccf81e718275",
					"dweb:/ipfs/QmRSMVV2XnZDV2RGAtoY1CcUeS2pczCaJEvybSoBfRUg37"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Pynth.sol": "Pynth"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Pynth.sol": {
						"keccak256": "0xadb3a05908fa3a1a9aa53c6130ef3efb4319f5ce6fc455544733c34c42f8aed2",
						"urls": [
							"bzz-raw://2ecc0d70e1a1be6747f9cc2ee76abb9ff5e01006c8c018cfefebccf81e718275",
							"dweb:/ipfs/QmRSMVV2XnZDV2RGAtoY1CcUeS2pczCaJEvybSoBfRUg37"
						]
					}
				},
				"version": 1
			}
		},
		"BlacklistManager": {
			"bytecode": "608060405234801561001057600080fd5b506040516106f63803806106f68339818101604052602081101561003357600080fd5b5051806001600160a01b038116610091576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150506105fc806100fa6000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80637fc42615116100665780637fc42615146101125780638da5cb5b14610138578063a39fac1214610140578063b563545f14610198578063cb2505cf146101b557610093565b80631627540c146100985780632c272456146100c057806353a47bb7146100e657806379ba50971461010a575b600080fd5b6100be600480360360208110156100ae57600080fd5b50356001600160a01b03166101ef565b005b6100be600480360360208110156100d657600080fd5b50356001600160a01b031661024b565b6100ee61029c565b604080516001600160a01b039092168252519081900360200190f35b6100be6102ab565b6100be6004803603602081101561012857600080fd5b50356001600160a01b0316610367565b6100ee61046b565b61014861047a565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561018457818101518382015260200161016c565b505050509050019250505060405180910390f35b6100ee600480360360208110156101ae57600080fd5b50356104dc565b6101db600480360360208110156101cb57600080fd5b50356001600160a01b0316610503565b604080519115158252519081900360200190f35b6101f7610518565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b610253610518565b6001600160a01b038116600081815260026020526040808220805460ff19169055517f7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b9190a250565b6001546001600160a01b031681565b6001546001600160a01b031633146102f45760405162461bcd60e51b81526004018080602001828103825260358152602001806105646035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b61036f610518565b6001600160a01b0381166000908152600260205260408120805460ff19166001179055805b6003548110156103e157826001600160a01b0316600382815481106103b557fe5b6000918252602090912001546001600160a01b031614156103d957600191506103e1565b600101610394565b508061043357600380546001810182556000919091527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b0180546001600160a01b0319166001600160a01b0384161790555b6040516001600160a01b038316907fffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b85590600090a25050565b6000546001600160a01b031681565b606060038054806020026020016040519081016040528092919081815260200182805480156104d257602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116104b4575b5050505050905090565b600381815481106104e957fe5b6000918252602090912001546001600160a01b0316905081565b60026020526000908152604090205460ff1681565b6000546001600160a01b031633146105615760405162461bcd60e51b815260040180806020018281038252602f815260200180610599602f913960400191505060405180910390fd5b56fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158204e8e1daab64ed2b6b2088f16b104c2349ed56734baec0e4d9edf893aae27a00164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "Blacklisted",
					"type": "event",
					"signature": "0xffa4e6181777692565cf28528fc88fd1516ea86b56da075235fa575af6a4b855"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "Unblacklisted",
					"type": "event",
					"signature": "0x7534c63860313c46c473e4e98328f37017e9674e2162faf1a3ad7a96236c3b7b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "flagAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7fc42615"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "flagged",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcb2505cf"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getAddresses",
					"outputs": [
						{
							"internalType": "address[]",
							"name": "",
							"type": "address[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa39fac12"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "listedAddresses",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb563545f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "unflagAccount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2c272456"
				}
			],
			"source": {
				"keccak256": "0x4e30bb11fc1750dcdfec63374918cc10f12477e5b0671f71a368a205e5144fdf",
				"urls": [
					"bzz-raw://1e9b3185033718224e5eaf1c989f5c0e7237461b28cab6dd6cd942714843db6b",
					"dweb:/ipfs/QmbghJMt4uffafvqHbBp4wBiHr5dRBZz1AeTFq3q7BA7iz"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BlacklistManager.sol": "BlacklistManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BlacklistManager.sol": {
						"keccak256": "0x4e30bb11fc1750dcdfec63374918cc10f12477e5b0671f71a368a205e5144fdf",
						"urls": [
							"bzz-raw://1e9b3185033718224e5eaf1c989f5c0e7237461b28cab6dd6cd942714843db6b",
							"dweb:/ipfs/QmbghJMt4uffafvqHbBp4wBiHr5dRBZz1AeTFq3q7BA7iz"
						]
					}
				},
				"version": 1
			}
		},
		"StakingState": {
			"bytecode": "608060405234801561001057600080fd5b506040516113af3803806113af8339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b0316610143576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1505050611209806101a66000396000f3fe608060405234801561001057600080fd5b506004361061012c5760003560e01c806377e15451116100ad57806397bb3ce91161007157806397bb3ce9146103c95780639d88955f146103e65780639ead72221461040b578063a98b9ff414610428578063aefc4ccb1461045a5761012c565b806377e154511461034d57806379ba50971461036a5780638547dbd9146103725780638c610c8d1461038f5780638da5cb5b146103c15761012c565b806344aedc5f116100f457806344aedc5f1461024c578063480310bb1461027f57806352f445ca146102ab57806353a47bb7146102d15780635b081237146102f55761012c565b80631627540c146101315780632c20fce21461015957806337092864146101885780633f6a1607146101d15780634020ed1414610206575b600080fd5b6101576004803603602081101561014757600080fd5b50356001600160a01b0316610462565b005b6101766004803603602081101561016f57600080fd5b50356104be565b60408051918252519081900360200190f35b6101a56004803603602081101561019e57600080fd5b50356104d0565b604080516001600160a01b03909416845260ff9092166020840152151582820152519081900360600190f35b610157600480360360608110156101e757600080fd5b5080359060208101356001600160a01b0316906040013560ff16610501565b6102386004803603606081101561021c57600080fd5b508035906001600160a01b0360208201351690604001356106a1565b604080519115158252519081900360200190f35b6102696004803603602081101561026257600080fd5b50356107e7565b6040805160ff9092168252519081900360200190f35b6101766004803603604081101561029557600080fd5b50803590602001356001600160a01b0316610803565b610157600480360360208110156102c157600080fd5b50356001600160a01b0316610820565b6102d961087c565b604080516001600160a01b039092168252519081900360200190f35b6102fd61088b565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610339578181015183820152602001610321565b505050509050019250505060405180910390f35b6101766004803603602081101561036357600080fd5b50356108e3565b6101576108f5565b6102386004803603602081101561038857600080fd5b50356109b1565b610157600480360360608110156103a557600080fd5b508035906001600160a01b0360208201351690604001356109cd565b6102d9610b9b565b6102d9600480360360208110156103df57600080fd5b5035610baa565b610157600480360360408110156103fc57600080fd5b50803590602001351515610bc5565b6101766004803603602081101561042157600080fd5b5035610c01565b6101576004803603606081101561043e57600080fd5b508035906001600160a01b036020820135169060400135610c1f565b6102d9610e2a565b61046a610e39565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60056020526000908152604090205481565b6003602052600090815260409020546001600160a01b0381169060ff600160a01b8204811691600160a81b90041683565b610509610e39565b6001600160a01b038216610564576040805162461bcd60e51b815260206004820152601760248201527f416464726573732063616e6e6f7420626520656d707479000000000000000000604482015290519081900360640190fd5b6000838152600360205260409020546001600160a01b0316156105ce576040805162461bcd60e51b815260206004820152601b60248201527f546f6b656e20697320616c726561647920726567697374657265640000000000604482015290519081900360640190fd5b6000838152600360205260409020546001600160a01b031661062057600780546001810182556000919091527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688018390555b604080516060810182526001600160a01b03938416815260ff92831660208083019182526001838501908152600097885260039091529290952090518154955192516001600160a01b031990961694169390931760ff60a01b1916600160a01b91909216021760ff60a81b1916600160a81b92151592909202919091179055565b6002546000906001600160a01b031633146106ed5760405162461bcd60e51b815260040180806020018281038252603481526020018061117d6034913960400191505060405180910390fd5b6000848152600360205260408120546012600160a01b90910460ff1610610715576000610732565b600085815260036020526040902054600160a01b900460ff166012035b60ff16905061074085610e84565b6001600160a01b031663a9059cbb8561076386600a86900a63ffffffff610f0916565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b1580156107b257600080fd5b505af11580156107c6573d6000803e3d6000fd5b505050506040513d60208110156107dc57600080fd5b505195945050505050565b600090815260036020526040902054600160a01b900460ff1690565b600460209081526000928352604080842090915290825290205481565b610828610e39565b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b606060078054806020026020016040519081016040528092919081815260200182805480156108d957602002820191906000526020600020905b8154815260200190600101908083116108c5575b5050505050905090565b60066020526000908152604090205481565b6001546001600160a01b0316331461093e5760405162461bcd60e51b81526004018080602001828103825260358152602001806110f06035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b600090815260036020526040902054600160a81b900460ff1690565b6002546001600160a01b03163314610a165760405162461bcd60e51b815260040180806020018281038252603481526020018061117d6034913960400191505060405180910390fd5b610a1f83610f73565b600083815260036020526040902054600160a81b900460ff16610a89576040805162461bcd60e51b815260206004820152601d60248201527f54617267657420746f6b656e206973206e6f7420616374697661746564000000604482015290519081900360640190fd5b60008381526004602090815260408083206001600160a01b0386168452909152902054158015610ab95750600081115b15610ac757610ac783610fdf565b60008381526004602090815260408083206001600160a01b0386168452909152902054610afa908263ffffffff61101116565b60008481526004602090815260408083206001600160a01b0387168452825280832093909355858252600590522054610b39908263ffffffff61101116565b6000848152600560209081526040918290209290925580518581526001600160a01b03851692810192909252818101839052517ffba03de4f3817b65c8bbd83551b938ace8f4a72bfad6821d9b4088bd6a2079809181900360600190a1505050565b6000546001600160a01b031681565b6000908152600360205260409020546001600160a01b031690565b610bcd610e39565b610bd682610f73565b6000918252600360205260409091208054911515600160a81b0260ff60a81b19909216919091179055565b60078181548110610c0e57fe5b600091825260209091200154905081565b6002546001600160a01b03163314610c685760405162461bcd60e51b815260040180806020018281038252603481526020018061117d6034913960400191505060405180910390fd5b60008381526004602090815260408083206001600160a01b0386168452909152902054811115610cc95760405162461bcd60e51b81526004018080602001828103825260298152602001806111256029913960400191505060405180910390fd5b600083815260056020526040902054811115610d165760405162461bcd60e51b81526004018080602001828103825260248152602001806111b16024913960400191505060405180910390fd5b60008381526004602090815260408083206001600160a01b0386168452909152902054610d49908263ffffffff61107216565b610d5657610d56836110cf565b60008381526004602090815260408083206001600160a01b0386168452909152902054610d89908263ffffffff61107216565b60008481526004602090815260408083206001600160a01b0387168452825280832093909355858252600590522054610dc8908263ffffffff61107216565b6000848152600560209081526040918290209290925580518581526001600160a01b03851692810192909252818101839052517ffce1a9063ab422f6b95f8c9d5e2bee83ae07416cd5859af625809f3078f5d9589181900360600190a1505050565b6002546001600160a01b031681565b6000546001600160a01b03163314610e825760405162461bcd60e51b815260040180806020018281038252602f81526020018061114e602f913960400191505060405180910390fd5b565b6000818152600360205260408120546001600160a01b0316610eed576040805162461bcd60e51b815260206004820152601760248201527f546172676574206164647265737320697320656d707479000000000000000000604482015290519081900360640190fd5b506000908152600360205260409020546001600160a01b031690565b6000808211610f5f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481610f6a57fe5b04949350505050565b6000818152600360205260409020546001600160a01b0316610fdc576040805162461bcd60e51b815260206004820152601e60248201527f54617267657420746f6b656e206973206e6f7420726567697374657265640000604482015290519081900360640190fd5b50565b600081815260066020526040902054610fff90600163ffffffff61101116565b60009182526006602052604090912055565b60008282018381101561106b576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000828211156110c9576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600081815260066020526040902054610fff90600163ffffffff6110721656fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704163636f756e7420646f65736e2774206861766520656e6f756768207374616b656420616d6f756e744f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e4e6f7420656e6f756768207374616b656420616d6f756e7420746f207769746864726177a265627a7a72315820100aaf008aa329c7f76d63d587a7fe0a735be0a0efc125850752628249fd07ec64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staking",
					"type": "event",
					"signature": "0xfba03de4f3817b65c8bbd83551b938ace8f4a72bfad6821d9b4088bd6a207980"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Unstaking",
					"type": "event",
					"signature": "0xfce1a9063ab422f6b95f8c9d5e2bee83ae07416cd5859af625809f3078f5d958"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTokenCurrencyKeys",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5b081237"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "refund",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4020ed14"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint8",
							"name": "_decimals",
							"type": "uint8"
						}
					],
					"name": "setTargetToken",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3f6a1607"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bool",
							"name": "_activate",
							"type": "bool"
						}
					],
					"name": "setTokenActivation",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9d88955f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8c610c8d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "stakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x480310bb"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "targetTokens",
					"outputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint8",
							"name": "decimals",
							"type": "uint8"
						},
						{
							"internalType": "bool",
							"name": "activated",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x37092864"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "tokenActivated",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8547dbd9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "tokenAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x97bb3ce9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "tokenDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x44aedc5f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "tokenList",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9ead7222"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalStakedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2c20fce2"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "totalStakerCount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x77e15451"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "unstake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa98b9ff4"
				}
			],
			"source": {
				"keccak256": "0x84408b37c4b8e3a93a7771be269700965ed87c5f45aa7ae731e103564a7ad03f",
				"urls": [
					"bzz-raw://aca85571cc4f488cb3e1c75d3b2013e639b2dcaf489a62b4bcccadfe4e512d40",
					"dweb:/ipfs/QmYxDqKmci6eSWKQ79EhSX5kTAMThUSZVqrM88Zpzupe7L"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"StakingState.sol": "StakingState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"StakingState.sol": {
						"keccak256": "0x84408b37c4b8e3a93a7771be269700965ed87c5f45aa7ae731e103564a7ad03f",
						"urls": [
							"bzz-raw://aca85571cc4f488cb3e1c75d3b2013e639b2dcaf489a62b4bcccadfe4e512d40",
							"dweb:/ipfs/QmYxDqKmci6eSWKQ79EhSX5kTAMThUSZVqrM88Zpzupe7L"
						]
					}
				},
				"version": 1
			}
		},
		"ExternalTokenStakeManager": {
			"bytecode": "608060405234801561001057600080fd5b50604051620041ed380380620041ed8339818101604052606081101561003557600080fd5b50805160208201516040909201519091906249d4008180856001600160a01b0381166100a8576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039283166001600160a01b031991821617909155429093016004556005805495909116949092169390931790555050506140a1806200014c6000396000f3fe608060405234801561001057600080fd5b50600436106102415760003560e01c80637a84b61711610145578063b42652e9116100bd578063e082f1d41161008c578063f5faf9bd11610071578063f5faf9bd14610865578063ff18cf46146108b7578063ffb0a081146108ea57610241565b8063e082f1d4146107f8578063ede459561461080057610241565b8063b42652e914610631578063c23d798114610657578063c70cc960146107a0578063dac6e576146107c657610241565b80639c1b38f711610114578063ad47ffc5116100f9578063ad47ffc5146105aa578063b12e4410146105dc578063b23e5053146105f957610241565b80639c1b38f714610558578063a4678bd21461057e57610241565b80637a84b617146104e45780637d52c4ec14610510578063899ffef4146105485780638da5cb5b1461055057610241565b806353a47bb7116101d8578063614d08f8116101a75780636446406c1161018c5780636446406c1461049c57806374185360146104d457806379ba5097146104dc57610241565b8063614d08f81461046257806362197d9a1461046a57610241565b806353a47bb7146103d55780635abebd07146103dd5780635b6f39791461040f5780635c833bfd1461042c57610241565b8063273cbaa011610214578063273cbaa0146102fd5780632af64bd3146103555780633b1cd52b1461037157806346ba2d90146103bb57610241565b806304f3bcec146102465780630fc3fc8c1461026a5780631627540c146102925780631982de22146102b8575b600080fd5b61024e61092e565b604080516001600160a01b039092168252519081900360200190f35b6102906004803603602081101561028057600080fd5b50356001600160a01b031661093d565b005b610290600480360360208110156102a857600080fd5b50356001600160a01b0316610974565b6102e4600480360360408110156102ce57600080fd5b506001600160a01b0381351690602001356109dd565b6040805192835260208301919091528051918290030190f35b610305610a0e565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610341578181015183820152602001610329565b505050509050019250505060405180910390f35b61035d610b22565b604080519115158252519081900360200190f35b61039d6004803603604081101561038757600080fd5b506001600160a01b038135169060200135610c45565b60408051938452602084019290925282820152519081900360600190f35b6103c3610c63565b60408051918252519081900360200190f35b61024e610c69565b61039d600480360360608110156103f357600080fd5b506001600160a01b038135169060208101359060400135610c78565b61035d6004803603602081101561042557600080fd5b5035610c98565b6103c36004803603606081101561044257600080fd5b506001600160a01b03813581169160208101359160409091013516610d2f565b6103c3610da2565b6103c36004803603606081101561048057600080fd5b506001600160a01b038135169060208101359060400135610dc6565b6103c3600480360360808110156104b257600080fd5b506001600160a01b038135169060208101359060408101359060600135610e68565b610290610f02565b6102906110f0565b6103c3600480360360408110156104fa57600080fd5b506001600160a01b0381351690602001356111b9565b6103c36004803603608081101561052657600080fd5b506001600160a01b0381351690602081013590604081013590606001356111ce565b6103056111e9565b61024e6112a1565b6103c36004803603602081101561056e57600080fd5b50356001600160a01b03166112b0565b6103c36004803603604081101561059457600080fd5b506001600160a01b0381351690602001356112bb565b6103c3600480360360608110156105c057600080fd5b506001600160a01b0381351690602081013590604001356112c7565b61024e600480360360208110156105f257600080fd5b50356112de565b6102906004803603608081101561060f57600080fd5b506001600160a01b03813516906020810135906040810135906060013561132a565b6102906004803603602081101561064757600080fd5b50356001600160a01b0316611362565b61067d6004803603602081101561066d57600080fd5b50356001600160a01b03166114f4565b6040518080602001806020018060200180602001858103855289818151815260200191508051906020019060200280838360005b838110156106c95781810151838201526020016106b1565b50505050905001858103845288818151815260200191508051906020019060200280838360005b838110156107085781810151838201526020016106f0565b50505050905001858103835287818151815260200191508051906020019060200280838360005b8381101561074757818101518382015260200161072f565b50505050905001858103825286818151815260200191508051906020019060200280838360005b8381101561078657818101518382015260200161076e565b505050509050019850505050505050505060405180910390f35b61039d600480360360208110156107b657600080fd5b50356001600160a01b03166118d8565b6103c3600480360360608110156107dc57600080fd5b506001600160a01b0381351690602081013590604001356118f3565b61024e611960565b6108326004803603606081101561081657600080fd5b506001600160a01b03813516906020810135906040013561196f565b604080519687526020870195909552858501939093526060850191909152608084015260a0830152519081900360c00190f35b6108916004803603604081101561087b57600080fd5b506001600160a01b038135169060200135611999565b604080519485526020850193909352838301919091526060830152519081900360800190f35b6108d4600480360360208110156108cd57600080fd5b50356119ba565b6040805160ff9092168252519081900360200190f35b6103c3600480360360c081101561090057600080fd5b506001600160a01b038135169060208101359060408101359060608101359060808101359060a00135611a06565b6002546001600160a01b031681565b610945611a45565b6005805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b61097c611a45565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b60008060008060006109ee87611a90565b925092509250610a0086848484611b6d565b945094505050509250929050565b60055460408051635b08123760e01b815290516060926001600160a01b031691635b081237916004808301926000929190829003018186803b158015610a5357600080fd5b505afa158015610a67573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526020811015610a9057600080fd5b8101908080516040519392919084640100000000821115610ab057600080fd5b908301906020820185811115610ac557600080fd5b8251866020820283011164010000000082111715610ae257600080fd5b82525081516020918201928201910280838360005b83811015610b0f578181015183820152602001610af7565b5050505090500160405250505090505b90565b60006060610b2e6111e9565b905060005b8151811015610c3c576000828281518110610b4a57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610bcb57600080fd5b505afa158015610bdf573d6000803e3d6000fd5b505050506040513d6020811015610bf557600080fd5b50516001600160a01b0316141580610c2257506000818152600360205260409020546001600160a01b0316155b15610c335760009350505050610b1f565b50600101610b33565b50600191505090565b6000806000610c548585611c17565b50929891975095509350505050565b60045481565b6001546001600160a01b031681565b6000806000610c88868686611d94565b9250925092505b93509350939050565b600554604080517f8547dbd90000000000000000000000000000000000000000000000000000000081526004810184905290516000926001600160a01b031691638547dbd9916024808301926020929190829003018186803b158015610cfd57600080fd5b505afa158015610d11573d6000803e3d6000fd5b505050506040513d6020811015610d2757600080fd5b505192915050565b6000610d39611fa7565b6000610d4c85631c1554d160e21b612014565b9050808411610d5d57836000610d6e565b80610d6e858263ffffffff61218e16565b9094509150610d8785848684631c1554d160e21b6121eb565b9050610d99828263ffffffff61252316565b95945050505050565b7f45787465726e616c546f6b656e5374616b654d616e616765720000000000000081565b6000610dd061257d565b600080610dde868686611d94565b9194509250905082151580610df257508115155b610e43576040805162461bcd60e51b815260206004820152601c60248201527f4163636f756e7420697320616c726561647920636c61696d61626c6500000000604482015290519081900360640190fd5b8115610e5f57610e5d86878484631c1554d160e21b6121eb565b505b50509392505050565b6000610e7261257d565b600080610e838787600088886125ea565b9094509250905081610edc576040805162461bcd60e51b815260206004820152601f60248201527f4e6f20617661696c61626c652065782d746f6b656e7320746f207374616b6500604482015290519081900360640190fd5b610ee58161290f565b610ef8878386631c1554d160e21b61297e565b5050949350505050565b6060610f0c6111e9565b905060005b81518110156110ec576000828281518110610f2857fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b83811015610ff7578181015183820152602001610fdf565b50505050905090810190601f1680156110245780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561104257600080fd5b505afa158015611056573d6000803e3d6000fd5b505050506040513d602081101561106c57600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101610f11565b5050565b6001546001600160a01b031633146111395760405162461bcd60e51b8152600401808060200182810382526035815260200180613f726035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60006111c58383612014565b90505b92915050565b60006111de8585600086866125ea565b979650505050505050565b6060806111f4612c22565b60408051600380825260808201909252919250606091906020820183803883390190505090506524b9b9bab2b960d11b8160008151811061123157fe5b6020026020010181815250506c45786368616e6765526174657360981b8160018151811061125b57fe5b6020026020010181815250506b4c69717569646174696f6e7360a01b8160028151811061128457fe5b60200260200101818152505061129a8282612c81565b9250505090565b6000546001600160a01b031681565b60006111c882612d3d565b60006111c58383612d5a565b60006112d4848484612e59565b90505b9392505050565b600554604080516397bb3ce960e01b81526004810184905290516000926001600160a01b0316916397bb3ce9916024808301926020929190829003018186803b158015610cfd57600080fd5b61133261257d565b6113448361133f84612f1d565b612fd1565b925061135c8485611356848688613002565b85613068565b50505050565b61136a61257d565b60055460408051635b08123760e01b815290516060926001600160a01b031691635b081237916004808301926000929190829003018186803b1580156113af57600080fd5b505afa1580156113c3573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156113ec57600080fd5b810190808051604051939291908464010000000082111561140c57600080fd5b90830190602082018581111561142157600080fd5b825186602082028301116401000000008211171561143e57600080fd5b82525081516020918201928201910280838360005b8381101561146b578181015183820152602001611453565b50505050905001604052505050905060005b81518110156114ef5760006114b98484848151811061149857fe5b60200260200101518585815181106114ac57fe5b6020026020010151612e59565b9050806114c657506114e7565b6114e58485838686815181106114d857fe5b6020026020010151613068565b505b60010161147d565b505050565b606080606080600560009054906101000a90046001600160a01b03166001600160a01b0316635b0812376040518163ffffffff1660e01b815260040160006040518083038186803b15801561154857600080fd5b505afa15801561155c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561158557600080fd5b81019080805160405193929190846401000000008211156115a557600080fd5b9083019060208201858111156115ba57600080fd5b82518660208202830111640100000000821117156115d757600080fd5b82525081516020918201928201910280838360005b838110156116045781810151838201526020016115ec565b505050509050016040525050509350835160405190808252806020026020018201604052801561163e578160200160208202803883390190505b509250835160405190808252806020026020018201604052801561166c578160200160208202803883390190505b509150835160405190808252806020026020018201604052801561169a578160200160208202803883390190505b50905060005b84518110156118d05760055485516001600160a01b039091169063480310bb908790849081106116cc57fe5b6020026020010151886040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b031681526020019250505060206040518083038186803b15801561172257600080fd5b505afa158015611736573d6000803e3d6000fd5b505050506040513d602081101561174c57600080fd5b5051845185908390811061175c57fe5b602090810291909101015260055485516001600160a01b03909116906344aedc5f9087908490811061178a57fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156117c657600080fd5b505afa1580156117da573d6000803e3d6000fd5b505050506040513d60208110156117f057600080fd5b5051835160ff9091169084908390811061180657fe5b60200260200101818152505061182e85828151811061182157fe5b60200260200101516132f3565b6001600160a01b03166370a08231876040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561188357600080fd5b505afa158015611897573d6000803e3d6000fd5b505050506040513d60208110156118ad57600080fd5b505182518390839081106118bd57fe5b60209081029190910101526001016116a0565b509193509193565b60008060006118e684611a90565b9196909550909350915050565b60008060008061190287611a90565b925092509250858310156119475760405162461bcd60e51b81526004018080602001828103825260218152602001806140226021913960400191505060405180910390fd5b6119518682612fd1565b95506111de87888885896121eb565b6005546001600160a01b031681565b600080600080600080611983898989613380565b949e939d50919b50995097509095509350505050565b6000806000806119a986866133e1565b509299919850965090945092505050565b600554604080516344aedc5f60e01b81526004810184905290516000926001600160a01b0316916344aedc5f916024808301926020929190829003018186803b158015610cfd57600080fd5b6000611a1061257d565b6000611a1f88878988886125ea565b985092509050611a2e8161290f565b611a3a8888868661297e565b509695505050505050565b6000546001600160a01b03163314611a8e5760405162461bcd60e51b815260040180806020018281038252602f815260200180613fd2602f913960400191505060405180910390fd5b565b6000806000806000806000611aac88635553444360e01b6133e1565b9a5092965090945092509050611ac8818463ffffffff61252316565b955060008611611b475773__$e4b46e0653aafe5b37047ca1759a8b9777$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611b1657600080fd5b505af4158015611b2a573d6000803e3d6000fd5b505050506040513d6020811015611b4057600080fd5b5051611b61565b611b618483611b5c848a63ffffffff61374d16565b613777565b96989597505050505050565b60008083611b8057506000905080611c0e565b6000611b8a6137ef565b90506000868811611b9c576000611bac565b611bac888863ffffffff61218e16565b9050611bb88183612fd1565b9050611bca818763ffffffff61252316565b9050611bdc868263ffffffff61374d16565b9350611c09611bf983611bed6138a6565b9063ffffffff61218e16565b61133f878563ffffffff61218e16565b925050505b94509492505050565b60008080808085611cae57611c2a6137ef565b73__$e4b46e0653aafe5b37047ca1759a8b9777$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611c6e57600080fd5b505af4158015611c82573d6000803e3d6000fd5b505050506040513d6020811015611c9857600080fd5b5051909550935060009250829150819050611d8a565b6000611cb988611a90565b9650945090506000611cc96137ef565b905084611d58578073__$e4b46e0653aafe5b37047ca1759a8b9777$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611d1557600080fd5b505af4158015611d29573d6000803e3d6000fd5b505050506040513d6020811015611d3f57600080fd5b5051909750955060009450849350839250611d8a915050565b611d6488838789611b6d565b9094509250828411611d765783611d78565b825b9150611d85818784613777565b965050505b9295509295909350565b6000806000806000611da588611a90565b909450909250905082611df457611dc386611dbe6137ef565b61392c565b9150818711611dd3576000611de3565b611de3878363ffffffff61218e16565b945060009350839250610c8f915050565b6000611dfe6137ef565b90506000611e0a6138a6565b90506000611e31611e21838563ffffffff61218e16565b61133f868663ffffffff61218e16565b90506000611e3f8b84612fd1565b9050611e4b818361392c565b90506000611e598b8661392c565b90506000828911611e7957611e748d8963ffffffff61218e16565b611e93565b611e93611e86848961392c565b8e9063ffffffff61218e16565b905081811115611f7657611f2a611eaa8d8661392c565b61133f8673__$e4b46e0653aafe5b37047ca1759a8b9777$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b158015611ef257600080fd5b505af4158015611f06573d6000803e3d6000fd5b505050506040513d6020811015611f1c57600080fd5b50519063ffffffff61218e16565b9250611f53838a11611f3c5788611f46565b611f46848961392c565b839063ffffffff61252316565b9750878d11611f63576000611f73565b611f738d8963ffffffff61218e16565b9a505b828911611f84576000611f94565b611f94898463ffffffff61218e16565b9950505050505050505093509350939050565b611faf61394a565b6001600160a01b0316336001600160a01b031614611a8e576040805162461bcd60e51b815260206004820152601a60248201527f53656e646572206973206e6f74204c69717569646174696f6e73000000000000604482015290519081900360640190fd5b60006060600560009054906101000a90046001600160a01b03166001600160a01b0316635b0812376040518163ffffffff1660e01b815260040160006040518083038186803b15801561206657600080fd5b505afa15801561207a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405260208110156120a357600080fd5b81019080805160405193929190846401000000008211156120c357600080fd5b9083019060208201858111156120d857600080fd5b82518660208202830111640100000000821117156120f557600080fd5b82525081516020918201928201910280838360005b8381101561212257818101518382015260200161210a565b50505050905001604052505050905060005b815181101561218657600061215d8684848151811061214f57fe5b602002602001015187612e59565b90508061216a575061217e565b61217a848263ffffffff61252316565b9350505b600101612134565b505092915050565b6000828211156121e5576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b600080600080600080601090506060600560009054906101000a90046001600160a01b03166001600160a01b0316635b0812376040518163ffffffff1660e01b815260040160006040518083038186803b15801561224857600080fd5b505afa15801561225c573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561228557600080fd5b81019080805160405193929190846401000000008211156122a557600080fd5b9083019060208201858111156122ba57600080fd5b82518660208202830111640100000000821117156122d757600080fd5b82525081516020918201928201910280838360005b838110156123045781810151838201526020016122ec565b50505050905001604052505050905060005b81518110156124f05761233d8d83838151811061232f57fe5b60200260200101518b612e59565b965086612349576124e8565b612359878b63ffffffff61374d16565b93506123658b8561392c565b9550612377868963ffffffff61252316565b95508686116123885760008661239a565b612398868863ffffffff61218e16565b875b80975081995050506123c0898383815181106123b257fe5b602002602001015188613002565b60055483519197506001600160a01b0316906344aedc5f908490849081106123e457fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561242057600080fd5b505afa158015612434573d6000803e3d6000fd5b505050506040513d602081101561244a57600080fd5b505160ff16945060128510156124d65785935061247e61247160128763ffffffff61218e16565b879063ffffffff61396916565b9550612490848763ffffffff61218e16565b93506124b08282815181106124a157fe5b60200260200101518a86613002565b93506124c2888563ffffffff61252316565b97508483116124d157826124d3565b845b92505b6124e88d8d888585815181106114d857fe5b600101612316565b50601282108015612506575081601203600a0a87115b612511576000612513565b865b9c9b505050505050505050505050565b6000828201838110156111c5576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b61258561398f565b6001600160a01b0316336001600160a01b031614611a8e576040805162461bcd60e51b815260206004820152601460248201527f53656e646572206973206e6f7420497373756572000000000000000000000000604482015290519081900360640190fd5b6000808086612609576125fb6137ef565b925060009150819050612904565b60008080808061262d8d8a1561261f578a612628565b635553444360e01b5b6133e1565b939850919650945092509050600061264b838663ffffffff61252316565b90506000828e1161265d57600061266d565b61266d8e8463ffffffff61218e16565b90508c15158061267c57508a15155b1561288d578c6126f5576126b36126958d611dbe6137ef565b82116126ac576126a78261133f6137ef565b611f46565b828d612523565b98506126c2858886898d6139a3565b97506126ce8f8c612d5a565b98508789106126dd57876126df565b885b97506126ee88611dbe8d612f1d565b98506127b7565b8c6127038e61133f8e612f1d565b809950819a5050506127b46127a7600560009054906101000a90046001600160a01b03166001600160a01b03166344aedc5f8e6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561276a57600080fd5b505afa15801561277e573d6000803e3d6000fd5b505050506040513d602081101561279457600080fd5b505160129060ff1663ffffffff61218e16565b899063ffffffff61396916565b97505b6127c38c611dbe6137ef565b9b508b81116127d2578861280f565b6127e2818d63ffffffff61218e16565b89116127ef57600061280f565b61280f612802828e63ffffffff61218e16565b8a9063ffffffff61218e16565b9850612821848963ffffffff61252316565b9350612833848763ffffffff61252316565b9150612858612842878961392c565b61284c868861392c565b9063ffffffff61252316565b925061286a8e8a63ffffffff61252316565b9d50828e1161287a57600061288a565b61288a8e8463ffffffff61218e16565b90505b816128a95761289a6137ef565b99506129049650505050505050565b6128b58161133f6137ef565b90506128cc8786611b5c878663ffffffff61374d16565b99506128fa6128d96137ef565b8b611b5c6128ed868663ffffffff61252316565b869063ffffffff61374d16565b9950505050505050505b955095509592505050565b6129176138a6565b61292882600c63ffffffff61396916565b111561297b576040805162461bcd60e51b815260206004820152601760248201527f4f766572206d61782065787465726e616c2071756f7461000000000000000000604482015290519081900360640190fd5b50565b600061298b828486613002565b600554604080516344aedc5f60e01b81526004810187905290519293506000926001600160a01b03909216916344aedc5f91602480820192602092909190829003018186803b1580156129dd57600080fd5b505afa1580156129f1573d6000803e3d6000fd5b505050506040513d6020811015612a0757600080fd5b505160ff1690506012811115612a64576040805162461bcd60e51b815260206004820152601660248201527f496e76616c696420646563696d616c206e756d62657200000000000000000000604482015290519081900360640190fd5b612a7560128263ffffffff61218e16565b9050612a87828263ffffffff61396916565b9150612a92846132f3565b6005546001600160a01b03918216916323b872dd91899116612abe86600a87900a63ffffffff613a8516565b6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b03168152602001836001600160a01b03166001600160a01b031681526020018281526020019350505050602060405180830381600087803b158015612b2657600080fd5b505af1158015612b3a573d6000803e3d6000fd5b505050506040513d6020811015612b5057600080fd5b5051612b8d5760405162461bcd60e51b815260040180806020018281038252602a815260200180614043602a913960400191505060405180910390fd5b600554604080517f8c610c8d000000000000000000000000000000000000000000000000000000008152600481018790526001600160a01b0389811660248301526044820186905291519190921691638c610c8d91606480830192600092919082900301818387803b158015612c0257600080fd5b505af1158015612c16573d6000803e3d6000fd5b50505050505050505050565b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110612c7257fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612cb1578160200160208202803883390190505b50905060005b8351811015612cf357838181518110612ccc57fe5b6020026020010151828281518110612ce057fe5b6020908102919091010152600101612cb7565b5060005b8251811015612d3657828181518110612d0c57fe5b6020026020010151828286510181518110612d2357fe5b6020908102919091010152600101612cf7565b5092915050565b6000612d5082635553444360e01b6133e1565b9695505050505050565b600080612d6683613aef565b90506000612d73846132f3565b90506000612e47612db6836001600160a01b031663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561276a57600080fd5b600a0a836001600160a01b03166370a08231896040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015612e0f57600080fd5b505afa158015612e23573d6000803e3d6000fd5b505050506040513d6020811015612e3957600080fd5b50519063ffffffff613b7d16565b9050612d50818463ffffffff613bd616565b600554604080517f480310bb000000000000000000000000000000000000000000000000000000008152600481018590526001600160a01b0386811660248301529151600093929092169163480310bb91604480820192602092909190829003018186803b158015612eca57600080fd5b505afa158015612ede573d6000803e3d6000fd5b505050506040513d6020811015612ef457600080fd5b5051905080612f05575060006112d7565b81831415612f12576112d7565b6112d4838383613002565b6000612f27613c00565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f6578546f6b656e49737375616e6365526174696f000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015610cfd57600080fd5b6000811580612fde575082155b612ff957612ff4612fef8484613c2b565b613c5d565b6111c5565b50600092915050565b6000828414156130135750806112d7565b50806000631c1554d160e21b851461303d5761302e85613aef565b905061303a838261392c565b91505b631c1554d160e21b84146130605761305484613aef565b9050610d998282612fd1565b509392505050565b8061307281613c7f565b600554604080516344aedc5f60e01b81526004810185905290516000926001600160a01b0316916344aedc5f916024808301926020929190829003018186803b1580156130be57600080fd5b505afa1580156130d2573d6000803e3d6000fd5b505050506040513d60208110156130e857600080fd5b505160ff1690506012811115613145576040805162461bcd60e51b815260206004820152601660248201527f496e76616c696420646563696d616c206e756d62657200000000000000000000604482015290519081900360640190fd5b600061316861315b60128463ffffffff61218e16565b869063ffffffff61396916565b600554604080517fa98b9ff4000000000000000000000000000000000000000000000000000000008152600481018890526001600160a01b038b8116602483015260448201859052915193945091169163a98b9ff49160648082019260009290919082900301818387803b1580156131df57600080fd5b505af11580156131f3573d6000803e3d6000fd5b5050600554604080517f4020ed14000000000000000000000000000000000000000000000000000000008152600481018990526001600160a01b038b81166024830152604482018790529151919092169350634020ed14925060648083019260209291908290030181600087803b15801561326d57600080fd5b505af1158015613281573d6000803e3d6000fd5b505050506040513d602081101561329757600080fd5b50516132ea576040805162461bcd60e51b815260206004820152601660248201527f526566756e6420686173206265656e206661696c656400000000000000000000604482015290519081900360640190fd5b50505050505050565b6000816132ff81613c7f565b600554604080516397bb3ce960e01b81526004810186905290516001600160a01b03909216916397bb3ce991602480820192602092909190829003018186803b15801561334b57600080fd5b505afa15801561335f573d6000803e3d6000fd5b505050506040513d602081101561337557600080fd5b505191505b50919050565b6000806000806000806133938989611c17565b93995091965094509250905060006133b1888563ffffffff61252316565b9050600081116133c25760006133d2565b6133d2898263ffffffff61374d16565b95505093975093979195509350565b60008060008060006133f286612f1d565b60055460408051635b08123760e01b8152905192955060129283926060926001600160a01b0390911691635b08123791600480820192600092909190829003018186803b15801561344257600080fd5b505afa158015613456573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052602081101561347f57600080fd5b810190808051604051939291908464010000000082111561349f57600080fd5b9083019060208201858111156134b457600080fd5b82518660208202830111640100000000821117156134d157600080fd5b82525081516020918201928201910280838360005b838110156134fe5781810151838201526020016134e6565b50505050905001604052505050905060005b81518110156136f25761353e8b83838151811061352957fe5b6020026020010151631c1554d160e21b612e59565b945061355c82828151811061354f57fe5b6020026020010151612f1d565b87146136315761357182828151811061354f57fe5b9850841561362c57613589888663ffffffff61252316565b60055483519199506001600160a01b0316906344aedc5f908490849081106135ad57fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156135e957600080fd5b505afa1580156135fd573d6000803e3d6000fd5b505050506040513d602081101561361357600080fd5b505160ff1694508483106136275784613629565b825b92505b6136ea565b84156136ea57613647868663ffffffff61252316565b60055483519197506001600160a01b0316906344aedc5f9084908490811061366b57fe5b60200260200101516040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156136a757600080fd5b505afa1580156136bb573d6000803e3d6000fd5b505050506040513d60208110156136d157600080fd5b505160ff1694508484106136e557846136e7565b835b93505b600101613510565b5061373e61372061370a60128563ffffffff61218e16565b6137148a8c61392c565b9063ffffffff61396916565b61284c61373460128763ffffffff61218e16565b613714898b61392c565b93505050509295509295909350565b60006111c58261376b85670de0b6b3a764000063ffffffff613b7d16565b9063ffffffff613a8516565b600080600084861161379a57613793858763ffffffff61218e16565b60006137ad565b6137aa868663ffffffff61218e16565b60015b91509150806137d5576137d06137c3838661392c565b879063ffffffff61252316565b612d50565b612d506137e2838661392c565b879063ffffffff61218e16565b60006137f9613c00565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f69737375616e6365526174696f000000000000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561387557600080fd5b505afa158015613889573d6000803e3d6000fd5b505050506040513d602081101561389f57600080fd5b5051905090565b60006138b0613c00565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65787465726e616c546f6b656e51756f746100000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561387557600080fd5b6000811580613939575082155b612ff957612ff4612fef8484613d53565b60006139646b4c69717569646174696f6e7360a01b613d85565b905090565b60006111c5600a83900a613983858263ffffffff613a8516565b9063ffffffff613b7d16565b60006139646524b9b9bab2b960d11b613d85565b6000806139ae6137ef565b905060006139ba6138a6565b905060006139ce898463ffffffff61218e16565b90506139da818861392c565b9350613a04600089116139ee5760006139fe565b6139fe898563ffffffff61218e16565b8761392c565b9050613a16848263ffffffff61252316565b9350613a28828463ffffffff61218e16565b9050613a34818661392c565b905083811015613a4a5760009350505050610d99565b613a5a818563ffffffff61218e16565b9350613a6c898363ffffffff61218e16565b9050613a788482612fd1565b9998505050505050505050565b6000808211613adb576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b6000828481613ae657fe5b04949350505050565b600080613afa613e6e565b6001600160a01b0316630c71cd23846040518263ffffffff1660e01b815260040180828152602001915050604080518083038186803b158015613b3c57600080fd5b505afa158015613b50573d6000803e3d6000fd5b505050506040513d6040811015613b6657600080fd5b508051602090910151909250905061337a81613e89565b600082613b8c575060006111c8565b82820282848281613b9957fe5b04146111c55760405162461bcd60e51b81526004018080602001828103825260218152602001806140016021913960400191505060405180910390fd5b6000670de0b6b3a7640000613bf1848463ffffffff613b7d16565b81613bf857fe5b049392505050565b60006139647f466c657869626c6553746f726167650000000000000000000000000000000000613d85565b6000811580613c38575082155b612ff957612ff4613c4883613ec6565b613c5185613ec6565b9063ffffffff613edc16565b60006305f5e10082046005600a820610613c7557600a015b600a900492915050565b600554604080516397bb3ce960e01b81526004810184905290516000926001600160a01b0316916397bb3ce9916024808301926020929190829003018186803b158015613ccb57600080fd5b505afa158015613cdf573d6000803e3d6000fd5b505050506040513d6020811015613cf557600080fd5b50516001600160a01b0316141561297b576040805162461bcd60e51b815260206004820152601e60248201527f54617267657420746f6b656e206973206e6f7420726567697374657265640000604482015290519081900360640190fd5b6000811580613d60575082155b612ff957612ff4613d7083613ec6565b613d7985613ec6565b9063ffffffff613ef516565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612d365760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015613e33578181015183820152602001613e1b565b50505050905090810190601f168015613e605780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60006139646c45786368616e6765526174657360981b613d85565b801561297b5760405162461bcd60e51b815260040180806020018281038252602b815260200180613fa7602b913960400191505060405180910390fd5b60006111c882633b9aca0063ffffffff613b7d16565b60006111c583836b033b2e3c9fd0803ce8000000613f0e565b60006111c583836b033b2e3c9fd0803ce8000000613f46565b600080613f288461376b87600a870263ffffffff613b7d16565b90506005600a825b0610613f3a57600a015b600a9004949350505050565b600080600a8304613f5d868663ffffffff613b7d16565b81613f6457fe5b0490506005600a82613f3056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e657273686970412070796e7468206f7220612065787465726e616c20746f6b656e207261746520697320696e76616c69644f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f774e6f7420656e6f7567682065787465726e616c207374616b656420616d6f756e745472616e7366657272696e67207374616b696e6720746f6b656e20686173206265656e206661696c6564a265627a7a72315820cfbd39bfcc87230b5e9aef41175923b35ce6712d42e1c3176bc6b48a8a8ba80164736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingState",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "CONTRACT_NAME",
					"outputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x614d08f8"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						}
					],
					"name": "burnAmtToFitTR",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exRefundAmt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5abebd07"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_unitCurrency",
							"type": "bytes32"
						}
					],
					"name": "combinedStakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "combinedSA",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7a84b617"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						}
					],
					"name": "exStakingRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exSR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "maxSR",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1982de22"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_from",
							"type": "address"
						}
					],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb42652e9"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "getExDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exDebt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x9c1b38f7"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "getExEADebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc70cc960"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periCol",
							"type": "uint256"
						}
					],
					"name": "getRatios",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "cRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exSR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "maxSR",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xede45956"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						}
					],
					"name": "getTargetRatio",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "tRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exTRatio",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exEA",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3b1cd52b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenActivation",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5b6f3979"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenAddress",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb12e4410"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenDecimals",
					"outputs": [
						{
							"internalType": "uint8",
							"name": "",
							"type": "uint8"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xff18cf46"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTokenList",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x273cbaa0"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						}
					],
					"name": "getTokenPUSDValueOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4678bd2"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						}
					],
					"name": "maxStakableAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "maxAmount",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7d52c4ec"
				},
				{
					"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"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						}
					],
					"name": "otherTokenIREA",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "otherIR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "otherEA",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "tokenIR",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "tokenEA",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf5faf9bd"
				},
				{
					"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"
						},
						{
							"internalType": "bytes32",
							"name": "_unitKey",
							"type": "bytes32"
						}
					],
					"name": "proRataUnstake",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "remainAmt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdac6e576"
				},
				{
					"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": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "address",
							"name": "_liquidator",
							"type": "address"
						}
					],
					"name": "redeem",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "remainAmt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x5c833bfd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_stakingState",
							"type": "address"
						}
					],
					"name": "setStakingState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0fc3fc8c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_unitKey",
							"type": "bytes32"
						}
					],
					"name": "stake",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtChange",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xffb0a081"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						}
					],
					"name": "stakeToMaxExQuota",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "debtChange",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6446406c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_user",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "_currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_unitCurrency",
							"type": "bytes32"
						}
					],
					"name": "stakedAmountOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xad47ffc5"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingState",
					"outputs": [
						{
							"internalType": "contract IStakingState",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe082f1d4"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "tokenStakeStatus",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "tokenList",
							"type": "bytes32[]"
						},
						{
							"internalType": "uint256[]",
							"name": "stakedAmts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "decimals",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "balances",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc23d7981"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_staker",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "_targetKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "_unitKey",
							"type": "bytes32"
						}
					],
					"name": "unstake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xb23e5053"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_staker",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_existDebt",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_periCol",
							"type": "uint256"
						}
					],
					"name": "unstakeToFitTR",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "burnAmt",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x62197d9a"
				}
			],
			"source": {
				"keccak256": "0xec03ade0a395d2faa2f10058338dc07955e432bc5c9d8ebc2f28e54bc25d590b",
				"urls": [
					"bzz-raw://a9255079526947d422c47def6421d35f631493477b2f2e8b09b05acca4e2828f",
					"dweb:/ipfs/QmVZcgSjsvGLDCHq4YRi1YmiRtQnmYuo5N811oDeyyQCoT"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"ExternalTokenStakeManager.sol": "ExternalTokenStakeManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"ExternalTokenStakeManager.sol": {
						"keccak256": "0xec03ade0a395d2faa2f10058338dc07955e432bc5c9d8ebc2f28e54bc25d590b",
						"urls": [
							"bzz-raw://a9255079526947d422c47def6421d35f631493477b2f2e8b09b05acca4e2828f",
							"dweb:/ipfs/QmVZcgSjsvGLDCHq4YRi1YmiRtQnmYuo5N811oDeyyQCoT"
						]
					}
				},
				"version": 1
			}
		},
		"StakingRewards": {
			"bytecode": "60806040526000600755600060085562093a8060095534801561002157600080fd5b506040516118e33803806118e38339818101604052608081101561004457600080fd5b5080516020820151604083015160609093015191929091836001600160a01b0381166100b7576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a15060016003556000546001600160a01b0316610166576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600580546001600160a01b0393841661010002610100600160a81b0319909116179055600680549183166001600160a01b03199283161790556002805493909216921691909117905550611724806101bf6000396000f3fe608060405234801561001057600080fd5b50600436106101ef5760003560e01c806372f702f31161010f578063a694fc3a116100a2578063d1af0c7d11610071578063d1af0c7d14610470578063df136d6514610478578063e9fad8ee14610480578063ebe2b12b14610488576101ef565b8063a694fc3a14610426578063c8f33c9114610443578063cc1a378f1461044b578063cd3daf9d14610468576101ef565b80638980f11f116100de5780638980f11f146103c45780638b876347146103f05780638da5cb5b1461041657806391b4ded91461041e576101ef565b806372f702f3146103a457806379ba5097146103ac5780637b0a47ee146103b457806380faa57d146103bc576101ef565b8063386a95251161018757806353a47bb71161015657806353a47bb71461033d578063556f6e6b146103455780635c975abb1461036257806370a082311461037e576101ef565b8063386a9525146102ec5780633c6b16ab146102f45780633d18b912146103115780633fc6df6e14610319576101ef565b806318160ddd116101c357806318160ddd1461029957806319762143146102a15780631c1f78eb146102c75780632e1a7d4d146102cf576101ef565b80628cc262146101f45780630700037d1461022c5780631627540c1461025257806316c38b3c1461027a575b600080fd5b61021a6004803603602081101561020a57600080fd5b50356001600160a01b0316610490565b60408051918252519081900360200190f35b61021a6004803603602081101561024257600080fd5b50356001600160a01b0316610526565b6102786004803603602081101561026857600080fd5b50356001600160a01b0316610538565b005b6102786004803603602081101561029057600080fd5b50351515610594565b61021a61060e565b610278600480360360208110156102b757600080fd5b50356001600160a01b0316610615565b61021a61063f565b610278600480360360208110156102e557600080fd5b503561065d565b61021a6107ff565b6102786004803603602081101561030a57600080fd5b5035610805565b610278610a5b565b610321610b99565b604080516001600160a01b039092168252519081900360200190f35b610321610ba8565b6102786004803603602081101561035b57600080fd5b5035610bb7565b61036a610c21565b604080519115158252519081900360200190f35b61021a6004803603602081101561039457600080fd5b50356001600160a01b0316610c2a565b610321610c45565b610278610c54565b61021a610d10565b61021a610d16565b610278600480360360408110156103da57600080fd5b506001600160a01b038135169060200135610d24565b61021a6004803603602081101561040657600080fd5b50356001600160a01b0316610de1565b610321610df3565b61021a610e02565b6102786004803603602081101561043c57600080fd5b5035610e08565b61021a610fe6565b6102786004803603602081101561046157600080fd5b5035610fec565b61021a61106f565b6103216110c9565b61021a6110dd565b6102786110e3565b61021a611106565b6001600160a01b0381166000908152600d6020908152604080832054600c909252822054610520919061051490670de0b6b3a764000090610508906104e3906104d761106f565b9063ffffffff61110c16565b6001600160a01b0388166000908152600f60205260409020549063ffffffff61116916565b9063ffffffff6111c916565b9063ffffffff61123316565b92915050565b600d6020526000908152604090205481565b61054061128d565b600180546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b61059c61128d565b60055460ff16151581151514156105b25761060b565b6005805460ff1916821515179081905560ff16156105cf57426004555b6005546040805160ff90921615158252517f8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec59181900360200190a15b50565b600e545b90565b61061d61128d565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b600061065860095460085461116990919063ffffffff16565b905090565b60038054600101908190553361067161106f565b600b5561067c610d16565b600a556001600160a01b038116156106c35761069781610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b6000831161070c576040805162461bcd60e51b8152602060048201526011602482015270043616e6e6f74207769746864726177203607c1b604482015290519081900360640190fd5b600e5461071f908463ffffffff61110c16565b600e55336000908152600f6020526040902054610742908463ffffffff61110c16565b336000818152600f602052604090209190915560065461076e916001600160a01b0390911690856112d6565b60408051848152905133917f7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5919081900360200190a25060035481146107fb576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b5050565b60095481565b6002546001600160a01b0316331461084e5760405162461bcd60e51b815260040180806020018281038252602a81526020018061167b602a913960400191505060405180910390fd5b600061085861106f565b600b55610863610d16565b600a556001600160a01b038116156108aa5761087e81610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60075442106108cf576009546108c790839063ffffffff6111c916565b60085561091e565b6007546000906108e5904263ffffffff61110c16565b905060006108fe6008548361116990919063ffffffff16565b60095490915061091890610508868463ffffffff61123316565b60085550505b600554604080516370a0823160e01b8152306004820152905160009261010090046001600160a01b0316916370a08231916024808301926020929190829003018186803b15801561096e57600080fd5b505afa158015610982573d6000803e3d6000fd5b505050506040513d602081101561099857600080fd5b50516009549091506109b190829063ffffffff6111c916565b6008541115610a07576040805162461bcd60e51b815260206004820152601860248201527f50726f76696465642072657761726420746f6f20686967680000000000000000604482015290519081900360640190fd5b42600a819055600954610a20919063ffffffff61123316565b6007556040805184815290517fde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d9181900360200190a1505050565b600380546001019081905533610a6f61106f565b600b55610a7a610d16565b600a556001600160a01b03811615610ac157610a9581610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b336000908152600d60205260409020548015610b4157336000818152600d6020526040812055600554610b0a916101009091046001600160a01b0316908363ffffffff6112d616565b60408051828152905133917fe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486919081900360200190a25b5050600354811461060b576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b6002546001600160a01b031681565b6001546001600160a01b031681565b610bbf61128d565b6000610bc961106f565b600b55610bd4610d16565b600a556001600160a01b03811615610c1b57610bef81610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b50600755565b60055460ff1681565b6001600160a01b03166000908152600f602052604090205490565b6006546001600160a01b031681565b6001546001600160a01b03163314610c9d5760405162461bcd60e51b81526004018080602001828103825260358152602001806115ba6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b60085481565b60006106584260075461132d565b610d2c61128d565b6006546001600160a01b0383811691161415610d795760405162461bcd60e51b81526004018080602001828103825260218152602001806116cf6021913960400191505060405180910390fd5b600054610d99906001600160a01b0384811691168363ffffffff6112d616565b604080516001600160a01b03841681526020810183905281517f8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28929181900390910190a15050565b600c6020526000908152604090205481565b6000546001600160a01b031681565b60045481565b600380546001019081905560055460ff1615610e555760405162461bcd60e51b815260040180806020018281038252603c81526020018061163f603c913960400191505060405180910390fd5b33610e5e61106f565b600b55610e69610d16565b600a556001600160a01b03811615610eb057610e8481610490565b6001600160a01b0382166000908152600d6020908152604080832093909355600b54600c909152919020555b60008311610ef6576040805162461bcd60e51b815260206004820152600e60248201526d043616e6e6f74207374616b6520360941b604482015290519081900360640190fd5b600e54610f09908463ffffffff61123316565b600e55336000908152600f6020526040902054610f2c908463ffffffff61123316565b336000818152600f6020526040902091909155600654610f59916001600160a01b03909116903086611343565b60408051848152905133917f9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d919081900360200190a25060035481146107fb576040805162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c00604482015290519081900360640190fd5b600a5481565b610ff461128d565b60075442116110345760405162461bcd60e51b81526004018080602001828103825260588152602001806115626058913960600191505060405180910390fd5b60098190556040805182815290517ffb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d39181900360200190a150565b6000600e54600014156110855750600b54610612565b6106586110ba600e54610508670de0b6b3a76400006110ae6008546110ae600a546104d7610d16565b9063ffffffff61116916565b600b549063ffffffff61123316565b60055461010090046001600160a01b031681565b600b5481565b336000908152600f60205260409020546110fc9061065d565b611104610a5b565b565b60075481565b600082821115611163576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b60008261117857506000610520565b8282028284828161118557fe5b04146111c25760405162461bcd60e51b815260040180806020018281038252602181526020018061161e6021913960400191505060405180910390fd5b9392505050565b600080821161121f576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161122a57fe5b04949350505050565b6000828201838110156111c2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000546001600160a01b031633146111045760405162461bcd60e51b815260040180806020018281038252602f8152602001806115ef602f913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663a9059cbb60e01b1790526113289084906113a3565b505050565b600081831061133c57816111c2565b5090919050565b604080516001600160a01b0385811660248301528416604482015260648082018490528251808303909101815260849091019091526020810180516001600160e01b03166323b872dd60e01b17905261139d9085906113a3565b50505050565b6113b5826001600160a01b031661155b565b611406576040805162461bcd60e51b815260206004820152601f60248201527f5361666545524332303a2063616c6c20746f206e6f6e2d636f6e747261637400604482015290519081900360640190fd5b60006060836001600160a01b0316836040518082805190602001908083835b602083106114445780518252601f199092019160209182019101611425565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146114a6576040519150601f19603f3d011682016040523d82523d6000602084013e6114ab565b606091505b509150915081611502576040805162461bcd60e51b815260206004820181905260248201527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564604482015290519081900360640190fd5b80511561139d5780806020019051602081101561151e57600080fd5b505161139d5760405162461bcd60e51b815260040180806020018281038252602a8152602001806116a5602a913960400191505060405180910390fd5b3b15159056fe50726576696f7573207265776172647320706572696f64206d75737420626520636f6d706c657465206265666f7265206368616e67696e6720746865206475726174696f6e20666f7220746865206e657720706572696f64596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775468697320616374696f6e2063616e6e6f7420626520706572666f726d6564207768696c652074686520636f6e74726163742069732070617573656443616c6c6572206973206e6f742052657761726473446973747269627574696f6e20636f6e74726163745361666545524332303a204552433230206f7065726174696f6e20646964206e6f74207375636365656443616e6e6f7420776974686472617720746865207374616b696e6720746f6b656ea265627a7a723158206291ea361d5376f11e796506fd5946266871ad697da8cbfcabe9824095f04c3864736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_rewardsToken",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_stakingToken",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bool",
							"name": "isPaused",
							"type": "bool"
						}
					],
					"name": "PauseChanged",
					"type": "event",
					"signature": "0x8fb6c181ee25a520cf3dd6565006ef91229fcfe5a989566c2a3b8c115570cec5"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "token",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Recovered",
					"type": "event",
					"signature": "0x8c1256b8896378cd5044f80c202f9772b9d77dc85c8a6eb51967210b09bfaa28"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardAdded",
					"type": "event",
					"signature": "0xde88a922e0d3b88b24e9623efeb464919c6bf9f66857a65e2bfcf2ce87a9433d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "RewardPaid",
					"type": "event",
					"signature": "0xe2403640ba68fed3a2f88b7557551d1993f84b99bb10ff833f0cf8db0c5e0486"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "newDuration",
							"type": "uint256"
						}
					],
					"name": "RewardsDurationUpdated",
					"type": "event",
					"signature": "0xfb46ca5a5e06d4540d6387b930a7c978bce0db5f449ec6b3f5d07c6e1d44f2d3"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Staked",
					"type": "event",
					"signature": "0x9e71bc8eea02a63969f509818f2dafb9254532904319f9dbda79b67bd34a5f3d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "user",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "Withdrawn",
					"type": "event",
					"signature": "0x7084f5476618d8e60b11ef0d7d3f06914655adb8793e28ff7f018d4c76d505d5"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "balanceOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x70a08231"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "earned",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x008cc262"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "exit",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe9fad8ee"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "getReward",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3d18b912"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getRewardForDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1c1f78eb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastPauseTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x91b4ded9"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastTimeRewardApplicable",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x80faa57d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "lastUpdateTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc8f33c91"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "reward",
							"type": "uint256"
						}
					],
					"name": "notifyRewardAmount",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x3c6b16ab"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "paused",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5c975abb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodFinish",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xebe2b12b"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "tokenAddress",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "tokenAmount",
							"type": "uint256"
						}
					],
					"name": "recoverERC20",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8980f11f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerToken",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xcd3daf9d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardPerTokenStored",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xdf136d65"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7b0a47ee"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "rewards",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0700037d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDistribution",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3fc6df6e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x386a9525"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "rewardsToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd1af0c7d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bool",
							"name": "_paused",
							"type": "bool"
						}
					],
					"name": "setPaused",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x16c38b3c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_rewardsDistribution",
							"type": "address"
						}
					],
					"name": "setRewardsDistribution",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x19762143"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_rewardsDuration",
							"type": "uint256"
						}
					],
					"name": "setRewardsDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xcc1a378f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "stake",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa694fc3a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "stakingToken",
					"outputs": [
						{
							"internalType": "contract IERC20",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x72f702f3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x18160ddd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "updatePeriodFinish",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x556f6e6b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "userRewardPerTokenPaid",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8b876347"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "withdraw",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2e1a7d4d"
				}
			],
			"source": {
				"keccak256": "0x00bd2f2687e707adb11e44b40d542f2a25b2cc5ce44a62673da44910770fc088",
				"urls": [
					"bzz-raw://aa38c95f111087a8eb67390f72db39f401c5746d839761a2e76d6bf14394607d",
					"dweb:/ipfs/QmQQG29hBuC4HFxbmQ4cqKgM9XkGSFTW2nr2a9FWTB8YqF"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"StakingRewards.sol": "StakingRewards"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"StakingRewards.sol": {
						"keccak256": "0x00bd2f2687e707adb11e44b40d542f2a25b2cc5ce44a62673da44910770fc088",
						"urls": [
							"bzz-raw://aa38c95f111087a8eb67390f72db39f401c5746d839761a2e76d6bf14394607d",
							"dweb:/ipfs/QmQQG29hBuC4HFxbmQ4cqKgM9XkGSFTW2nr2a9FWTB8YqF"
						]
					}
				},
				"version": 1
			}
		},
		"BridgeState": {
			"bytecode": "6080604052600a600c5561012c600d556000600e556000600f553480156200002657600080fd5b5060405162002d8238038062002d828339810160408190526200004991620002d9565b80826001600160a01b0381166200007d5760405162461bcd60e51b81526004016200007490620003e6565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000ca918490620003ae565b60405180910390a1506000546001600160a01b0316620000fe5760405162461bcd60e51b81526004016200007490620003d4565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03906200014b9083906200039e565b60405180910390a150604051806080016040528060008152602001428152602001600060405190808252806020026020018201604052801562000198578160200160208202803883390190505b5081526000602091820181905280526008815281517f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c7908155828201517f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c85560408301518051919262000231927f5eff886ea0ce6ca488a3d6e336d6c0f75f46d19b42c06ce5ee98e42c96d256c9929091019062000256565b50606091909101516003909101805460ff191691151591909117905550620004419050565b82805482825590600052602060002090810192821562000294579160200282015b828111156200029457825182559160200191906001019062000277565b50620002a2929150620002a6565b5090565b620002c391905b80821115620002a25760008155600101620002ad565b90565b8051620002d38162000427565b92915050565b60008060408385031215620002ed57600080fd5b6000620002fb8585620002c6565b92505060206200030e85828601620002c6565b9150509250929050565b620003238162000413565b82525050565b620003238162000401565b600062000343601183620003f8565b7013dddb995c881b5d5cdd081899481cd95d607a1b815260200192915050565b600062000372601983620003f8565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b60208101620002d3828462000329565b60408101620003be828562000318565b620003cd602083018462000329565b9392505050565b60208082528101620002d38162000334565b60208082528101620002d38162000363565b90815260200190565b60006001600160a01b038216620002d3565b6000620002d3826000620002d38262000401565b620004328162000401565b81146200043e57600080fd5b50565b61293180620004516000396000f3fe608060405234801561001057600080fd5b50600436106102535760003560e01c80636455c67f116101465780639c50a136116100c3578063da4172ef11610087578063da4172ef146104d6578063e650630d146104de578063eeaf19ad146104e6578063f8fc08b9146104ee578063fc9ff12114610501578063fe9e903f1461050957610253565b80639c50a13614610498578063aa200217146104ab578063aefc4ccb146104be578063b470aade146104c6578063b8c4dd57146104ce57610253565b80637c2d6e011161010a5780637c2d6e01146104445780637e3fd16a146104575780638da5cb5b1461046a578063909f018a1461047257806394a8b4191461048557610253565b80636455c67f146103fb578063663c2dae1461040e5780636a95131614610416578063735b8bbc1461042957806379ba50971461043c57610253565b80633a01662a116101d457806350db3a011161019857806350db3a011461039a57806352f445ca146103ad57806353a47bb7146103c057806359e045aa146103d557806362f0c06b146103e857610253565b80633a01662a1461033957806340a997b61461034c578063481dd7e8146103705780634a73d2311461025857806350b2e57d1461039257610253565b80631e1d164f1161021b5780631e1d164f146102d157806320c39d1c146102f657806336870f4d146102fe5780633711991e1461031e5780633851eb0a1461032657610253565b806303a97279146102585780630a2da178146102815780631627540c14610294578063186f44ed146102a95780631a8ec357146102c9575b600080fd5b61026b610266366004611c45565b61051c565b6040516102789190612645565b60405180910390f35b61026b61028f366004611c27565b610592565b6102a76102a2366004611c27565b6105ff565b005b6102bc6102b7366004611c7f565b61065d565b60405161027891906127e1565b61026b610698565b6102e46102df366004611f35565b6106f1565b6040516102789695949392919061259e565b6102bc61076f565b61031161030c366004611ea4565b610775565b6040516102789190612656565b6102bc6107a0565b61026b610334366004611f35565b6107a6565b610311610347366004611f83565b610809565b61035f61035a366004611f35565b610829565b6040516102789594939291906125f9565b61038361037e366004611f35565b610899565b6040516102789392919061280a565b6102bc6108bd565b6102a76103a8366004611d2d565b6108c3565b6102a76103bb366004611c27565b610946565b6103c8610999565b6040516102789190612575565b6102bc6103e3366004611f83565b6109a8565b6102a76103f6366004611ccc565b6109c5565b6102a7610409366004611f35565b610a0f565b6102bc610bed565b6102a7610424366004611ed4565b610bf3565b6102bc610437366004611c45565b610c5d565b6102a7610c8b565b6102a7610452366004611f35565b610d27565b6102a7610465366004611da2565b610d54565b6103c8610e70565b6102a7610480366004611f83565b610e7f565b6102bc610493366004611f83565b61109a565b6102a76104a6366004611f53565b6110b7565b6103116104b9366004611f35565b611117565b6103c861112c565b6102bc61113b565b6102bc611141565b6102bc611147565b6102a761114d565b6102bc6111c4565b6103116104fc366004611ea4565b6111ca565b6102bc6111ea565b6102a7610517366004611f35565b6111f0565b6001600160a01b038216600090815260056020908152604080832084845282529182902080548351818402810184019094528084526060939283018282801561058457602002820191906000526020600020905b815481526020019060010190808311610570575b505050505090505b92915050565b6001600160a01b0381166000908152600660209081526040918290208054835181840281018401909452808452606093928301828280156105f257602002820191906000526020600020905b8154815260200190600101908083116105de575b505050505090505b919050565b61060761121d565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce2290610652908390612575565b60405180910390a150565b6005602052826000526040600020602052816000526040600020818154811061068257fe5b9060005260206000200160009250925050505481565b606060098054806020026020016040519081016040528092919081815260200182805480156106e657602002820191906000526020600020905b8154815260200190600101908083116106d2575b505050505090505b90565b600a81815481106106fe57fe5b600091825260209182902060089091020180546001820154600283015460038401546004850154604080516060810182526005880154815260068801549881019890985260079096015460ff908116968801969096526001600160a01b039094169650919490939192919091169086565b600a5490565b60009182526003602090815260408084206001600160a01b0393909316845291905290205460ff1690565b600f5481565b6000818152600860209081526040918290206002018054835181840281018401909452808452606093928301828280156105f257602002820191906000526020600020908154815260200190600101908083116105de5750505050509050919050565b600760209081526000928352604080842090915290825290205460ff1681565b600b818154811061083657fe5b60009182526020918290206007909102018054600182015460028301546003840154604080516060810182526004870154815260058701549781019790975260069095015460ff16948601949094526001600160a01b0390921694509290919085565b60086020526000908152604090208054600182015460039092015490919060ff1683565b600b5490565b3360009081526000805160206128cf833981519152602052604090205460ff166109085760405162461bcd60e51b81526004016108ff906127c1565b60405180910390fd5b6109238585858561091e36879003870187611f17565b611247565b61093f5760405162461bcd60e51b81526004016108ff90612791565b5050505050565b61094e61121d565b600280546001600160a01b0319166001600160a01b0383161790556040517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e0390610652908390612575565b6001546001600160a01b031681565b601160209081526000928352604080842090915290825290205481565b6002546001600160a01b031633146109ef5760405162461bcd60e51b81526004016108ff90612751565b610a09848484610a0436869003860186611f17565b6114aa565b50505050565b3360009081526000805160206128cf833981519152602052604090205460ff16610a4b5760405162461bcd60e51b81526004016108ff906127c1565b600081815260086020526040902060010154610a795760405162461bcd60e51b81526004016108ff906126f1565b610a82816117ad565b610a9e5760405162461bcd60e51b81526004016108ff90612761565b60008181526008602052604090206003015460ff1615610ad05760405162461bcd60e51b81526004016108ff906127b1565b60096000805b8254811015610b0d5783838281548110610aec57fe5b90600052602060002001541415610b0557809150610b0d565b600101610ad6565b50815460001901811015610b6657805b825460001901811015610b6457828160010181548110610b3957fe5b9060005260206000200154838281548110610b5057fe5b600091825260209091200155600101610b1d565b505b815482906000198101908110610b7857fe5b60009182526020822001558154610b93836000198301611a6f565b5060008381526008602052604090819020600301805460ff19166001179055517f7ade90a30921855a6ca1079e6ef718e03ede0902f7ba6bc5db995b3259299c6090610be09085906127e1565b60405180910390a1505050565b600e5490565b610bfb61121d565b60008381526003602090815260408083206001600160a01b038616845290915290819020805460ff1916831515179055517f332a909457a11d98527bfc5a73912903b22c710ff0f6fd05d8fbec4330de728990610be090859085908590612664565b60066020528160005260406000208181548110610c7657fe5b90600052602060002001600091509150505481565b6001546001600160a01b03163314610cb55760405162461bcd60e51b81526004016108ff906126c1565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610cf8926001600160a01b0391821692911690612583565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b610d2f61121d565b60008111610d4f5760405162461bcd60e51b81526004016108ff90612721565b600d55565b3360009081526000805160206128cf833981519152602052604090205460ff16610d905760405162461bcd60e51b81526004016108ff906127c1565b8689148015610d9e57508489145b8015610da957508289145b8015610db457508089145b610dd05760405162461bcd60e51b81526004016108ff90612731565b60005b89811015610e6357610e5a8b8b83818110610dea57fe5b9050602002016020610dff9190810190611c27565b8a8a84818110610e0b57fe5b90506020020135898985818110610e1e57fe5b90506020020135888886818110610e3157fe5b90506020020135878787818110610e4457fe5b90506060020180360361091e9190810190611f17565b50600101610dd3565b5050505050505050505050565b6000546001600160a01b031681565b6002546001600160a01b03163314610ea95760405162461bcd60e51b81526004016108ff90612751565b6000600a8381548110610eb857fe5b60009182526020909120600890910201600481015490915060ff1615610ef05760405162461bcd60e51b81526004016108ff906127a1565b8054604051610f40916001600160a01b031690610f11908590602001612569565b60408051601f19818403018152919052805160209091012060058401546006850154600786015460ff166117f5565b610f5c5760405162461bcd60e51b81526004016108ff90612781565b60048101805460ff19166001179055600f54610f7e908363ffffffff61182216565b600f556040517f1dc67d0d3096a397c2e4b90881a4423dd7e4de587a85153ea174286382463c2790610fb19085906127e1565b60405180910390a180546001600160a01b0316600090815260066020526040812090805b825481101561100c5785838281548110610feb57fe5b906000526020600020015414156110045780915061100c565b600101610fd5565b5081546000190181101561106557805b8254600019018110156110635782816001018154811061103857fe5b906000526020600020015483828154811061104f57fe5b60009182526020909120015560010161101c565b505b81548290600019810190811061107757fe5b60009182526020822001558154611092836000198301611a6f565b505050505050565b600091825260116020908152604080842092845291905290205490565b6110bf61121d565b60008281526004602052604090819020805460ff1916831515179055517fa6159d868cefcb0936fdbddf19e6303992256944fd4ea432eb0d533309aaa58c9061110b90849084906127ef565b60405180910390a15050565b60046020526000908152604090205460ff1681565b6002546001600160a01b031681565b600d5481565b600c5481565b60105481565b3360009081526000805160206128cf833981519152602052604090205460ff166111895760405162461bcd60e51b81526004016108ff906127c1565b6010546000908152600860205260409020600201546111ba5760405162461bcd60e51b81526004016108ff906127d1565b6111c261184e565b565b600e5481565b600360209081526000928352604080842090915290825290205460ff1681565b600f5490565b6111f861121d565b600081116112185760405162461bcd60e51b81526004016108ff90612741565b600c55565b6000546001600160a01b031633146111c25760405162461bcd60e51b81526004016108ff90612711565b600083815260076020908152604080832085845290915281205460ff16156112815760405162461bcd60e51b81526004016108ff90612771565b600160076000868152602001908152602001600020600085815260200190815260200160002060006101000a81548160ff0219169083151502179055506000600a805490509050600a6040518060c00160405280896001600160a01b03168152602001888152602001878152602001868152602001600015158152602001858152509080600181540180825580915050906001820390600052602060002090600802016000909192909190915060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010155604082015181600201556060820151816003015560808201518160040160006101000a81548160ff02191690831515021790555060a082015181600501600082015181600001556020820151816001015560408201518160020160006101000a81548160ff021916908360ff160217905550505050505060066000886001600160a01b03166001600160a01b0316815260200190815260200160002081908060018154018082558091505090600182039060005260206000200160009091929091909150555061146d866011600080600181111561143f57fe5b815260200190815260200160002060008881526020019081526020016000205461182290919063ffffffff16565b60008681527f4ad3b33220dddc71b994a52d72c06b10862965f7d926534c05c00fb7e819e7b7602052604090205550600190505b95945050505050565b60008281526004602052604090205460ff166114d85760405162461bcd60e51b81526004016108ff90612701565b600b80546001600160a01b03868116600081815260056020908152604080832060108054855290835281842080546001808201835591865284862001889055825160a0810184529586528584018c81528684018c8152925460608801908152608088018c81528b549384018c559a90965295517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01db9600790920291820180546001600160a01b031916919098161790965593517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dba86015592517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbb85015590517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbc840155935180517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbd840155938401517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbe83015592909201517f0175b7a638427703f0dbe7bb9bbf987a2551717b34e79f33b5b1008d1fa01dbf909201805460ff191660ff90931692909217909155600e546116929085611822565b600e5560008381527f17bc176d2408558f6e4111feebc3cab4e16b63e967be91cde721f4c8a488b55260205260409020546116d3908563ffffffff61182216565b60008481527f17bc176d2408558f6e4111feebc3cab4e16b63e967be91cde721f4c8a488b55260209081526040808320939093556010548252600890522060020154611732576010546000908152600860205260409020426001909101555b60108054600090815260086020908152604080832060020180546001810182559084529190922001839055905490516001600160a01b038716917f87d832bd33d2f45e5e10d77d6bb119af690faef79aa2e4b36ca7b953baf472719161179d91889188918791612825565b60405180910390a261093f611950565b6000805b6009548110156117ec5782600982815481106117c957fe5b906000526020600020015414156117e45760019150506105fa565b6001016117b1565b50600092915050565b600061180385858585611965565b6001600160a01b0316866001600160a01b031614905095945050505050565b6000828201838110156118475760405162461bcd60e51b81526004016108ff906126d1565b9392505050565b601054600980546001810182556000919091527f6e1540171b6c0c960b71a7020d9f60077f6af931a8bbf590da0223dacf75c7af018190556040517f5263beccfd97c2947207bf7254d7c0c216431d4b9cea8c9b3371e8187020851b916118b4916127e1565b60405180910390a16010546118d090600163ffffffff61182216565b601081905560408051608081018252828152426020808301918252835160008082528183018652848601918252606085018190529586526008825293909420825181559051600182015591518051919361193292600285019290910190611a98565b50606091909101516003909101805460ff1916911515919091179055565b6119586119ec565b156111c2576111c261184e565b600080856040516020016119799190612549565b604051602081830303815290604052805190602001209050600181848787604051600081526020016040526040516119b4949392919061268c565b6020604051602081039080840390855afa1580156119d6573d6000803e3d6000fd5b505050602060405103519150505b949350505050565b60105460009081526008602052604081206001810154600c54600290920154909111611a1c5760019150506106ee565b600d54611a2f428363ffffffff611a4716565b1115611a3f5760019150506106ee565b600091505090565b600082821115611a695760405162461bcd60e51b81526004016108ff906126e1565b50900390565b815481835581811115611a9357600083815260209020611a93918101908301611ae3565b505050565b828054828255906000526020600020908101928215611ad3579160200282015b82811115611ad3578251825591602001919060010190611ab8565b50611adf929150611ae3565b5090565b6106ee91905b80821115611adf5760008155600101611ae9565b803561058c8161289c565b60008083601f840112611b1a57600080fd5b50813567ffffffffffffffff811115611b3257600080fd5b602083019150836020820283011115611b4a57600080fd5b9250929050565b60008083601f840112611b6357600080fd5b50813567ffffffffffffffff811115611b7b57600080fd5b602083019150836060820283011115611b4a57600080fd5b803561058c816128b3565b803561058c816128bc565b600060608284031215611bbb57600080fd5b50919050565b600060608284031215611bd357600080fd5b611bdd6060612840565b90506000611beb8484611b9e565b8252506020611bfc84848301611b9e565b6020830152506040611c1084828501611c1c565b60408301525092915050565b803561058c816128c5565b600060208284031215611c3957600080fd5b60006119e48484611afd565b60008060408385031215611c5857600080fd5b6000611c648585611afd565b9250506020611c7585828601611b9e565b9150509250929050565b600080600060608486031215611c9457600080fd5b6000611ca08686611afd565b9350506020611cb186828701611b9e565b9250506040611cc286828701611b9e565b9150509250925092565b60008060008060c08587031215611ce257600080fd5b6000611cee8787611afd565b9450506020611cff87828801611b9e565b9350506040611d1087828801611b9e565b9250506060611d2187828801611ba9565b91505092959194509250565b600080600080600060e08688031215611d4557600080fd5b6000611d518888611afd565b9550506020611d6288828901611b9e565b9450506040611d7388828901611b9e565b9350506060611d8488828901611b9e565b9250506080611d9588828901611ba9565b9150509295509295909350565b60008060008060008060008060008060a08b8d031215611dc157600080fd5b8a3567ffffffffffffffff811115611dd857600080fd5b611de48d828e01611b08565b9a509a505060208b013567ffffffffffffffff811115611e0357600080fd5b611e0f8d828e01611b08565b985098505060408b013567ffffffffffffffff811115611e2e57600080fd5b611e3a8d828e01611b08565b965096505060608b013567ffffffffffffffff811115611e5957600080fd5b611e658d828e01611b08565b945094505060808b013567ffffffffffffffff811115611e8457600080fd5b611e908d828e01611b51565b92509250509295989b9194979a5092959850565b60008060408385031215611eb757600080fd5b6000611ec38585611b9e565b9250506020611c7585828601611afd565b600080600060608486031215611ee957600080fd5b6000611ef58686611b9e565b9350506020611f0686828701611afd565b9250506040611cc286828701611b93565b600060608284031215611f2957600080fd5b60006119e48484611bc1565b600060208284031215611f4757600080fd5b60006119e48484611b9e565b60008060408385031215611f6657600080fd5b6000611f728585611b9e565b9250506020611c7585828601611b93565b60008060408385031215611f9657600080fd5b6000611c648585611b9e565b6000611fae8383612027565b505060200190565b611fbf8161287a565b82525050565b6000611fd08261286d565b611fda8185612871565b9350611fe583612867565b8060005b83811015612013578151611ffd8882611fa2565b975061200883612867565b925050600101611fe9565b509495945050505050565b611fbf81612885565b611fbf816106ee565b611fbf61203c826106ee565b6106ee565b600061204e603583612871565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527402063616e20616363657074206f776e65727368697605c1b602082015260400192915050565b60006120a5601c836105fa565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c0192915050565b60006120de601b83612871565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b6000612117601e83612871565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612150602183612871565b7f5468697320706572696f64206964206973206e6f7420737461727465642079658152601d60fa1b602082015260400192915050565b6000612193601683612871565b75496e76616c696420746172676574206e6574776f726b60501b815260200192915050565b60006121c5602f83612871565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681526e37b936903a3434b99030b1ba34b7b760891b602082015260400192915050565b6000612216601383612871565b7254696d652063616e6e6f74206265207a65726f60681b815260200192915050565b6000612245601b83612871565b7f496e707574206c656e677468206973206e6f74206d6174636865640000000000815260200192915050565b600061227e601e83612871565b7f4e756d6265722073686f756c64206c6172676572207468616e207a65726f0000815260200192915050565b60006122b7603483612871565b7f4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e815273103832b93337b936903a3434b99030b1ba34b7b760611b602082015260400192915050565b600061230d602183612871565b7f506572696f64206973206e6f74206f6e207468652070726f63657373206c69738152601d60fa1b602082015260400192915050565b6000612350602b83612871565b7f5265717565737420696420697320616c7265616479207265676973746572656481526a081d1bc81a5b989bdd5b9960aa1b602082015260400192915050565b600061239d601d83612871565b7f746865207369676e6174757265206973206e6f74207665726966696564000000815260200192915050565b60006123d6601883612871565b7f417070656e6420696e626f756e64696e67206661696c65640000000000000000815260200192915050565b600061240f602883612871565b7f5468697320696e626f756e64696e672068617320616c7265616479206265656e8152670818db185a5b595960c21b602082015260400192915050565b6000612459602183612871565b7f506572696f642068617320616c7265616479206265656e2070726f63657373658152601960fa1b602082015260400192915050565b600061249c601783612871565b7f43616c6c6572206973206e6f742076616c696461746f72000000000000000000815260200192915050565b60006124d5602383612871565b7f4e6f206f7574626f756e64696e67207265717565737420697320696e207065728152621a5bd960ea1b602082015260400192915050565b8051606083019061251e8482612027565b5060208201516125316020850182612027565b506040820151610a0960408501825b611fbf81612896565b600061255482612098565b91506125608284612030565b50602001919050565b60006125608284612030565b6020810161058c8284611fb6565b604081016125918285611fb6565b6118476020830184611fb6565b61010081016125ad8289611fb6565b6125ba6020830188612027565b6125c76040830187612027565b6125d46060830186612027565b6125e1608083018561201e565b6125ee60a083018461250d565b979650505050505050565b60e081016126078288611fb6565b6126146020830187612027565b6126216040830186612027565b61262e6060830185612027565b61263b608083018461250d565b9695505050505050565b602080825281016118478184611fc5565b6020810161058c828461201e565b606081016126728286612027565b61267f6020830185611fb6565b6119e4604083018461201e565b6080810161269a8287612027565b6126a76020830186612540565b6126b46040830185612027565b6114a16060830184612027565b6020808252810161058c81612041565b6020808252810161058c816120d1565b6020808252810161058c8161210a565b6020808252810161058c81612143565b6020808252810161058c81612186565b6020808252810161058c816121b8565b6020808252810161058c81612209565b6020808252810161058c81612238565b6020808252810161058c81612271565b6020808252810161058c816122aa565b6020808252810161058c81612300565b6020808252810161058c81612343565b6020808252810161058c81612390565b6020808252810161058c816123c9565b6020808252810161058c81612402565b6020808252810161058c8161244c565b6020808252810161058c8161248f565b6020808252810161058c816124c8565b6020810161058c8284612027565b604081016127fd8285612027565b611847602083018461201e565b606081016128188286612027565b61267f6020830185612027565b608081016128338287612027565b6126a76020830186612027565b60405181810167ffffffffffffffff8111828210171561285f57600080fd5b604052919050565b60200190565b5190565b90815260200190565b600061058c8261288a565b151590565b6001600160a01b031690565b60ff1690565b6128a58161287a565b81146128b057600080fd5b50565b6128a581612885565b6128a5816106ee565b6128a58161289656fe6e26ed6241e2631dd5af774c1dcc7fd99eac19a8518cd3b9253a8b0c57950ec7a365627a7a7231582007ff990a075c098b41ab2be35a351672f15d014608952e7f7a4e182e1e0d8a336c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "associatedContract",
							"type": "address"
						}
					],
					"name": "AssociatedContractUpdated",
					"type": "event",
					"signature": "0x73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e03"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcChainId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcOutboundingId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "inboundId",
							"type": "uint256"
						}
					],
					"name": "InboundingAppended",
					"type": "event",
					"signature": "0x2ebeb3706ca5c1d47a81a4600f800f0a93e0504a8bae279764b4ef7bc7a83967"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "inboundId",
							"type": "uint256"
						}
					],
					"name": "InboundingClaimed",
					"type": "event",
					"signature": "0x1dc67d0d3096a397c2e4b90881a4423dd7e4de587a85153ea174286382463c27"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "chainId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "changedTo",
							"type": "bool"
						}
					],
					"name": "NetworkStatusChanged",
					"type": "event",
					"signature": "0xa6159d868cefcb0936fdbddf19e6303992256944fd4ea432eb0d533309aaa58c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": true,
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destChainId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "outboundId",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "OutboundingAppended",
					"type": "event",
					"signature": "0x87d832bd33d2f45e5e10d77d6bb119af690faef79aa2e4b36ca7b953baf47271"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "oldOwner",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerChanged",
					"type": "event",
					"signature": "0xb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "address",
							"name": "newOwner",
							"type": "address"
						}
					],
					"name": "OwnerNominated",
					"type": "event",
					"signature": "0x906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "PeriodClosed",
					"type": "event",
					"signature": "0x5263beccfd97c2947207bf7254d7c0c216431d4b9cea8c9b3371e8187020851b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						}
					],
					"name": "PeriodProcessed",
					"type": "event",
					"signature": "0x7ade90a30921855a6ca1079e6ef718e03ede0902f7ba6bc5db995b3259299c60"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "role",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "target",
							"type": "address"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "set",
							"type": "bool"
						}
					],
					"name": "SetRole",
					"type": "event",
					"signature": "0x332a909457a11d98527bfc5a73912903b22c710ff0f6fd05d8fbec4330de7289"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountInboundings",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x735b8bbc"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "accountOutboundings",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x186f44ed"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_period",
							"type": "uint256"
						}
					],
					"name": "accountOutboundingsInPeriod",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4a73d231"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_srcChainId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_srcOutboundingId",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature",
							"name": "_sign",
							"type": "tuple"
						}
					],
					"name": "appendInboundingRequest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x50db3a01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address[]",
							"name": "_accounts",
							"type": "address[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_srcChainIds",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_srcOutboundingIds",
							"type": "uint256[]"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature[]",
							"name": "_sign",
							"type": "tuple[]"
						}
					],
					"name": "appendMultipleInboundingRequests",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7e3fd16a"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_destChainIds",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature",
							"name": "_sign",
							"type": "tuple"
						}
					],
					"name": "appendOutboundingRequest",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x62f0c06b"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "applicableInboundIds",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0a2da178"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_index",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "claimInbound",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x909f018a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "closeOutboundPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xe650630d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentOutboundPeriodId",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xda4172ef"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_inboundOutbound",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "targetNetworkId",
							"type": "uint256"
						}
					],
					"name": "getMovedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x94a8b419"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTotalInboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfc9ff121"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTotalOutboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x663c2dae"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "inboundings",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "srcChainId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "srcOutboundingId",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "claimed",
							"type": "bool"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature",
							"name": "sign",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1e1d164f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "inboundingsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x20c39d1c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_roleKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						}
					],
					"name": "isOnRole",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x36870f4d"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "movedAmounts",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x59e045aa"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "networkOpened",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaa200217"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "numberOfOutboundPerPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb8c4dd57"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_outboundPeriodId",
							"type": "uint256"
						}
					],
					"name": "outboundIdsInPeriod",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3851eb0a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "outboundPeriods",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "startTime",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "processed",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x481dd7e8"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "_account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_periodId",
							"type": "uint256"
						}
					],
					"name": "outboundRequestIdsInPeriod",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x03a97279"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "outboundings",
					"outputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "destChainId",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "periodId",
							"type": "uint256"
						},
						{
							"components": [
								{
									"internalType": "bytes32",
									"name": "r",
									"type": "bytes32"
								},
								{
									"internalType": "bytes32",
									"name": "s",
									"type": "bytes32"
								},
								{
									"internalType": "uint8",
									"name": "v",
									"type": "uint8"
								}
							],
							"internalType": "struct BridgeState.Signature",
							"name": "sign",
							"type": "tuple"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x40a997b6"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "outboundingsLength",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x50b2e57d"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodDuration",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb470aade"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "periodIdsToProcess",
					"outputs": [
						{
							"internalType": "uint256[]",
							"name": "",
							"type": "uint256[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a8ec357"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_outboundPeriodId",
							"type": "uint256"
						}
					],
					"name": "processOutboundPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6455c67f"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"name": "roles",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf8fc08b9"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						}
					],
					"name": "setAssociatedContract",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x52f445ca"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_chainId",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "_setTo",
							"type": "bool"
						}
					],
					"name": "setNetworkStatus",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x9c50a136"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_number",
							"type": "uint256"
						}
					],
					"name": "setNumberOfOutboundPerPeriod",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xfe9e903f"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_time",
							"type": "uint256"
						}
					],
					"name": "setPeriodDuration",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x7c2d6e01"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "_roleKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "_target",
							"type": "address"
						},
						{
							"internalType": "bool",
							"name": "_set",
							"type": "bool"
						}
					],
					"name": "setRole",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a951316"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"name": "srcOutboundingIdRegistered",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3a01662a"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalInboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3711991e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "totalOutboundAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xeeaf19ad"
				}
			],
			"source": {
				"keccak256": "0xa5692622bc2d9a479a6a0ef279d70768286f58eeaed9442489430c8f4ca498c5",
				"urls": [
					"bzz-raw://5482c27f39e1bddb19164cca917cf7aeb650bf0f9f0fc5b4624dcebf6e0e3056",
					"dweb:/ipfs/QmXSrMghUFAz1V8yEFjHFfs5FJUpxrR9q8ZcHmNMarnUbh"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"BridgeState.sol": "BridgeState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 200
					},
					"remappings": []
				},
				"sources": {
					"BridgeState.sol": {
						"keccak256": "0xa5692622bc2d9a479a6a0ef279d70768286f58eeaed9442489430c8f4ca498c5",
						"urls": [
							"bzz-raw://5482c27f39e1bddb19164cca917cf7aeb650bf0f9f0fc5b4624dcebf6e0e3056",
							"dweb:/ipfs/QmXSrMghUFAz1V8yEFjHFfs5FJUpxrR9q8ZcHmNMarnUbh"
						]
					}
				},
				"version": 1
			}
		},
		"CrossChainState": {
			"bytecode": "608060405234801561001057600080fd5b50604051610f9f380380610f9f8339818101604052606081101561003357600080fd5b508051602082015160409092015190919081836001600160a01b0381166100a1576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1506000546001600160a01b031661014b576040805162461bcd60e51b815260206004820152601160248201527013dddb995c881b5d5cdd081899481cd95d607a1b604482015290519081900360640190fd5b600280546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a1506003555050610dee806101b16000396000f3fe608060405234801561001057600080fd5b50600436106101515760003560e01c806379ba5097116100cd578063aefc4ccb11610081578063dff4848811610066578063dff4848814610401578063f14c44ed1461041e578063fac0d5411461053257610151565b8063aefc4ccb146103f1578063b076f08b146103f957610151565b80638da5cb5b116100b25780638da5cb5b146103be578063a872485c146103c6578063ac96603e146103e957610151565b806379ba5097146103ae5780637f553513146103b657610151565b806352f445ca1161012457806353fb3b0d1161010957806353fb3b0d146102c7578063564b81ef146103895780636bc60d041461039157610151565b806352f445ca1461027d57806353a47bb7146102a357610151565b80630a5407fd146101565780631627540c1461021a578063385bb1a3146102405780633eb7671514610263575b600080fd5b6102186004803603604081101561016c57600080fd5b81019060208101813564010000000081111561018757600080fd5b82018360208201111561019957600080fd5b803590602001918460208302840111640100000000831117156101bb57600080fd5b9193909290916020810190356401000000008111156101d957600080fd5b8201836020820111156101eb57600080fd5b8035906020019184602083028401116401000000008311171561020d57600080fd5b50909250905061053a565b005b6102186004803603602081101561023057600080fd5b50356001600160a01b0316610606565b6102186004803603604081101561025657600080fd5b508035906020013561066f565b61026b61077a565b60408051918252519081900360200190f35b6102186004803603602081101561029357600080fd5b50356001600160a01b0316610780565b6102ab6107e9565b604080516001600160a01b039092168252519081900360200190f35b610218600480360360408110156102dd57600080fd5b8101906020810181356401000000008111156102f857600080fd5b82018360208201111561030a57600080fd5b8035906020019184602083028401116401000000008311171561032c57600080fd5b91939092909160208101903564010000000081111561034a57600080fd5b82018360208201111561035c57600080fd5b8035906020019184602083028401116401000000008311171561037e57600080fd5b5090925090506107f8565b61026b6108bd565b610218600480360360208110156103a757600080fd5b50356108c3565b61021861091c565b61026b6109e5565b6102ab610a03565b610218600480360360408110156103dc57600080fd5b5080359060200135610a12565b61026b610a8b565b6102ab610a91565b61026b610aa0565b6102186004803603602081101561041757600080fd5b5035610aa6565b6102186004803603608081101561043457600080fd5b81019060208101813564010000000081111561044f57600080fd5b82018360208201111561046157600080fd5b8035906020019184602083028401116401000000008311171561048357600080fd5b9193909290916020810190356401000000008111156104a157600080fd5b8201836020820111156104b357600080fd5b803590602001918460208302840111640100000000831117156104d557600080fd5b9193909290916020810190356401000000008111156104f357600080fd5b82018360208201111561050557600080fd5b8035906020019184602083028401116401000000008311171561052757600080fd5b919350915035610af4565b61026b610ba6565b6002546001600160a01b031633146105835760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b600060068190555b838110156105ff576003548585838181106105a257fe5b9050602002013514156105cc578282828181106105bb57fe5b6020029190910135600855506105f7565b6105f38383838181106105db57fe5b90506020020135600654610bac90919063ffffffff16565b6006555b60010161058b565b5050505050565b61060e610c0d565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6002546001600160a01b031633146106b85760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b60035482141561071e578060075410156107035760405162461bcd60e51b8152600401808060200182810382526037815260200180610d836037913960400191505060405180910390fd5b600754610716908263ffffffff610c5816565b600755610776565b80600554101561075f5760405162461bcd60e51b8152600401808060200182810382526035815260200180610d4e6035913960400191505060405180910390fd5b600554610772908263ffffffff610c5816565b6005555b5050565b60055490565b610788610c0d565b600280546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f73f20cff579e8a4086fa607db83867595f1b6a798e718c0bfa0b94a404128e039181900360200190a150565b6001546001600160a01b031681565b6002546001600160a01b031633146108415760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b600060058190555b838110156105ff5760035485858381811061086057fe5b90506020020135141561088a5782828281811061087957fe5b6020029190910135600755506108b5565b6108b183838381811061089957fe5b90506020020135600554610bac90919063ffffffff16565b6005555b600101610849565b60035490565b6002546001600160a01b0316331461090c5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b6007546109195760078190555b50565b6001546001600160a01b031633146109655760405162461bcd60e51b8152600401808060200182810382526035815260200180610cb66035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60006109fe600754600554610bac90919063ffffffff16565b905090565b6000546001600160a01b031681565b6002546001600160a01b03163314610a5b5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b600354821415610a7857600754610716908263ffffffff610bac16565b600554610772908263ffffffff610bac16565b60045490565b6002546001600160a01b031681565b60075490565b6002546001600160a01b03163314610aef5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b600455565b6002546001600160a01b03163314610b3d5760405162461bcd60e51b8152600401808060200182810382526034815260200180610d1a6034913960400191505060405180910390fd5b6000600581905560068190555b86811015610b9a57600354888883818110610b6157fe5b9050602002013514610b9257610b7c86868381811061089957fe5b600555610b8e8484838181106105db57fe5b6006555b600101610b4a565b50600455505050505050565b60065490565b600082820183811015610c06576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6000546001600160a01b03163314610c565760405162461bcd60e51b815260040180806020018281038252602f815260200180610ceb602f913960400191505060405180910390fd5b565b600082821115610caf576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b5090039056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e4f6e6c7920746865206173736f63696174656420636f6e74726163742063616e20706572666f726d207468697320616374696f6e7375627472616374656420616d6f756e7420657863656564732063726f7373206e6574776f726b27732069737375656420646562747375627472616374656420616d6f756e7420657863656564732063757272656e74206e6574776f726b2773206973737565642064656274a265627a7a72315820624f94a7f46800313d6a5ce00f98954982ebd6c7ce67ae253daddd65e47db04a64736f6c63430005100032",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_associatedContract",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "_chainId",
							"type": "uint256"
						}
					],
					"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": "_chainID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "addIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xa872485c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "associatedContract",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xaefc4ccb"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getChainID",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x564b81ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCrossNetworkActiveDebtAll",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xfac0d541"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCrossNetworkIssuedDebtAll",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x3eb76715"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getCurrentNetworkIssuedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb076f08b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getOutboundSumToCurrentNetwork",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xac96603e"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getTotalNetworkIssuedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7f553513"
				},
				{
					"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": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						}
					],
					"name": "setCrossNetworkActiveDebtAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a5407fd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_debts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_activeDebts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "_inbound",
							"type": "uint256"
						}
					],
					"name": "setCrossNetworkDebtsAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf14c44ed"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						}
					],
					"name": "setCrossNetworkIssuedDebtAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x53fb3b0d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setInitialCurrentIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6bc60d04"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setOutboundSumToCurrentNetwork",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdff48488"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_chainID",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "subtractIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x385bb1a3"
				}
			],
			"source": {
				"keccak256": "0xd4de0d8894fb38842a778288586b6ce1e62daac432c7e6a8c5d5faf91da3305b",
				"urls": [
					"bzz-raw://ec50f62867c7ae8136cf1d869041f0f0afda3911220e550028ee6ebab92943d9",
					"dweb:/ipfs/QmSzYdcVC4U2jR4AmegpUVBX3m4zFPptUNS2L7Xrx5soFF"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CrossChainState.sol": "CrossChainState"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CrossChainState.sol": {
						"keccak256": "0xd4de0d8894fb38842a778288586b6ce1e62daac432c7e6a8c5d5faf91da3305b",
						"urls": [
							"bzz-raw://ec50f62867c7ae8136cf1d869041f0f0afda3911220e550028ee6ebab92943d9",
							"dweb:/ipfs/QmSzYdcVC4U2jR4AmegpUVBX3m4zFPptUNS2L7Xrx5soFF"
						]
					}
				},
				"version": 1
			}
		},
		"CrossChainManager": {
			"bytecode": "60806040523480156200001157600080fd5b50604051620030b3380380620030b3833981016040819052620000349162000130565b6212750083856001600160a01b0381166200006c5760405162461bcd60e51b8152600401620000639062000217565b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383161781556040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c91620000b9918490620001f1565b60405180910390a150600280546001600160a01b03199081166001600160a01b039384161790915542928301600455600580548216958316959095179094556006805490941692169190911790915560075550506008805460ff1916905562000272565b80516200012a8162000258565b92915050565b600080600080608085870312156200014757600080fd5b60006200015587876200011d565b945050602062000168878288016200011d565b93505060406200017b878288016200011d565b92505060606200018e878288016200011d565b91505092959194509250565b620001a58162000244565b82525050565b620001a58162000232565b6000620001c560198362000229565b7f4f776e657220616464726573732063616e6e6f74206265203000000000000000815260200192915050565b604081016200020182856200019a565b620002106020830184620001ab565b9392505050565b602080825281016200012a81620001b6565b90815260200190565b60006001600160a01b0382166200012a565b60006200012a8260006200012a8262000232565b620002638162000232565b81146200026f57600080fd5b50565b612e3180620002826000396000f3fe608060405234801561001057600080fd5b50600436106102c85760003560e01c80636b42e5b31161017b5780639bdd7ac7116100d8578063d9a63c011161008c578063e4c16da311610071578063e4c16da3146104dc578063f14c44ed146104e4578063f2de2dee146104f7576102c8565b8063d9a63c01146104c1578063dff48488146104c9576102c8565b8063b265e218116100bd578063b265e2181461049e578063cc5c095c146104a6578063d5495e06146104ae576102c8565b80639bdd7ac71461048e578063a02a406914610496576102c8565b8063884a48bc1161012f578063899ffef411610114578063899ffef41461045e5780638bfc007c146104735780638da5cb5b14610486576102c8565b8063884a48bc14610438578063889716011461044b576102c8565b806378a52a9c1161016057806378a52a9c1461041557806379ba50971461041d57806384e2c11614610425576102c8565b80636b42e5b314610405578063741853601461040d576102c8565b806340f68cdd116102295780635082fa3f116101dd57806353fb3b0d116101c257806353fb3b0d146103e2578063564b81ef146103f557806360b3a033146103fd576102c8565b80635082fa3f146103c557806353a47bb7146103da576102c8565b806346b45af71161020e57806346b45af7146103a257806346ba2d90146103aa5780634e03d640146103b2576102c8565b806340f68cdd1461038c57806343d37e0c1461039a576102c8565b806315712139116102805780631a26f447116102655780631a26f4471461036f5780632a222dfe146103495780632af64bd314610384576102c8565b806315712139146103495780631627540c1461035c576102c8565b80630a5407fd116102b15780630a5407fd146103005780630ca1f9111461031557806313cf458414610336576102c8565b806302760d94146102cd57806304f3bcec146102eb575b600080fd5b6102d561050a565b6040516102e29190612b67565b60405180910390f35b6102f361051a565b6040516102e29190612ba3565b61031361030e366004612367565b610529565b005b6103286103233660046124ab565b61064e565b6040516102e2929190612c72565b6103136103443660046122e9565b610739565b6103136103573660046124ab565b610763565b61031361036a3660046122e9565b610766565b6103776107c4565b6040516102e29190612b59565b6103776107cd565b6103136103573660046122e9565b6103776108fd565b61037761099c565b6102d5610a16565b6103136103c03660046124ab565b610a1c565b6103cd610bb6565b6040516102e29190612a97565b6103cd610bc5565b6103136103f0366004612367565b610bd4565b6102d5610ce9565b6103cd610d63565b6102d5610d72565b610313610db4565b6102d5610f0a565b610313610f4c565b6102d5610433366004612517565b610fe8565b6103286104463660046124ab565b611078565b6103136104593660046122e9565b611140565b61046661123a565b6040516102e29190612ac0565b6103136104813660046122e9565b61135e565b6103cd611388565b6102d5611397565b6102d56113d9565b6102d56113df565b6102d56113f0565b6103136104bc3660046124ab565b6115fb565b6102d561170c565b6103136104d73660046124ab565b61171e565b6102d561177b565b6103136104f23660046123d7565b6117bd565b61031361050536600461232d565b610f06565b60006105146118f6565b90505b90565b6002546001600160a01b031681565b6006546001600160a01b0316331461055c5760405162461bcd60e51b815260040161055390612c22565b60405180910390fd5b610564610bb6565b6001600160a01b0316630a5407fd858585856040518563ffffffff1660e01b81526004016105959493929190612ad1565b600060405180830381600087803b1580156105af57600080fd5b505af11580156105c3573d6000803e3d6000fd5b50504260075550506008805460ff1916905560005b83811015610647577fd367269632fc7ec6ce27b8601e408a38f2b78c693719a69e608ee343f3b3d2c185858381811061060d57fe5b9050602002013584848481811061062057fe5b905060200201354260405161063793929190612ca8565b60405180910390a16001016105d8565b5050505050565b600080610659611a16565b9092509050631c1554d160e21b83141561067257610734565b60008061067d611b7c565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b81526004016106a89190612b67565b604080518083038186803b1580156106bf57600080fd5b505afa1580156106d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506106f791908101906124e7565b9150915061072461071f61070a84611b97565b61071387611b97565b9063ffffffff611bad16565b611bc6565b9350828061072f5750805b925050505b915091565b610741611be8565b600580546001600160a01b0319166001600160a01b0392909216919091179055565b50565b61076e611be8565b600180546001600160a01b0319166001600160a01b0383161790556040517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce22906107b9908390612a97565b60405180910390a150565b60085460ff1690565b600060606107d961123a565b905060005b81518110156108f45760008282815181106107f557fe5b602090810291909101810151600081815260039092526040918290205460025492517f21f8a7210000000000000000000000000000000000000000000000000000000081529193506001600160a01b039081169216906321f8a7219061085f908590600401612b67565b60206040518083038186803b15801561087757600080fd5b505afa15801561088b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506108af919081019061230f565b6001600160a01b03161415806108da57506000818152600360205260409020546001600160a01b0316155b156108eb5760009350505050610517565b506001016107de565b50600191505090565b600061090a600754611c14565b801561051457506109196118f6565b73__$ab44aa4d03cf506e3f86b9d3e8fcef9ff5$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b15801561095d57600080fd5b505af4158015610971573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061099591908101906124c9565b1415905090565b60006109a6611cad565b6001600160a01b03166346b45af76040518163ffffffff1660e01b815260040160206040518083038186803b1580156109de57600080fd5b505afa1580156109f2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610514919081019061248d565b60045481565b610a24610bb6565b6001600160a01b031663a872485c610a3a610bb6565b6001600160a01b031663564b81ef6040518163ffffffff1660e01b815260040160206040518083038186803b158015610a7257600080fd5b505afa158015610a86573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610aaa91908101906124c9565b836040518363ffffffff1660e01b8152600401610ac8929190612c8d565b600060405180830381600087803b158015610ae257600080fd5b505af1158015610af6573d6000803e3d6000fd5b50505050610b0381611cd8565b7f8bdd4f2c8e6f93acb14463a0ff56847cd66b543c8dc399d67d0a21eea71e190d81610b2d610bb6565b6001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610b6557600080fd5b505afa158015610b79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610b9d91908101906124c9565b6008546040516107b9939291429160ff90911690612cd0565b6005546001600160a01b031690565b6001546001600160a01b031681565b6006546001600160a01b03163314610bfe5760405162461bcd60e51b815260040161055390612c22565b610c06610bb6565b6001600160a01b03166353fb3b0d858585856040518563ffffffff1660e01b8152600401610c379493929190612ad1565b600060405180830381600087803b158015610c5157600080fd5b505af1158015610c65573d6000803e3d6000fd5b50504260075550506008805460ff1916905560005b83811015610647577f573b615659a012b9fc6dc8612f02e92d026bab5fa453125ac5d97f6a07db9e0b858583818110610caf57fe5b90506020020135848484818110610cc257fe5b9050602002013542604051610cd993929190612ca8565b60405180910390a1600101610c7a565b6000610cf3610bb6565b6001600160a01b031663564b81ef6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b505afa158015610d3f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061051491908101906124c9565b6006546001600160a01b031690565b6000610d7c610bb6565b6001600160a01b031663ac96603e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b6060610dbe61123a565b905060005b8151811015610f06576000828281518110610dda57fe5b602002602001015190506000600260009054906101000a90046001600160a01b03166001600160a01b031663dacb2d018384604051602001610e1c9190612a8c565b6040516020818303038152906040526040518363ffffffff1660e01b8152600401610e48929190612b83565b60206040518083038186803b158015610e6057600080fd5b505afa158015610e74573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250610e98919081019061230f565b6000838152600360205260409081902080546001600160a01b0319166001600160a01b038416179055519091507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa6890610ef49084908490612b75565b60405180910390a15050600101610dc3565b5050565b6000610f14610bb6565b6001600160a01b031663fac0d5416040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b6001546001600160a01b03163314610f765760405162461bcd60e51b815260040161055390612bc2565b6000546001546040517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c92610fb9926001600160a01b0391821692911690612aa5565b60405180910390a160018054600080546001600160a01b03199081166001600160a01b03841617909155169055565b6000610ff2611e72565b6001600160a01b03166394a8b41984846040518363ffffffff1660e01b815260040161101f929190612c8d565b60206040518083038186803b15801561103757600080fd5b505afa15801561104b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061106f91908101906124c9565b90505b92915050565b600080611083611e9d565b9150631c1554d160e21b83141561109c57506000610734565b6000806110a7611b7c565b6001600160a01b0316630c71cd23866040518263ffffffff1660e01b81526004016110d29190612b67565b604080518083038186803b1580156110e957600080fd5b505afa1580156110fd573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061112191908101906124e7565b9092509050611136848363ffffffff611edf16565b9350915050915091565b611148611be8565b60045442106111695760405162461bcd60e51b815260040161055390612c62565b611171610bb6565b6001600160a01b0316636bc60d04826001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b1580156111b857600080fd5b505afa1580156111cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506111f091908101906124c9565b6040518263ffffffff1660e01b815260040161120c9190612b67565b600060405180830381600087803b15801561122657600080fd5b505af1158015610647573d6000803e3d6000fd5b60408051600580825260c082019092526060916020820160a0803883390190505090506844656274436163686560b81b8160008151811061127757fe5b6020026020010181815250507f4272696467655374617465705553440000000000000000000000000000000000816001815181106112b157fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106112db57fe5b6020026020010181815250507f537570706c795363686564756c650000000000000000000000000000000000008160038151811061131557fe5b6020026020010181815250507f53797374656d53657474696e67730000000000000000000000000000000000008160048151811061134f57fe5b60200260200101818152505090565b611366611be8565b600680546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031681565b60006113a1611cad565b6001600160a01b0316639bdd7ac76040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b60075490565b6000806113ea611e9d565b91505090565b6000806113fb6118f6565b90508073__$ab44aa4d03cf506e3f86b9d3e8fcef9ff5$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b15801561144257600080fd5b505af4158015611456573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061147a91908101906124c9565b10156114985760405162461bcd60e51b815260040161055390612bf2565b6114a3600754611c14565b158061152957508073__$ab44aa4d03cf506e3f86b9d3e8fcef9ff5$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156114ef57600080fd5b505af4158015611503573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061152791908101906124c9565b145b6115455760405162461bcd60e51b815260040161055390612c42565b61154d611cad565b6001600160a01b031663cc5c095c6040518163ffffffff1660e01b815260040160206040518083038186803b15801561158557600080fd5b505afa158015611599573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506115bd91908101906124c9565b9150600082116115df5760405162461bcd60e51b815260040161055390612be2565b6113ea61071f826115ef85611b97565b9063ffffffff611ef416565b611603610bb6565b6001600160a01b031663385bb1a3611619610bb6565b6001600160a01b031663564b81ef6040518163ffffffff1660e01b815260040160206040518083038186803b15801561165157600080fd5b505afa158015611665573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061168991908101906124c9565b836040518363ffffffff1660e01b81526004016116a7929190612c8d565b600060405180830381600087803b1580156116c157600080fd5b505af11580156116d5573d6000803e3d6000fd5b505050506116e281611cd8565b7ff63087d1db604445d3ddb331ee89a4dd39a1d58f912cbe690c63bb5fae0e6c9381610b2d610bb6565b600080611717611a16565b5091505090565b6006546001600160a01b031633146117485760405162461bcd60e51b815260040161055390612c22565b611750610bb6565b6001600160a01b031663dff48488826040518263ffffffff1660e01b815260040161120c9190612b67565b6000611785610bb6565b6001600160a01b0316633eb767156040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b6006546001600160a01b031633146117e75760405162461bcd60e51b815260040161055390612c22565b6117ef610bb6565b6001600160a01b031663f14c44ed888888888888886040518863ffffffff1660e01b81526004016118269796959493929190612b02565b600060405180830381600087803b15801561184057600080fd5b505af1158015611854573d6000803e3d6000fd5b50504260075550506008805460ff1916905560005b868110156118ec577f274cfe27e7b48429b318b8e3a5f1a15cf65877a6bc0ac509cbceb73cbab5478b88888381811061189e57fe5b905060200201358787848181106118b157fe5b905060200201358686858181106118c457fe5b90506020020135426040516118dc9493929190612d0e565b60405180910390a1600101611869565b5050505050505050565b600080611901610bb6565b6001600160a01b0316637f5535136040518163ffffffff1660e01b815260040160206040518083038186803b15801561193957600080fd5b505afa15801561194d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061197191908101906124c9565b9050801561199a5761199561198582611b97565b610713611990611e9d565b611b97565b6113ea565b73__$ab44aa4d03cf506e3f86b9d3e8fcef9ff5$__63d5e5e6e66040518163ffffffff1660e01b815260040160206040518083038186803b1580156119de57600080fd5b505af41580156119f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052506113ea91908101906124c9565b6000806000611a23611f0d565b6001600160a01b0316633a900a2e6040518163ffffffff1660e01b815260040160806040518083038186803b158015611a5b57600080fd5b505afa158015611a6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611a939190810190612536565b929550935090915082905080611aa65750805b9150600080611ab3611f24565b9092509050611ad882611acc878463ffffffff6120ad16565b9063ffffffff6120d216565b9450611b7361071f611ae86118f6565b6115ef611990611af6610bb6565b6001600160a01b031663fac0d5416040518163ffffffff1660e01b815260040160206040518083038186803b158015611b2e57600080fd5b505afa158015611b42573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611b6691908101906124c9565b8a9063ffffffff6120ad16565b94505050509091565b60006105146c45786368616e6765526174657360981b6120fa565b600061107282633b9aca0063ffffffff61215e16565b600061106f83836b033b2e3c9fd0803ce8000000612198565b60006305f5e10082046005600a820610611bde57600a015b600a900492915050565b6000546001600160a01b03163314611c125760405162461bcd60e51b815260040161055390612c32565b565b6000814203611c216121de565b6001600160a01b031663af5355d86040518163ffffffff1660e01b815260040160206040518083038186803b158015611c5957600080fd5b505afa158015611c6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611c9191908101906124c9565b1080611c9b575081155b8061107257505060085460ff16919050565b60006105147f537570706c795363686564756c650000000000000000000000000000000000006120fa565b6000611ce2610bb6565b6001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611d1a57600080fd5b505afa158015611d2e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611d5291908101906124c9565b118015611e5d5750611d626121de565b6001600160a01b031663680a17186040518163ffffffff1660e01b815260040160206040518083038186803b158015611d9a57600080fd5b505afa158015611dae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611dd291908101906124c9565b611e5a611ddd610bb6565b6001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b158015611e1557600080fd5b505afa158015611e29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611e4d91908101906124c9565b839063ffffffff611edf16565b10155b15610763576008805460ff1916600117905550565b60006105147f42726964676553746174657055534400000000000000000000000000000000006120fa565b6000611ea7610bb6565b6001600160a01b031663b076f08b6040518163ffffffff1660e01b815260040160206040518083038186803b158015610d2b57600080fd5b600061106f8383670de0b6b3a7640000612198565b600061106f83836b033b2e3c9fd0803ce8000000612209565b60006105146844656274436163686560b81b6120fa565b600080611f2f611e72565b6001600160a01b031663663c2dae6040518163ffffffff1660e01b815260040160206040518083038186803b158015611f6757600080fd5b505afa158015611f7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250611f9f91908101906124c9565b9050611fa9611e72565b6001600160a01b031663fc9ff1216040518163ffffffff1660e01b815260040160206040518083038186803b158015611fe157600080fd5b505afa158015611ff5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061201991908101906124c9565b91506000612025610bb6565b6001600160a01b031663ac96603e6040518163ffffffff1660e01b815260040160206040518083038186803b15801561205d57600080fd5b505afa158015612071573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525061209591908101906124c9565b90508083106120a457826120a6565b805b9250509091565b60008282018381101561106f5760405162461bcd60e51b815260040161055390612bd2565b6000828211156120f45760405162461bcd60e51b815260040161055390612c02565b50900390565b60008181526003602090815260408083205490516001600160a01b03909116918215159161212a91869101612a6c565b604051602081830303815290604052906121575760405162461bcd60e51b81526004016105539190612bb1565b5092915050565b60008261216d57506000611072565b8282028284828161217a57fe5b041461106f5760405162461bcd60e51b815260040161055390612c52565b6000806121be846121b287600a870263ffffffff61215e16565b9063ffffffff61223416565b90506005600a825b06106121d057600a015b600a900490505b9392505050565b60006105147f53797374656d53657474696e67730000000000000000000000000000000000006120fa565b600080600a8304612220868663ffffffff61215e16565b8161222757fe5b0490506005600a826121c6565b60008082116122555760405162461bcd60e51b815260040161055390612c12565b600082848161226057fe5b04949350505050565b803561107281612dc8565b805161107281612dc8565b60008083601f84011261229157600080fd5b50813567ffffffffffffffff8111156122a957600080fd5b6020830191508360208202830111156122c157600080fd5b9250929050565b805161107281612ddc565b803561107281612de5565b805161107281612de5565b6000602082840312156122fb57600080fd5b60006123078484612269565b949350505050565b60006020828403121561232157600080fd5b60006123078484612274565b6000806040838503121561234057600080fd5b600061234c8585612269565b925050602061235d858286016122d3565b9150509250929050565b6000806000806040858703121561237d57600080fd5b843567ffffffffffffffff81111561239457600080fd5b6123a08782880161227f565b9450945050602085013567ffffffffffffffff8111156123bf57600080fd5b6123cb8782880161227f565b95989497509550505050565b60008060008060008060006080888a0312156123f257600080fd5b873567ffffffffffffffff81111561240957600080fd5b6124158a828b0161227f565b9750975050602088013567ffffffffffffffff81111561243457600080fd5b6124408a828b0161227f565b9550955050604088013567ffffffffffffffff81111561245f57600080fd5b61246b8a828b0161227f565b9350935050606061247e8a828b016122d3565b91505092959891949750929550565b60006020828403121561249f57600080fd5b600061230784846122c8565b6000602082840312156124bd57600080fd5b600061230784846122d3565b6000602082840312156124db57600080fd5b600061230784846122de565b600080604083850312156124fa57600080fd5b600061250685856122de565b925050602061235d858286016122c8565b6000806040838503121561252a57600080fd5b600061234c85856122d3565b6000806000806080858703121561254c57600080fd5b600061255887876122de565b9450506020612569878288016122de565b935050604061257a878288016122c8565b925050606061258b878288016122c8565b91505092959194509250565b60006125a3838361266e565b505060200190565b6125b481612d5b565b82525050565b60006125c582612d49565b6125cf8185612d4d565b93506125da83612d43565b8060005b838110156126085781516125f28882612597565b97506125fd83612d43565b9250506001016125de565b509495945050505050565b600061261f8385612d4d565b93507f07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83111561264e57600080fd5b60208302925061265f838584612d82565b50500190565b6125b481612d66565b6125b481610517565b6125b461268382610517565b610517565b6125b481612d77565b600061269c82612d49565b6126a68185612d4d565b93506126b6818560208601612d8e565b6126bf81612dbe565b9093019392505050565b60006126d6603583612d4d565b7f596f75206d757374206265206e6f6d696e61746564206265666f726520796f7581527f2063616e20616363657074206f776e6572736869700000000000000000000000602082015260400192915050565b6000612735601b83612d4d565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000815260200192915050565b600061276e601283612d4d565b7f4e6f206d696e7461626c6520737570706c790000000000000000000000000000815260200192915050565b60006127a7601483612d4d565b7f4e6574776f726b207261746520696e76616c6964000000000000000000000000815260200192915050565b60006127e0601e83612d4d565b7f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815260200192915050565b6000612819601a83612d4d565b7f536166654d6174683a206469766973696f6e206279207a65726f000000000000815260200192915050565b6000612852601183612d56565b7f4d697373696e6720616464726573733a20000000000000000000000000000000815260110192915050565b600061288b602d83612d4d565b7f4f6e6c79207468652064656274206d616e61676572206d617920706572666f7281527f6d207468697320616374696f6e00000000000000000000000000000000000000602082015260400192915050565b60006128ea602f83612d4d565b7f4f6e6c792074686520636f6e7472616374206f776e6572206d6179207065726681527f6f726d207468697320616374696f6e0000000000000000000000000000000000602082015260400192915050565b6000612949601983612d4d565b7f43726f737320636861696e2064656274206973207374616c6500000000000000815260200192915050565b6000612982602183612d4d565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f81527f7700000000000000000000000000000000000000000000000000000000000000602082015260400192915050565b60006129e1602983612d4d565b7f43616e206f6e6c7920706572666f726d207468697320616374696f6e2064757281527f696e672073657475700000000000000000000000000000000000000000000000602082015260400192915050565b6000612a40601983612d56565b7f5265736f6c766572206d697373696e67207461726765743a2000000000000000815260190192915050565b6000612a7782612845565b9150612a838284612677565b50602001919050565b6000612a7782612a33565b6020810161107282846125ab565b60408101612ab382856125ab565b6121d760208301846125ab565b6020808252810161106f81846125ba565b60408082528101612ae3818688612613565b90508181036020830152612af8818486612613565b9695505050505050565b60808082528101612b1481898b612613565b90508181036020830152612b29818789612613565b90508181036040830152612b3e818587612613565b9050612b4d606083018461266e565b98975050505050505050565b602081016110728284612665565b60208101611072828461266e565b60408101612ab3828561266e565b60408101612b91828561266e565b81810360208301526123078184612691565b602081016110728284612688565b6020808252810161106f8184612691565b60208082528101611072816126c9565b6020808252810161107281612728565b6020808252810161107281612761565b602080825281016110728161279a565b60208082528101611072816127d3565b602080825281016110728161280c565b602080825281016110728161287e565b60208082528101611072816128dd565b602080825281016110728161293c565b6020808252810161107281612975565b60208082528101611072816129d4565b60408101612c80828561266e565b6121d76020830184612665565b60408101612c9b828561266e565b6121d7602083018461266e565b60608101612cb6828661266e565b612cc3602083018561266e565b612307604083018461266e565b60808101612cde828761266e565b612ceb602083018661266e565b612cf8604083018561266e565b612d056060830184612665565b95945050505050565b60808101612d1c828761266e565b612d29602083018661266e565b612d36604083018561266e565b612d05606083018461266e565b60200190565b5190565b90815260200190565b919050565b600061107282612d6b565b151590565b6001600160a01b031690565b600061107282612d5b565b82818337506000910152565b60005b83811015612da9578181015183820152602001612d91565b83811115612db8576000848401525b50505050565b601f01601f191690565b612dd181612d5b565b811461076357600080fd5b612dd181612d66565b612dd18161051756fea365627a7a723158203b7bbd2af1e6b45f7b3dad3ef93908da636cc2fca849ecfa5da1300039b9d84d6c6578706572696d656e74616cf564736f6c63430005100040",
			"abi": [
				{
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_resolver",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_crossChainStateAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "_debtManagerAddress",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "constructor",
					"signature": "constructor"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "bytes32",
							"name": "name",
							"type": "bytes32"
						},
						{
							"indexed": false,
							"internalType": "address",
							"name": "destination",
							"type": "address"
						}
					],
					"name": "CacheUpdated",
					"type": "event",
					"signature": "0x88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "chainID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "activeDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "CrossChainActiveDebtSynced",
					"type": "event",
					"signature": "0xd367269632fc7ec6ce27b8601e408a38f2b78c693719a69e608ee343f3b3d2c1"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "chainID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuedDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "CrossChainIssuedDebtSynced",
					"type": "event",
					"signature": "0x573b615659a012b9fc6dc8612f02e92d026bab5fa453125ac5d97f6a07db9e0b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "chainID",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "issuedDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "activeDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						}
					],
					"name": "CrossChainSynced",
					"type": "event",
					"signature": "0x274cfe27e7b48429b318b8e3a5f1a15cf65877a6bc0ac509cbceb73cbab5478b"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "latestNetworkDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "syncInvalid",
							"type": "bool"
						}
					],
					"name": "IssuedDebtAdded",
					"type": "event",
					"signature": "0x8bdd4f2c8e6f93acb14463a0ff56847cd66b543c8dc399d67d0a21eea71e190d"
				},
				{
					"anonymous": false,
					"inputs": [
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "latestNetworkDebt",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "timestamp",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "bool",
							"name": "syncInvalid",
							"type": "bool"
						}
					],
					"name": "IssuedDebtSubtracted",
					"type": "event",
					"signature": "0xf63087d1db604445d3ddb331ee89a4dd39a1d58f912cbe690c63bb5fae0e6c93"
				},
				{
					"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": "_amount",
							"type": "uint256"
						}
					],
					"name": "addCurrentNetworkIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x4e03d640"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "addTotalNetworkDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x15712139"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						}
					],
					"name": "clearCrossNetworkUserDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x40f68cdd"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "crossChainState",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x5082fa3f"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "crossNetworkActiveDebtAll",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x78a52a9c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "crossNetworkIssuedDebtAll",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xe4c16da3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentNetworkActiveDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd9a63c01"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "currentNetworkActiveDebtOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalSystemValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x0ca1f911"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentNetworkDebtPercentage",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x02760d94"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "currentNetworkIssuedDebt",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xb265e218"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "currentNetworkIssuedDebtOf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "totalSystemValue",
							"type": "uint256"
						},
						{
							"internalType": "bool",
							"name": "anyRateIsInvalid",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x884a48bc"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "debtManager",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x60b3a033"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "getChainID",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x564b81ef"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isMintable",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46b45af7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a26f447"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "mintableSupply",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "supplyToMint",
							"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": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_inboundOutbound",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "targetNetworkId",
							"type": "uint256"
						}
					],
					"name": "movedAmount",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x84e2c116"
				},
				{
					"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": "outboundSumToCurrentNetwork",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x6b42e5b3"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "crossChainStateAddress",
							"type": "address"
						}
					],
					"name": "setCrossChainState",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x13cf4584"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						}
					],
					"name": "setCrossNetworkActiveDebtAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a5407fd"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_issuedDebts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_activeDebts",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256",
							"name": "_inbound",
							"type": "uint256"
						}
					],
					"name": "setCrossNetworkDebtsAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf14c44ed"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256[]",
							"name": "_chainIDs",
							"type": "uint256[]"
						},
						{
							"internalType": "uint256[]",
							"name": "_amounts",
							"type": "uint256[]"
						}
					],
					"name": "setCrossNetworkIssuedDebtAll",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x53fb3b0d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "userStateDebtLedgerIndex",
							"type": "uint256"
						}
					],
					"name": "setCrossNetworkUserDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf2de2dee"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "debtManagerAddress",
							"type": "address"
						}
					],
					"name": "setDebtManager",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x8bfc007c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_prevState",
							"type": "address"
						}
					],
					"name": "setInitialCurrentIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x88971601"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "setOutboundSumToCurrentNetwork",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdff48488"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "setupExpiryTime",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x46ba2d90"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "_amount",
							"type": "uint256"
						}
					],
					"name": "subtractCurrentNetworkIssuedDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xd5495e06"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						}
					],
					"name": "subtractTotalNetworkDebt",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x2a222dfe"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "syncStale",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x43d37e0c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "syncTimestamp",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa02a4069"
				}
			],
			"source": {
				"keccak256": "0xe0ae68d5b6e76605f10070c669274e85ce0058e31cbccfc9c1dab0d05b47c8a6",
				"urls": [
					"bzz-raw://1ae003c3b101f0f69b52d5d9fb23877907e3ff5e2627cd38083ea6f0184277b6",
					"dweb:/ipfs/QmS1vLkZ9dwhZFJ4p53HSVDhSWUFe6wxonxC9zSxJ9nXTy"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"CrossChainManager.sol": "CrossChainManager"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"CrossChainManager.sol": {
						"keccak256": "0xe0ae68d5b6e76605f10070c669274e85ce0058e31cbccfc9c1dab0d05b47c8a6",
						"urls": [
							"bzz-raw://1ae003c3b101f0f69b52d5d9fb23877907e3ff5e2627cd38083ea6f0184277b6",
							"dweb:/ipfs/QmS1vLkZ9dwhZFJ4p53HSVDhSWUFe6wxonxC9zSxJ9nXTy"
						]
					}
				},
				"version": 1
			}
		},
		"Exchanger": {
			"bytecode": "60806040523480156200001157600080fd5b506040516200496f3803806200496f833981810160405260408110156200003757600080fd5b5080516020909101518080836001600160a01b0381166200009f576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b0319909216919091179055505050614843806200012c6000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806357630a4011610104578063899ffef4116100a2578063d6f32e0611610071578063d6f32e06146105a1578063dfffca76146105cd578063f39952241461061d578063f450aa3414610684576101cf565b8063899ffef41461051c5780638da5cb5b14610574578063a4a9c2661461057c578063c193f0d814610599576101cf565b806379ba5097116100de57806379ba50971461049f5780637dd1a57a146104a757806386baa45c146104c45780638925711714610514576101cf565b806357630a40146104325780636a1c4758146104555780637418536014610497576101cf565b80631b16802c11610171578063372a395a1161014b578063372a395a146103e25780633fa70f45146103ea5780634c268fc8146103f257806353a47bb71461042a576101cf565b80631b16802c1461032a57806324286df0146103565780632af64bd3146103c6576101cf565b80630aed5b46116101ad5780630aed5b46146102785780631627540c1461029757806319d5c665146102bd5780631a5c609514610307576101cf565b806304f3bcec146101d4578063059c29ec146101f85780630a1e187d14610236575b600080fd5b6101dc6106ad565b604080516001600160a01b039092168252519081900360200190f35b6102246004803603604081101561020e57600080fd5b506001600160a01b0381351690602001356106bc565b60408051918252519081900360200190f35b610224600480360360a081101561024c57600080fd5b506001600160a01b03813581169160208101359160408201359160608101359160809091013516610760565b6102956004803603602081101561028e57600080fd5b5035610878565b005b610295600480360360208110156102ad57600080fd5b50356001600160a01b0316610af0565b6102e9600480360360408110156102d357600080fd5b506001600160a01b038135169060200135610b59565b60408051938452602084019290925282820152519081900360600190f35b6102246004803603604081101561031d57600080fd5b5080359060200135610b77565b6102e96004803603604081101561034057600080fd5b506001600160a01b038135169060200135610b83565b6102956004803603602081101561036c57600080fd5b81019060208101813564010000000081111561038757600080fd5b82018360208201111561039957600080fd5b803590602001918460208302840111640100000000831117156103bb57600080fd5b509092509050610c04565b6103ce610e03565b604080519115158252519081900360200190f35b610224610f27565b610224610f36565b6102246004803603608081101561040857600080fd5b506001600160a01b038135169060208101359060408101359060600135610f3b565b6101dc611074565b6102956004803603604081101561044857600080fd5b5080359060200135611083565b610224600480360360a081101561046b57600080fd5b506001600160a01b03813581169160208101359091169060408101359060608101359060800135611154565b61029561133a565b610295611528565b610224600480360360208110156104bd57600080fd5b50356115f1565b610224600480360360e08110156104da57600080fd5b506001600160a01b038135811691602081013591604082013591606081013591608082013581169160a08101359091169060c00135611603565b610224611728565b610524611732565b60408051602080825283518183015283519192839290830191858101910280838360005b83811015610560578181015183820152602001610548565b505050509050019250505060405180910390f35b6101dc611937565b6103ce6004803603602081101561059257600080fd5b5035611946565b6103ce61199f565b6103ce600480360360408110156105b757600080fd5b506001600160a01b0381351690602001356119a9565b610224600480360360e08110156105e357600080fd5b506001600160a01b038135811691602081013582169160408201359160608101359160808201359160a08101359091169060c001356119db565b610663600480360360c081101561063357600080fd5b506001600160a01b0381358116916020810135916040820135916060810135916080820135169060a00135611bcc565b604080519283526001600160a01b0390911660208301528051918290030190f35b6102e96004803603606081101561069a57600080fd5b5080359060208101359060400135611cfa565b6002546001600160a01b031681565b60006107576106c9611d1a565b6001600160a01b031663f1406dc885856040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b15801561072657600080fd5b505afa15801561073a573d6000803e3d6000fd5b505050506040513d602081101561075057600080fd5b5051611d35565b90505b92915050565b600061076a611d94565b6001600160a01b0316336001600160a01b031614806108125750600061078e611dad565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156107e357600080fd5b505afa1580156107f7573d6000803e3d6000fd5b505050506040513d602081101561080d57600080fd5b505114155b61084d5760405162461bcd60e51b81526004018080602001828103825260478152602001806147336047913960600191505060405180910390fd5b600061085e87878787876000611dc1565b50909250905061086e81846121ed565b5095945050505050565b61088061229c565b6001600160a01b031663086dabd16040518163ffffffff1660e01b815260040160006040518083038186803b1580156108b857600080fd5b505afa1580156108cc573d6000803e3d6000fd5b5050505060006001600160a01b03166108e3611dad565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561092657600080fd5b505afa15801561093a573d6000803e3d6000fd5b505050506040513d602081101561095057600080fd5b50516001600160a01b031614156109ae576040805162461bcd60e51b815260206004820152600d60248201527f4e6f20737563682070796e746800000000000000000000000000000000000000604482015290519081900360640190fd5b610a2e816109ba6122b6565b6001600160a01b031663ac82f608846040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109fd57600080fd5b505afa158015610a11573d6000803e3d6000fd5b505050506040513d6020811015610a2757600080fd5b50516122d1565b610a7f576040805162461bcd60e51b815260206004820152601460248201527f50796e74682070726963652069732076616c6964000000000000000000000000604482015290519081900360640190fd5b610a8761229c565b6001600160a01b031663631070fc8260416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b158015610ad557600080fd5b505af1158015610ae9573d6000803e3d6000fd5b5050505050565b610af8612521565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000806000610b68858561256c565b50919790965090945092505050565b6000610757838361283a565b6000806000610b9061229c565b6001600160a01b0316631d7e7789856040518263ffffffff1660e01b81526004018082815260200191505060006040518083038186803b158015610bd357600080fd5b505afa158015610be7573d6000803e3d6000fd5b50505050610bf7858560016128f8565b9250925092509250925092565b610c0c612521565b60606000610c186122b6565b6001600160a01b031663c8e5bbd585856040518363ffffffff1660e01b815260040180806020018281038252848482818152602001925060200280828437600081840152601f19601f820116905080830192505050935050505060006040518083038186803b158015610c8a57600080fd5b505afa158015610c9e573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040908152811015610cc757600080fd5b8101908080516040519392919084640100000000821115610ce757600080fd5b908301906020820185811115610cfc57600080fd5b8251866020820283011164010000000082111715610d1957600080fd5b82525081516020918201928201910280838360005b83811015610d46578181015183820152602001610d2e565b505050509190910160405250602001519294509192505081159050610db2576040805162461bcd60e51b815260206004820181905260248201527f526174657320666f7220676976656e2073796e746873206e6f742076616c6964604482015290519081900360640190fd5b60005b83811015610ae957828181518110610dc957fe5b602002602001015160046000878785818110610de157fe5b6020908102929092013583525081019190915260400160002055600101610db5565b60006060610e0f611732565b905060005b8151811015610f1d576000828281518110610e2b57fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b158015610eac57600080fd5b505afa158015610ec0573d6000803e3d6000fd5b505050506040513d6020811015610ed657600080fd5b50516001600160a01b0316141580610f0357506000818152600360205260409020546001600160a01b0316155b15610f145760009350505050610f24565b50600101610e14565b5060019150505b90565b6000610f31612c67565b905090565b604181565b816000610f46611dad565b6001600160a01b03166357ad4663866040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015610f8957600080fd5b505afa158015610f9d573d6000803e3d6000fd5b505050506040513d6020811015610fb357600080fd5b5051604080517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b038981166004830152915191909216916370a08231916024808301926020929190829003018186803b15801561101857600080fd5b505afa15801561102c573d6000803e3d6000fd5b505050506040513d602081101561104257600080fd5b5051905080821115611052578091505b821561106b57611068828463ffffffff612d1e16565b91505b50949350505050565b6001546001600160a01b031681565b600061108d6122b6565b9050336001600160a01b038216146110ec576040805162461bcd60e51b815260206004820152601b60248201527f5265737472696374656420746f2045786368616e676552617465730000000000604482015290519081900360640190fd5b60008211611141576040805162461bcd60e51b815260206004820152601460248201527f52617465206d7573742062652061626f76652030000000000000000000000000604482015290519081900360640190fd5b5060009182526004602052604090912055565b600061115e611d94565b6001600160a01b0316336001600160a01b0316148061120657506000611182611dad565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b1580156111d757600080fd5b505afa1580156111eb573d6000803e3d6000fd5b505050506040513d602081101561120157600080fd5b505114155b6112415760405162461bcd60e51b81526004018080602001828103825260478152602001806147336047913960600191505060405180910390fd5b611249612d78565b6040805163faf431bb60e01b81526001600160a01b03898116600483015288811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b15801561129c57600080fd5b505afa1580156112b0573d6000803e3d6000fd5b505050506040513d60208110156112c657600080fd5b5051611319576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b600061132a878686868b6000611dc1565b50909250905061086e81886121ed565b6060611344611732565b905060005b815181101561152457600082828151811061136057fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a200000000000000081860152603980820185905282518083039091018152605982018084527fdacb2d01000000000000000000000000000000000000000000000000000000009052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561142f578181015183820152602001611417565b50505050905090810190601f16801561145c5780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561147a57600080fd5b505afa15801561148e573d6000803e3d6000fd5b505050506040513d60208110156114a457600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a15050600101611349565b5050565b6001546001600160a01b031633146115715760405162461bcd60e51b81526004018080602001828103825260358152602001806146fe6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b60046020526000908152604090205481565b600061160d611d94565b6001600160a01b0316336001600160a01b031614806116b557506000611631611dad565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b15801561168657600080fd5b505afa15801561169a573d6000803e3d6000fd5b505050506040513d60208110156116b057600080fd5b505114155b6116f05760405162461bcd60e51b81526004018080602001828103825260478152602001806147336047913960600191505060405180910390fd5b600061170189898989896000611dc1565b50909250905061171181856121ed565b61171c838784612da3565b50979650505050505050565b6000610f31612e1d565b60608061173d612ea3565b60408051600a80825261016082019092529192506060919060208201610140803883390190505090506b53797374656d53746174757360a01b8160008151811061178357fe5b6020026020010181815250506c45786368616e6765537461746560981b816001815181106117ad57fe5b6020026020010181815250506c45786368616e6765526174657360981b816002815181106117d757fe5b6020026020010181815250506a5065726946696e616e636560a81b816003815181106117ff57fe5b60200260200101818152505066119959541bdbdb60ca1b8160048151811061182357fe5b6020026020010181815250507f54726164696e67526577617264730000000000000000000000000000000000008160058151811061185d57fe5b6020026020010181815250507f44656c6567617465417070726f76616c730000000000000000000000000000008160068151811061189757fe5b6020026020010181815250506524b9b9bab2b960d11b816007815181106118ba57fe5b6020026020010181815250506844656274436163686560b81b816008815181106118e057fe5b6020026020010181815250507f5669727475616c50796e746849737375657200000000000000000000000000008160098151811061191a57fe5b6020026020010181815250506119308282612f02565b9250505090565b6000546001600160a01b031681565b6000611997826119546122b6565b6001600160a01b031663ac82f608856040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156109fd57600080fd5b90505b919050565b6000610f31612fbe565b60006119b583836106bc565b156119c25750600161075a565b60006119ce848461256c565b5050501515949350505050565b60006119e5611d94565b6001600160a01b0316336001600160a01b03161480611a8d57506000611a09611dad565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611a5e57600080fd5b505afa158015611a72573d6000803e3d6000fd5b505050506040513d6020811015611a8857600080fd5b505114155b611ac85760405162461bcd60e51b81526004018080602001828103825260478152602001806147336047913960600191505060405180910390fd5b611ad0612d78565b6040805163faf431bb60e01b81526001600160a01b038b811660048301528a811660248301529151929091169163faf431bb91604480820192602092909190829003018186803b158015611b2357600080fd5b505afa158015611b37573d6000803e3d6000fd5b505050506040513d6020811015611b4d57600080fd5b5051611ba0576040805162461bcd60e51b815260206004820152601d60248201527f4e6f7420617070726f76656420746f20616374206f6e20626568616c66000000604482015290519081900360640190fd5b6000611bb1898888888d6000611dc1565b509092509050611bc181856121ed565b61171c838684612da3565b600080611bd7611d94565b6001600160a01b0316336001600160a01b03161480611c7f57506000611bfb611dad565b6001600160a01b031663c9a2f3ad336040518263ffffffff1660e01b815260040180826001600160a01b03166001600160a01b0316815260200191505060206040518083038186803b158015611c5057600080fd5b505afa158015611c64573d6000803e3d6000fd5b505050506040513d6020811015611c7a57600080fd5b505114155b611cba5760405162461bcd60e51b81526004018080602001828103825260478152602001806147336047913960600191505060405180910390fd5b6000611ccb89898989896001611dc1565b9194509092509050611cdd81866121ed565b8315611cee57611cee848785612da3565b50965096945050505050565b6000806000611d0a868686613044565b5092999198509650945050505050565b6000610f316c45786368616e6765537461746560981b61311e565b600080611d40612e1d565b9050821580611d5e5750611d5a838263ffffffff612d1e16565b4210155b15611d6d57600091505061199a565b611d8d42611d81858463ffffffff612d1e16565b9063ffffffff61320716565b9392505050565b6000610f316a5065726946696e616e636560a81b61311e565b6000610f316524b9b9bab2b960d11b61311e565b6000806000611dd1888888613264565b6000611dde888b8b613459565b905080611df55750600092508291508190506121e1565b6000806000611e05848d8c613044565b939a50919850945092509050611e1b8c83613491565b80611e2b5750611e2b8a82613491565b15611e445750600095508594508493506121e192505050565b611e538c8e868d8b8e8e61352c565b94506001600160a01b03851615611e68578498505b85156120d957611e766122b6565b6001600160a01b031663654a60ac8b88631c1554d160e21b6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060206040518083038186803b158015611ed057600080fd5b505afa158015611ee4573d6000803e3d6000fd5b505050506040513d6020811015611efa57600080fd5b50519550611f06611dad565b6001600160a01b03166357ad4663631c1554d160e21b6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015611f5057600080fd5b505afa158015611f64573d6000803e3d6000fd5b505050506040513d6020811015611f7a57600080fd5b50516001600160a01b031663867904b4611f92613809565b6001600160a01b031663eb1edd616040518163ffffffff1660e01b815260040160206040518083038186803b158015611fca57600080fd5b505afa158015611fde573d6000803e3d6000fd5b505050506040513d6020811015611ff457600080fd5b5051604080517fffffffff0000000000000000000000000000000000000000000000000000000060e085901b1681526001600160a01b039092166004830152602482018a905251604480830192600092919082900301818387803b15801561205b57600080fd5b505af115801561206f573d6000803e3d6000fd5b5050505061207b613809565b6001600160a01b03166322bf55ef876040518263ffffffff1660e01b815260040180828152602001915050600060405180830381600087803b1580156120c057600080fd5b505af11580156120d4573d6000803e3d6000fd5b505050505b61210b60405180604001604052808e81526020018c81525060405180604001604052808581526020018481525061381e565b612113611d94565b6001600160a01b0316631b99084c8e8e878e8c8f6040518763ffffffff1660e01b815260040180876001600160a01b03166001600160a01b03168152602001868152602001858152602001848152602001838152602001826001600160a01b03166001600160a01b031681526020019650505050505050600060405180830381600087803b1580156121a457600080fd5b505af11580156121b8573d6000803e3d6000fd5b5050505060006121c6612e1d565b11156121dc576121dc898d868d8b888888613adc565b505050505b96509650969350505050565b60008211801561220557506001600160a01b03811615155b80156122145750612214612fbe565b1561152457612221613d31565b6001600160a01b03166321cad77483836040518363ffffffff1660e01b815260040180838152602001826001600160a01b03166001600160a01b0316815260200192505050600060405180830381600087803b15801561228057600080fd5b505af1158015612294573d6000803e3d6000fd5b505050505050565b6000610f316b53797374656d53746174757360a01b61311e565b6000610f316c45786368616e6765526174657360981b61311e565b6000816122e05750600161075a565b6000838152600460205260409020548015612307576122ff8184613d5c565b91505061075a565b60606123116122b6565b6001600160a01b0316632d7371e18660046040518363ffffffff1660e01b8152600401808381526020018281526020019250505060006040518083038186803b15801561235d57600080fd5b505afa158015612371573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604090815281101561239a57600080fd5b81019080805160405193929190846401000000008211156123ba57600080fd5b9083019060208201858111156123cf57600080fd5b82518660208202830111640100000000821117156123ec57600080fd5b82525081516020918201928201910280838360005b83811015612419578181015183820152602001612401565b505050509050016040526020018051604051939291908464010000000082111561244257600080fd5b90830190602082018581111561245757600080fd5b825186602082028301116401000000008211171561247457600080fd5b82525081516020918201928201910280838360005b838110156124a1578181015183820152602001612489565b505050509050016040525050505090506000600190505b81518110156125155760008282815181106124cf57fe5b60200260200101511180156124fc57506124fc8282815181106124ee57fe5b602002602001015186613d5c565b1561250d576001935050505061075a565b6001016124b8565b50600095945050505050565b6000546001600160a01b0316331461256a5760405162461bcd60e51b815260040180806020018281038252602f81526020018061477a602f913960400191505060405180910390fd5b565b6000806000606061257b611d1a565b6001600160a01b031663b44e975387876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b1580156125d857600080fd5b505afa1580156125ec573d6000803e3d6000fd5b505050506040513d602081101561260257600080fd5b505160408051828152602080840282010190915290925060609083801561264357816020015b6126306146b2565b8152602001906001900390816126285790505b50905060005b8381101561282e5760008061265c6146b2565b6126678b8b86613dbb565b905060008061267583613ed6565b9150915060006126836122b6565b6001600160a01b031663266da16b85600001518660200151876040015187876040518663ffffffff1660e01b8152600401808681526020018581526020018481526020018381526020018281526020019550505050505060206040518083038186803b1580156126f257600080fd5b505afa158015612706573d6000803e3d6000fd5b505050506040513d602081101561271c57600080fd5b50516080850151909150600090612734908390614042565b9050612744856060015182613d5c565b6127b9578085606001511115612782576060850151612769908263ffffffff61320716565b965061277b8d8863ffffffff612d1e16565b9c506127b9565b84606001518111156127b95760608501516127a490829063ffffffff61320716565b95506127b68c8763ffffffff612d1e16565b9b505b6040518061010001604052808660000151815260200186602001518152602001866040015181526020018881526020018781526020018581526020018481526020018660a0015181525089898151811061280f57fe5b6020026020010181905250505050505050508080600101915050612649565b50905092959194509250565b6000612845826140d4565b9050631c1554d160e21b8314806128625750631c1554d160e21b82145b1561286c5761075a565b600760fc1b6001600160f81b0319600085901a60f81b161480156128a45750606960f81b6001600160f81b0319600084901a60f81b16145b806128e25750606960f81b6001600160f81b0319600085901a60f81b161480156128e25750600760fc1b6001600160f81b0319600084901a60f81b16145b1561075a5761075781600263ffffffff6141ba16565b600080600061290786866106bc565b156129435760405162461bcd60e51b81526004018080602001828103825260238152602001806147ec6023913960400191505060405180910390fd5b600080600060606129548a8a61256c565b93509350935093508284111561298657612974848463ffffffff61320716565b96506129818a8a89614213565b6129ab565b838311156129ab5761299e838563ffffffff61320716565b95506129ab8a8a88614363565b8715612a92576040805160018082528183019092526060916020808301908038833901905050905089816000815181106129e157fe5b6020026020010181815250506129f56144cc565b6001600160a01b031663fa9f18d3826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b83811015612a53578181015183820152602001612a3b565b5050505090500192505050600060405180830381600087803b158015612a7857600080fd5b505af1158015612a8c573d6000803e3d6000fd5b50505050505b60005b8151811015612bd7578a6001600160a01b03167f8e3ad1f68bec55de3b6fa12ae2674a2a683a17c918a4cbf5157ac5d9ddc6e940838381518110612ad557fe5b602002602001015160000151848481518110612aed57fe5b602002602001015160200151858581518110612b0557fe5b602002602001015160400151868681518110612b1d57fe5b602002602001015160600151878781518110612b3557fe5b602002602001015160800151888881518110612b4d57fe5b602002602001015160a00151898981518110612b6557fe5b602002602001015160c001518a8a81518110612b7d57fe5b602002602001015160e00151604051808981526020018881526020018781526020018681526020018581526020018481526020018381526020018281526020019850505050505050505060405180910390a2600101612a95565b50819450612be3611d1a565b6001600160a01b031663d0d3d62a8b8b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b158015612c4257600080fd5b505af1158015612c56573d6000803e3d6000fd5b505050505050505093509350939050565b6000612c716144e3565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f7072696365446576696174696f6e5468726573686f6c64466163746f720000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ced57600080fd5b505afa158015612d01573d6000803e3d6000fd5b505050506040513d6020811015612d1757600080fd5b5051905090565b600082820183811015610757576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b6000610f317f44656c6567617465417070726f76616c7300000000000000000000000000000061311e565b612dab611d94565b6001600160a01b031663ddd03a3f8484846040518463ffffffff1660e01b8152600401808481526020018381526020018281526020019350505050600060405180830381600087803b158015612e0057600080fd5b505af1158015612e14573d6000803e3d6000fd5b50505050505050565b6000612e276144e3565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f77616974696e67506572696f64536563730000000000000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ced57600080fd5b604080516001808252818301909252606091602080830190803883390190505090507f466c657869626c6553746f72616765000000000000000000000000000000000081600081518110612ef357fe5b60200260200101818152505090565b60608151835101604051908082528060200260200182016040528015612f32578160200160208202803883390190505b50905060005b8351811015612f7457838181518110612f4d57fe5b6020026020010151828281518110612f6157fe5b6020908102919091010152600101612f38565b5060005b8251811015612fb757828181518110612f8d57fe5b6020026020010151828286510181518110612fa457fe5b6020908102919091010152600101612f78565b5092915050565b6000612fc86144e3565b6001600160a01b031663d994502d6d53797374656d53657474696e677360901b7f74726164696e6752657761726473456e61626c656400000000000000000000006040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b158015612ced57600080fd5b6000806000806000806130556122b6565b6001600160a01b0316638295016a898b8a6040518463ffffffff1660e01b815260040180848152602001838152602001828152602001935050505060606040518083038186803b1580156130a857600080fd5b505afa1580156130bc573d6000803e3d6000fd5b505050506040513d60608110156130d257600080fd5b508051602082015160409092015191945090925090506130f2888861283a565b93506130fe8185614042565b9550613110818763ffffffff61320716565b945050939792965093509350565b60008181526003602090815260408083205481517f4d697373696e6720616464726573733a200000000000000000000000000000009381019390935260318084018690528251808503909101815260519093019091526001600160a01b03169081612fb75760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156131cc5781810151838201526020016131b4565b50505050905090810190601f1680156131f95780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b60008282111561325e576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b808314156132b9576040805162461bcd60e51b815260206004820152601360248201527f43616e27742062652073616d652070796e746800000000000000000000000000604482015290519081900360640190fd5b6000821161330e576040805162461bcd60e51b815260206004820152600b60248201527f5a65726f20616d6f756e74000000000000000000000000000000000000000000604482015290519081900360640190fd5b6040805160028082526060808301845292602083019080388339019050509050838160008151811061333c57fe5b602002602001018181525050818160018151811061335657fe5b60200260200101818152505061336a6122b6565b6001600160a01b0316630a7d36d1826040518263ffffffff1660e01b81526004018080602001828103825283818151815260200191508051906020019060200280838360005b838110156133c85781810151838201526020016133b0565b505050509050019250505060206040518083038186803b1580156133eb57600080fd5b505afa1580156133ff573d6000803e3d6000fd5b505050506040513d602081101561341557600080fd5b5051156134535760405162461bcd60e51b81526004018080602001828103825260228152602001806147ca6022913960400191505060405180910390fd5b50505050565b600080600061346a858560006128f8565b88955090935091505080156134885761348585858885610f3b565b92505b50509392505050565b600061349d83836122d1565b15613519576134aa61229c565b6001600160a01b031663631070fc8460416040518363ffffffff1660e01b81526004018083815260200182815260200192505050600060405180830381600087803b1580156134f857600080fd5b505af115801561350c573d6000803e3d6000fd5b505050506001905061075a565b6000928352600460205260409092205590565b6000613536611dad565b6001600160a01b03166357ad4663896040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561357957600080fd5b505afa15801561358d573d6000803e3d6000fd5b505050506040513d60208110156135a357600080fd5b505160408051632770a7eb60e21b81526001600160a01b038a81166004830152602482018a905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156135f757600080fd5b505af115801561360b573d6000803e3d6000fd5b505050506000613619611dad565b6001600160a01b03166357ad4663876040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561365c57600080fd5b505afa158015613670573d6000803e3d6000fd5b505050506040513d602081101561368657600080fd5b505190508215613785576000819050613705816001600160a01b031663ec5568896040518163ffffffff1660e01b815260040160206040518083038186803b1580156136d157600080fd5b505afa1580156136e5573d6000803e3d6000fd5b505050506040513d60208110156136fb57600080fd5b505186888a61450e565b9250816001600160a01b031663867904b484886040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b15801561376757600080fd5b505af115801561377b573d6000803e3d6000fd5b505050505061171c565b806001600160a01b031663867904b485876040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050600060405180830381600087803b1580156137e557600080fd5b505af11580156137f9573d6000803e3d6000fd5b5050505050979650505050505050565b6000610f3166119959541bdbdb60ca1b61311e565b8151600090631c1554d160e21b148061384157506020830151631c1554d160e21b145b9050600081613851576003613854565b60025b60ff169050606081604051908082528060200260200182016040528015613885578160200160208202803883390190505b50905084600060200201518160008151811061389d57fe5b60209081029190910101528460016020020151816001815181106138bd57fe5b6020026020010181815250506060826040519080825280602002602001820160405280156138f5578160200160208202803883390190505b50905084600060200201518160008151811061390d57fe5b602090810291909101015284600160200201518160018151811061392d57fe5b602002602001018181525050836139eb57631c1554d160e21b8260028151811061395357fe5b60200260200101818152505073__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b1580156139a357600080fd5b505af41580156139b7573d6000803e3d6000fd5b505050506040513d60208110156139cd57600080fd5b50518151829060029081106139de57fe5b6020026020010181815250505b6139f36144cc565b6001600160a01b0316639f98fb4983836040518363ffffffff1660e01b8152600401808060200180602001838103835285818151815260200191508051906020019060200280838360005b83811015613a56578181015183820152602001613a3e565b50505050905001838103825284818151815260200191508051906020019060200280838360005b83811015613a95578181015183820152602001613a7d565b50505050905001945050505050600060405180830381600087803b158015613abc57600080fd5b505af1158015613ad0573d6000803e3d6000fd5b50505050505050505050565b6000613ae66122b6565b90506000816001600160a01b0316637a018a1e8a6040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b158015613b2e57600080fd5b505afa158015613b42573d6000803e3d6000fd5b505050506040513d6020811015613b5857600080fd5b5051604080517f7a018a1e000000000000000000000000000000000000000000000000000000008152600481018a905290519192506000916001600160a01b03851691637a018a1e916024808301926020929190829003018186803b158015613bc057600080fd5b505afa158015613bd4573d6000803e3d6000fd5b505050506040513d6020811015613bea57600080fd5b50519050613bf6611d1a565b604080517f3ca9d85c0000000000000000000000000000000000000000000000000000000081526001600160a01b038e81166004830152602482018e9052604482018d9052606482018c9052608482018b905260a482018a90524260c483015260e48201869052610104820185905291519290911691633ca9d85c916101248082019260009290919082900301818387803b158015613c9457600080fd5b505af1158015613ca8573d6000803e3d6000fd5b5050604080518d8152602081018d90528082018c9052606081018b9052608081018a905260a0810186905260c0810185905260e08101899052610100810188905290516001600160a01b038f1693507f753ece0a79a8fe2305cf1cb4535d36fac46ef4b8bf768e1abffe6fc2de2636fe9250908190036101200190a25050505050505050505050565b6000610f317f54726164696e675265776172647300000000000000000000000000000000000061311e565b6000821580613d69575081155b15613d765750600161075a565b600083831115613d9757613d90838563ffffffff6145c916565b9050613daa565b613da7848463ffffffff6145c916565b90505b613db2612c67565b11159392505050565b613dc36146b2565b600080600080600080600080613dd7611d1a565b6001600160a01b03166315987eb68d8d8d6040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b0316815260200183815260200182815260200193505050506101006040518083038186803b158015613e3d57600080fd5b505afa158015613e51573d6000803e3d6000fd5b505050506040513d610100811015613e6857600080fd5b50805160208083015160408085015160608087015160808089015160a0808b015160c0808d015160e09d8e01518a5161010081018c529d8e529b8d019a909a52978b019690965293890192909252870152850152830152918101919091529c9b505050505050505050505050565b6000806000613ee36122b6565b90506000613eef612e1d565b9050816001600160a01b031663109e46a286600001518760c001518860a00151856040518563ffffffff1660e01b81526004018085815260200184815260200183815260200182815260200194505050505060206040518083038186803b158015613f5957600080fd5b505afa158015613f6d573d6000803e3d6000fd5b505050506040513d6020811015613f8357600080fd5b505160408087015160e088015160a089015183517f109e46a20000000000000000000000000000000000000000000000000000000081526004810193909352602483019190915260448201526064810184905290519195506001600160a01b0384169163109e46a291608480820192602092909190829003018186803b15801561400c57600080fd5b505afa158015614020573d6000803e3d6000fd5b505050506040513d602081101561403657600080fd5b50519395939450505050565b60006107576140c78373__$cc56be524fc9a50cd50be137f56c651270$__63907af6c06040518163ffffffff1660e01b815260040160206040518083038186803b15801561408f57600080fd5b505af41580156140a3573d6000803e3d6000fd5b505050506040513d60208110156140b957600080fd5b50519063ffffffff61320716565b849063ffffffff6145f316565b60006140de6144e3565b6001600160a01b03166323257c2b6d53797374656d53657474696e677360901b7f65786368616e6765466565526174650000000000000000000000000000000000856040516020018083815260200182815260200192505050604051602081830303815290604052805190602001206040518363ffffffff1660e01b8152600401808381526020018281526020019250505060206040518083038186803b15801561418857600080fd5b505afa15801561419c573d6000803e3d6000fd5b505050506040513d60208110156141b257600080fd5b505192915050565b6000826141c95750600061075a565b828202828482816141d657fe5b04146107575760405162461bcd60e51b81526004018080602001828103825260218152602001806147a96021913960400191505060405180910390fd5b61421b611dad565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b15801561425e57600080fd5b505afa158015614272573d6000803e3d6000fd5b505050506040513d602081101561428857600080fd5b505160408051632770a7eb60e21b81526001600160a01b0386811660048301526024820185905291519190921691639dc29fac91604480830192600092919082900301818387803b1580156142dc57600080fd5b505af11580156142f0573d6000803e3d6000fd5b505050506142fc611d94565b6001600160a01b031663ace88afd8484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612e0057600080fd5b61436b611dad565b6001600160a01b03166357ad4663836040518263ffffffff1660e01b81526004018082815260200191505060206040518083038186803b1580156143ae57600080fd5b505afa1580156143c2573d6000803e3d6000fd5b505050506040513d60208110156143d857600080fd5b5051604080517f867904b40000000000000000000000000000000000000000000000000000000081526001600160a01b038681166004830152602482018590529151919092169163867904b491604480830192600092919082900301818387803b15801561444557600080fd5b505af1158015614459573d6000803e3d6000fd5b50505050614465611d94565b6001600160a01b0316636f01a9868484846040518463ffffffff1660e01b815260040180846001600160a01b03166001600160a01b031681526020018381526020018281526020019350505050600060405180830381600087803b158015612e0057600080fd5b6000610f316844656274436163686560b81b61311e565b6000610f317f466c657869626c6553746f72616765000000000000000000000000000000000061311e565b600061451861461d565b604080517ff7741add0000000000000000000000000000000000000000000000000000000081526001600160a01b038881166004830152878116602483015260448201879052606482018690529151929091169163f7741add916084808201926020929091908290030181600087803b15801561459457600080fd5b505af11580156145a8573d6000803e3d6000fd5b505050506040513d60208110156145be57600080fd5b509095945050505050565b6000610757826145e785670de0b6b3a764000063ffffffff6141ba16565b9063ffffffff61464816565b6000670de0b6b3a764000061460e848463ffffffff6141ba16565b8161461557fe5b049392505050565b6000610f317f5669727475616c50796e7468497373756572000000000000000000000000000061311e565b600080821161469e576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b60008284816146a957fe5b04949350505050565b6040518061010001604052806000801916815260200160008152602001600080191681526020016000815260200160008152602001600081526020016000815260200160008152509056fe596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e65727368697045786368616e6765723a204f6e6c79207065726946696e616e6365206f7220612070796e746820636f6e74726163742063616e20706572666f726d207468697320616374696f6e4f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6e536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f775372632f64657374207261746520696e76616c6964206f72206e6f7420666f756e6443616e6e6f7420736574746c6520647572696e672077616974696e6720706572696f64a265627a7a723158204696a35aeb4cae079288c89c2357ac1dd6363e6a77a214e607177c26f00a728564736f6c63430005100032",
			"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"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "srcRate",
							"type": "uint256"
						},
						{
							"indexed": false,
							"internalType": "uint256",
							"name": "destRate",
							"type": "uint256"
						}
					],
					"name": "ExchangeEntryAppended",
					"type": "event",
					"signature": "0x753ece0a79a8fe2305cf1cb4535d36fac46ef4b8bf768e1abffe6fc2de2636fe"
				},
				{
					"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": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						}
					],
					"name": "calculateAmountAfterSettlement",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountAfterSettlement",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x4c268fc8"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						}
					],
					"name": "exchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0a1e187d"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalf",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x6a1c4758"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "exchangeForAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeOnBehalfWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xdfffca76"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "originator",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithTracking",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x86baa45c"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "address",
							"name": "destinationAddress",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "trackingCode",
							"type": "bytes32"
						}
					],
					"name": "exchangeWithVirtual",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf3995224"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "feeRateForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x1a5c6095"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "uint256",
							"name": "sourceAmount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "sourceCurrencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "bytes32",
							"name": "destinationCurrencyKey",
							"type": "bytes32"
						}
					],
					"name": "getAmountsForExchange",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "amountReceived",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "fee",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "exchangeFeeRate",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xf450aa34"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "hasWaitingPeriodOrSettlementOwing",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xd6f32e06"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "isPynthRateInvalid",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xa4a9c266"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "isResolverCached",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x2af64bd3"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "",
							"type": "bytes32"
						}
					],
					"name": "lastExchangeRate",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x7dd1a57a"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "maxSecsLeftInWaitingPeriod",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x059c29ec"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "_owner",
							"type": "address"
						}
					],
					"name": "nominateNewOwner",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1627540c"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "nominatedOwner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x53a47bb7"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "owner",
					"outputs": [
						{
							"internalType": "address",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x8da5cb5b"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "priceDeviationThresholdFactor",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x372a395a"
				},
				{
					"constant": false,
					"inputs": [],
					"name": "rebuildCache",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x74185360"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32[]",
							"name": "currencyKeys",
							"type": "bytes32[]"
						}
					],
					"name": "resetLastExchangeRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x24286df0"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolver",
					"outputs": [
						{
							"internalType": "contract AddressResolver",
							"name": "",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x04f3bcec"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "resolverAddressesRequired",
					"outputs": [
						{
							"internalType": "bytes32[]",
							"name": "addresses",
							"type": "bytes32[]"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x899ffef4"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						},
						{
							"internalType": "uint256",
							"name": "rate",
							"type": "uint256"
						}
					],
					"name": "setLastExchangeRateForPynth",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x57630a40"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "address",
							"name": "from",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settle",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimed",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "refunded",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntriesSettled",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x1b16802c"
				},
				{
					"constant": true,
					"inputs": [
						{
							"internalType": "address",
							"name": "account",
							"type": "address"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "settlementOwing",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "reclaimAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "rebateAmount",
							"type": "uint256"
						},
						{
							"internalType": "uint256",
							"name": "numEntries",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x19d5c665"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "suspendPynthWithInvalidRate",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x0aed5b46"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "tradingRewardsEnabled",
					"outputs": [
						{
							"internalType": "bool",
							"name": "",
							"type": "bool"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0xc193f0d8"
				},
				{
					"constant": true,
					"inputs": [],
					"name": "waitingPeriodSecs",
					"outputs": [
						{
							"internalType": "uint256",
							"name": "",
							"type": "uint256"
						}
					],
					"payable": false,
					"stateMutability": "view",
					"type": "function",
					"signature": "0x89257117"
				}
			],
			"source": {
				"keccak256": "0xd92a1bc336c63374de3fff06819426ce04575b2dffa763092a25f935837ba2ba",
				"urls": [
					"bzz-raw://3dca407e9b318e74eefd87740a01fd31280cc4f36d011f1dfe4173294d7a63b6",
					"dweb:/ipfs/QmR4mhxrzwsPK78ZW7hqAtJN2fJNeRY1kpat4MiKbXJQT2"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"Exchanger.sol": "Exchanger"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"Exchanger.sol": {
						"keccak256": "0xd92a1bc336c63374de3fff06819426ce04575b2dffa763092a25f935837ba2ba",
						"urls": [
							"bzz-raw://3dca407e9b318e74eefd87740a01fd31280cc4f36d011f1dfe4173294d7a63b6",
							"dweb:/ipfs/QmR4mhxrzwsPK78ZW7hqAtJN2fJNeRY1kpat4MiKbXJQT2"
						]
					}
				},
				"version": 1
			}
		},
		"VirtualPynthIssuer": {
			"bytecode": "608060405234801561001057600080fd5b50604051611f66380380611f668339818101604052604081101561003357600080fd5b50805160209091015180826001600160a01b038116610099576040805162461bcd60e51b815260206004820152601960248201527f4f776e657220616464726573732063616e6e6f74206265203000000000000000604482015290519081900360640190fd5b600080546001600160a01b0319166001600160a01b038316908117825560408051928352602083019190915280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a150600280546001600160a01b039092166001600160a01b03199092169190911790555050611e42806101246000396000f3fe608060405234801561001057600080fd5b50600436106100a35760003560e01c80637418536011610076578063899ffef41161005b578063899ffef4146101285780638da5cb5b14610180578063f7741add14610188576100a3565b8063741853601461011857806379ba509714610120576100a3565b806304f3bcec146100a85780631627540c146100cc5780632af64bd3146100f457806353a47bb714610110575b600080fd5b6100b06101c4565b604080516001600160a01b039092168252519081900360200190f35b6100f2600480360360208110156100e257600080fd5b50356001600160a01b03166101d3565b005b6100fc61023c565b604080519115158252519081900360200190f35b6100b0610360565b6100f261036f565b6100f2610544565b61013061060d565b60408051602080825283518183015283519192839290830191858101910280838360005b8381101561016c578181015183820152602001610154565b505050509050019250505060405180910390f35b6100b0610658565b6100b06004803603608081101561019e57600080fd5b506001600160a01b03813581169160208101359091169060408101359060600135610667565b6002546001600160a01b031681565b6101db6106eb565b600180546001600160a01b03831673ffffffffffffffffffffffffffffffffffffffff19909116811790915560408051918252517f906a1c6bd7e3091ea86693dd029a831c19049ce77f1dce2ce0bab1cacbabce229181900360200190a150565b6000606061024861060d565b905060005b815181101561035657600082828151811061026457fe5b6020908102919091018101516000818152600383526040908190205460025482517f21f8a7210000000000000000000000000000000000000000000000000000000081526004810185905292519395506001600160a01b03918216949116926321f8a721926024808201939291829003018186803b1580156102e557600080fd5b505afa1580156102f9573d6000803e3d6000fd5b505050506040513d602081101561030f57600080fd5b50516001600160a01b031614158061033c57506000818152600360205260409020546001600160a01b0316155b1561034d576000935050505061035d565b5060010161024d565b5060019150505b90565b6001546001600160a01b031681565b606061037961060d565b905060005b815181101561054057600082828151811061039557fe5b602090810291909101810151600254604080517f5265736f6c766572206d697373696e67207461726765743a2000000000000000818601526039808201859052825180830390910181526059820180845263dacb2d0160e01b9052605d8201858152607d83019384528151609d84015281519597506000966001600160a01b039095169563dacb2d01958995939492939260bd0191908501908083838c5b8381101561044b578181015183820152602001610433565b50505050905090810190601f1680156104785780820380516001836020036101000a031916815260200191505b50935050505060206040518083038186803b15801561049657600080fd5b505afa1580156104aa573d6000803e3d6000fd5b505050506040513d60208110156104c057600080fd5b5051600083815260036020908152604091829020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b03851690811790915582518681529182015281519293507f88a93678a3692f6789d9546fc621bf7234b101ddb7d4fe479455112831b8aa68929081900390910190a1505060010161037e565b5050565b6001546001600160a01b0316331461058d5760405162461bcd60e51b8152600401808060200182810382526035815260200180611daa6035913960400191505060405180910390fd5b600054600154604080516001600160a01b03938416815292909116602083015280517fb532073b38c83145e3e5135377a08bf9aab55bc0fd7c1179cd4fb995d2a5159c9281900390910190a1600180546000805473ffffffffffffffffffffffffffffffffffffffff199081166001600160a01b03841617909155169055565b604080516001808252818301909252606091602080830190803883390190505090506822bc31b430b733b2b960b91b8160008151811061064957fe5b60200260200101818152505090565b6000546001600160a01b031681565b6000610671610736565b6001600160a01b0316336001600160a01b0316146106d6576040805162461bcd60e51b815260206004820152601e60248201527f4f6e6c792045786368616e6765722063616e20696e766f6b6520746869730000604482015290519081900360640190fd5b6106e2858585856107f2565b95945050505050565b6000546001600160a01b031633146107345760405162461bcd60e51b815260040180806020018281038252602f815260200180611ddf602f913960400191505060405180910390fd5b565b6002546040805163dacb2d0160e01b81526822bc31b430b733b2b960b91b600482015260248101829052601960448201527f4d697373696e672045786368616e676572206164647265737300000000000000606482015290516000926001600160a01b03169163dacb2d01916084808301926020929190829003018186803b1580156107c157600080fd5b505afa1580156107d5573d6000803e3d6000fd5b505050506040513d60208110156107eb57600080fd5b5051905090565b60007f69000000000000000000000000000000000000000000000000000000000000007fff0000000000000000000000000000000000000000000000000000000000000083831a60f81b161415610890576040805162461bcd60e51b815260206004820152601c60248201527f43616e6e6f74207669727475616c697a6520746869732070796e746800000000604482015290519081900360640190fd5b60025460405186916001600160a01b0316908690869086906108b19061095d565b6001600160a01b0395861681529385166020850152919093166040808401919091526060830193909352608082015290519081900360a001906000f0801580156108ff573d6000803e3d6000fd5b50604080516001600160a01b03808416825260208201869052818301879052915192935081871692918816917f40d987c0a731a91929904e2b9a1a44b1aa1c6ab528b7ee2e35652fe1691cbd369181900360600190a3949350505050565b61143f8061096b8339019056fe60806040526004805460ff60a01b1916905534801561001d57600080fd5b506040516200143f3803806200143f833981810160405260a081101561004257600080fd5b508051602082015160408301516060840151608090940151600380546001600160a01b038087166001600160a01b03199283161790925560048054928616929091169190911790556007819055929391929091906100a983836001600160e01b036100b616565b5060055550610211915050565b6001600160a01b038216610111576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61012a816002546101b060201b610b6c1790919060201c565b6002556001600160a01b0382166000908152602081815260409091205461015a918390610b6c6101b0821b17901c565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b60008282018381101561020a576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b61121e80620002216000396000f3fe608060405234801561001057600080fd5b50600436106101825760003560e01c80633db3dc9b116100d85780638f7758391161008c578063a9059cbb11610066578063a9059cbb146103e2578063dbd06c851461040e578063dd62ed3e1461041657610182565b80638f775839146103a657806395d89b41146103ae578063a457c2d7146103b657610182565b80636a256b29116100bd5780636a256b291461035057806370a082311461037857806378f2ac261461039e57610182565b80633db3dc9b146103405780634be37cea1461034857610182565b806323b872dd1161013a578063378dc3dc11610114578063378dc3dc146102e657806339509351146102ee5780633af9e6691461031a57610182565b806323b872dd1461028a5780632c4e722e146102c0578063313ce567146102c857610182565b8063095ea7b31161016b578063095ea7b31461022857806318160ddd146102685780631d0cbc8b1461028257610182565b806304f3bcec1461018757806306fdde03146101ab575b600080fd5b61018f610444565b604080516001600160a01b039092168252519081900360200190f35b6101b3610453565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101ed5781810151838201526020016101d5565b50505050905090810190601f16801561021a5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102546004803603604081101561023e57600080fd5b506001600160a01b03813516906020013561049c565b604080519115158252519081900360200190f35b6102706104b3565b60408051918252519081900360200190f35b61018f6104b9565b610254600480360360608110156102a057600080fd5b506001600160a01b038135811691602081013590911690604001356104c8565b61027061051f565b6102d061052e565b6040805160ff9092168252519081900360200190f35b610270610533565b6102546004803603604081101561030457600080fd5b506001600160a01b038135169060200135610539565b6102706004803603602081101561033057600080fd5b50356001600160a01b0316610575565b610270610580565b610270610586565b6103766004803603602081101561036657600080fd5b50356001600160a01b0316610590565b005b6102706004803603602081101561038e57600080fd5b50356001600160a01b0316610644565b61025461065f565b61025461066f565b6101b361067f565b610254600480360360408110156103cc57600080fd5b506001600160a01b0381351690602001356106c7565b610254600480360360408110156103f857600080fd5b506001600160a01b038135169060200135610703565b610270610710565b6102706004803603604081101561042c57600080fd5b506001600160a01b0381358116916020013516610716565b6004546001600160a01b031681565b600754604080517f5669727475616c2050796e7468200000000000000000000000000000000000006020820152602e8082019390935281518082039093018352604e0190525b90565b60006104a9338484610741565b5060015b92915050565b60025490565b6003546001600160a01b031681565b60006104d584848461082d565b6001600160a01b038416600090815260016020908152604080832033808552925290912054610515918691610510908663ffffffff61096f16565b610741565b5060019392505050565b60006105296109cc565b905090565b601281565b60055481565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104a9918590610510908663ffffffff610b6c16565b60006104ad82610bcd565b60065481565b6000610529610bf3565b610598610c8d565b6003546001600160a01b031663a9059cbb826105b381610bcd565b6040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050602060405180830381600087803b15801561060257600080fd5b505af1158015610616573d6000803e3d6000fd5b505050506040513d602081101561062c57600080fd5b5061064190508161063c81610644565b610e28565b50565b6001600160a01b031660009081526020819052604090205490565b6000610669610bf3565b15905090565b600454600160a01b900460ff1681565b600754604080517f7600000000000000000000000000000000000000000000000000000000000000602082015260218082019390935281518082039093018352604101905290565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916104a9918590610510908663ffffffff61096f16565b60006104a933848461082d565b60075481565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6001600160a01b0383166107865760405162461bcd60e51b81526004018080602001828103825260248152602001806111c66024913960400191505060405180910390fd5b6001600160a01b0382166107cb5760405162461bcd60e51b815260040180806020018281038252602281526020018061113d6022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b0383166108725760405162461bcd60e51b81526004018080602001828103825260258152602001806111a16025913960400191505060405180910390fd5b6001600160a01b0382166108b75760405162461bcd60e51b815260040180806020018281038252602381526020018061111a6023913960400191505060405180910390fd5b6001600160a01b0383166000908152602081905260409020546108e0908263ffffffff61096f16565b6001600160a01b038085166000908152602081905260408082209390935590841681522054610915908263ffffffff610b6c16565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b6000828211156109c6576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b6000600554600014156109e157506000610499565b600454600090600160a01b900460ff16610b4d57600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610a4057600080fd5b505afa158015610a54573d6000803e3d6000fd5b505050506040513d6020811015610a6a57600080fd5b50519050600080610a79610f01565b6001600160a01b03166319d5c665306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060606040518083038186803b158015610ad857600080fd5b505afa158015610aec573d6000803e3d6000fd5b505050506040513d6060811015610b0257600080fd5b50805160209091015190925090508115610b2d57610b26838363ffffffff61096f16565b9250610b46565b8015610b4657610b43838263ffffffff610b6c16565b92505b5050610b52565b506006545b600554610b6690829063ffffffff610fbd16565b91505090565b600082820183811015610bc6576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b600080610bd983610644565b9050610bc6610be66109cc565b829063ffffffff610fd216565b6000610bfd610f01565b6001600160a01b031663059c29ec306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b031681526020018281526020019250505060206040518083038186803b158015610c5c57600080fd5b505afa158015610c70573d6000803e3d6000fd5b505050506040513d6020811015610c8657600080fd5b5051905090565b600454600160a01b900460ff1615610ca457610e26565b600480547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16600160a01b179055610cda610f01565b6001600160a01b0316631b16802c306007546040518363ffffffff1660e01b815260040180836001600160a01b03166001600160a01b0316815260200182815260200192505050606060405180830381600087803b158015610d3b57600080fd5b505af1158015610d4f573d6000803e3d6000fd5b505050506040513d6060811015610d6557600080fd5b5050600354604080516370a0823160e01b815230600482015290516001600160a01b03909216916370a0823191602480820192602092909190829003018186803b158015610db257600080fd5b505afa158015610dc6573d6000803e3d6000fd5b505050506040513d6020811015610ddc57600080fd5b50516006557ff5b268a3ff315cc44ccceeef86259c9e8eef81ceecb14001543809115380dd62610e0a6104b3565b6006546040805192835260208301919091528051918290030190a15b565b6001600160a01b038216610e6d5760405162461bcd60e51b81526004018080602001828103825260218152602001806111806021913960400191505060405180910390fd5b600254610e80908263ffffffff61096f16565b6002556001600160a01b038216600090815260208190526040902054610eac908263ffffffff61096f16565b6001600160a01b038316600081815260208181526040808320949094558351858152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a35050565b60048054604080517fdacb2d010000000000000000000000000000000000000000000000000000000081527f45786368616e67657200000000000000000000000000000000000000000000009381019390935260248301819052601c60448401527f45786368616e67657220636f6e7472616374206e6f7420666f756e64000000006064840152516000926001600160a01b039092169163dacb2d01916084808301926020929190829003018186803b158015610c5c57600080fd5b6000610bc68383670de0b6b3a7640000610fe7565b6000610bc68383670de0b6b3a764000061102b565b60008061100d8461100187600a870263ffffffff61105616565b9063ffffffff6110af16565b90506005600a825b061061101f57600a015b600a9004949350505050565b600080600a8304611042868663ffffffff61105616565b8161104957fe5b0490506005600a82611015565b600082611065575060006104ad565b8282028284828161107257fe5b0414610bc65760405162461bcd60e51b815260040180806020018281038252602181526020018061115f6021913960400191505060405180910390fd5b6000808211611105576040805162461bcd60e51b815260206004820152601a60248201527f536166654d6174683a206469766973696f6e206279207a65726f000000000000604482015290519081900360640190fd5b600082848161111057fe5b0494935050505056fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f2061646472657373536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f7745524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373a265627a7a72315820f8807d5e513e7a733b72e411f62f473ae4c5552862572c64711ad5f59b45548c64736f6c63430005100032596f75206d757374206265206e6f6d696e61746564206265666f726520796f752063616e20616363657074206f776e6572736869704f6e6c792074686520636f6e7472616374206f776e6572206d617920706572666f726d207468697320616374696f6ea265627a7a723158200f1acb36d15deec479df4c53a154dc90937b3896bb8aec8bee32ab902cfb606d64736f6c63430005100032",
			"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": 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": false,
					"inputs": [],
					"name": "acceptOwnership",
					"outputs": [],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0x79ba5097"
				},
				{
					"constant": false,
					"inputs": [
						{
							"internalType": "contract IERC20",
							"name": "pynth",
							"type": "address"
						},
						{
							"internalType": "address",
							"name": "recipient",
							"type": "address"
						},
						{
							"internalType": "uint256",
							"name": "amount",
							"type": "uint256"
						},
						{
							"internalType": "bytes32",
							"name": "currencyKey",
							"type": "bytes32"
						}
					],
					"name": "createVirtualPynth",
					"outputs": [
						{
							"internalType": "contract IVirtualPynth",
							"name": "vPynth",
							"type": "address"
						}
					],
					"payable": false,
					"stateMutability": "nonpayable",
					"type": "function",
					"signature": "0xf7741add"
				},
				{
					"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": "0x7bb575f70d195d9abed55e3022cccedca97cb83cfce223416837ac55ec7151a2",
				"urls": [
					"bzz-raw://cb163643e52b2fb8f3d9421ee2771bf0cfa1d01fdcc3a1f09c498b1efdee1165",
					"dweb:/ipfs/QmfZShY7yLxR3FBxUxUzz7muwBj7M1ixG9SLfrz5N2bWhN"
				]
			},
			"metadata": {
				"compiler": {
					"version": "0.5.16+commit.9c3226ce"
				},
				"language": "Solidity",
				"settings": {
					"compilationTarget": {
						"VirtualPynthIssuer.sol": "VirtualPynthIssuer"
					},
					"evmVersion": "istanbul",
					"libraries": {},
					"optimizer": {
						"enabled": true,
						"runs": 1000
					},
					"remappings": []
				},
				"sources": {
					"VirtualPynthIssuer.sol": {
						"keccak256": "0x7bb575f70d195d9abed55e3022cccedca97cb83cfce223416837ac55ec7151a2",
						"urls": [
							"bzz-raw://cb163643e52b2fb8f3d9421ee2771bf0cfa1d01fdcc3a1f09c498b1efdee1165",
							"dweb:/ipfs/QmfZShY7yLxR3FBxUxUzz7muwBj7M1ixG9SLfrz5N2bWhN"
						]
					}
				},
				"version": 1
			}
		}
	}
}
