{
	"schemaVersion": "2.0.0",
	"contractName": "ZRXToken",
	"compilerOutput": {
		"abi": [
			{
				"constant": true,
				"inputs": [],
				"name": "name",
				"outputs": [
					{
						"name": "",
						"type": "string"
					}
				],
				"payable": false,
				"type": "function"
			},
			{
				"constant": false,
				"inputs": [
					{
						"name": "_spender",
						"type": "address"
					},
					{
						"name": "_value",
						"type": "uint256"
					}
				],
				"name": "approve",
				"outputs": [
					{
						"name": "",
						"type": "bool"
					}
				],
				"payable": false,
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "totalSupply",
				"outputs": [
					{
						"name": "",
						"type": "uint256"
					}
				],
				"payable": false,
				"type": "function"
			},
			{
				"constant": false,
				"inputs": [
					{
						"name": "_from",
						"type": "address"
					},
					{
						"name": "_to",
						"type": "address"
					},
					{
						"name": "_value",
						"type": "uint256"
					}
				],
				"name": "transferFrom",
				"outputs": [
					{
						"name": "",
						"type": "bool"
					}
				],
				"payable": false,
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "decimals",
				"outputs": [
					{
						"name": "",
						"type": "uint8"
					}
				],
				"payable": false,
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [
					{
						"name": "_owner",
						"type": "address"
					}
				],
				"name": "balanceOf",
				"outputs": [
					{
						"name": "",
						"type": "uint256"
					}
				],
				"payable": false,
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [],
				"name": "symbol",
				"outputs": [
					{
						"name": "",
						"type": "string"
					}
				],
				"payable": false,
				"type": "function"
			},
			{
				"constant": false,
				"inputs": [
					{
						"name": "_to",
						"type": "address"
					},
					{
						"name": "_value",
						"type": "uint256"
					}
				],
				"name": "transfer",
				"outputs": [
					{
						"name": "",
						"type": "bool"
					}
				],
				"payable": false,
				"type": "function"
			},
			{
				"constant": true,
				"inputs": [
					{
						"name": "_owner",
						"type": "address"
					},
					{
						"name": "_spender",
						"type": "address"
					}
				],
				"name": "allowance",
				"outputs": [
					{
						"name": "",
						"type": "uint256"
					}
				],
				"payable": false,
				"type": "function"
			},
			{
				"inputs": [],
				"payable": false,
				"type": "constructor"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"name": "_from",
						"type": "address"
					},
					{
						"indexed": true,
						"name": "_to",
						"type": "address"
					},
					{
						"indexed": false,
						"name": "_value",
						"type": "uint256"
					}
				],
				"name": "Transfer",
				"type": "event"
			},
			{
				"anonymous": false,
				"inputs": [
					{
						"indexed": true,
						"name": "_owner",
						"type": "address"
					},
					{
						"indexed": true,
						"name": "_spender",
						"type": "address"
					},
					{
						"indexed": false,
						"name": "_value",
						"type": "uint256"
					}
				],
				"name": "Approval",
				"type": "event"
			}
		],
		"devdoc": {
			"methods": {
				"transferFrom(address,address,uint256)": {
					"details": "ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance.",
					"params": {
						"_from": "Address to transfer from.",
						"_to": "Address to transfer to.",
						"_value": "Amount to transfer."
					},
					"return": "Success of transfer."
				}
			}
		},
		"evm": {
			"assembly": "    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":795:1242  contract ZRXToken is UnlimitedAllowanceToken {... */\n  mstore(0x40, 0x60)\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":958:964  10**27 */\n  0x33b2e3c9fd0803ce8000000\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":932:964  uint public totalSupply = 10**27 */\n  0x3\n  sstore\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1150:1240  function ZRXToken()... */\n  jumpi(tag_1, iszero(callvalue))\n  invalid\ntag_1:\ntag_2:\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1222:1233  totalSupply */\n  sload(0x3)\n  sub(exp(0x2, 0xa0), 0x1)\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1208:1218  msg.sender */\n  caller\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1199:1219  balances[msg.sender] */\n  and\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1199:1207  balances */\n  0x0\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1199:1219  balances[msg.sender] */\n  swap1\n  dup2\n  mstore\n  0x20\n  dup2\n  swap1\n  mstore\n  0x40\n  swap1\n  sha3\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1199:1233  balances[msg.sender] = totalSupply */\n  sstore\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1150:1240  function ZRXToken()... */\ntag_3:\n    /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":795:1242  contract ZRXToken is UnlimitedAllowanceToken {... */\ntag_4:\n  dataSize(sub_0)\n  dup1\n  dataOffset(sub_0)\n  0x0\n  codecopy\n  0x0\n  return\nstop\n\nsub_0: assembly {\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":795:1242  contract ZRXToken is UnlimitedAllowanceToken {... */\n      mstore(0x40, 0x60)\n      jumpi(tag_1, iszero(calldatasize))\n      and(div(calldataload(0x0), 0x100000000000000000000000000000000000000000000000000000000), 0xffffffff)\n      0x6fdde03\n      dup2\n      eq\n      tag_2\n      jumpi\n      dup1\n      0x95ea7b3\n      eq\n      tag_3\n      jumpi\n      dup1\n      0x18160ddd\n      eq\n      tag_4\n      jumpi\n      dup1\n      0x23b872dd\n      eq\n      tag_5\n      jumpi\n      dup1\n      0x313ce567\n      eq\n      tag_6\n      jumpi\n      dup1\n      0x70a08231\n      eq\n      tag_7\n      jumpi\n      dup1\n      0x95d89b41\n      eq\n      tag_8\n      jumpi\n      dup1\n      0xa9059cbb\n      eq\n      tag_9\n      jumpi\n      dup1\n      0xdd62ed3e\n      eq\n      tag_10\n      jumpi\n    tag_1:\n      invalid\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1009:1058  string constant public name = \"0x Protocol Token\" */\n    tag_2:\n      jumpi(tag_11, iszero(callvalue))\n      invalid\n    tag_11:\n      tag_12\n      jump(tag_13)\n    tag_12:\n      0x40\n      dup1\n      mload\n      0x20\n      dup1\n      dup3\n      mstore\n      dup4\n      mload\n      dup2\n      dup4\n      add\n      mstore\n      dup4\n      mload\n      swap2\n      swap3\n      dup4\n      swap3\n      swap1\n      dup4\n      add\n      swap2\n      dup6\n      add\n      swap1\n      dup1\n      dup4\n      dup4\n        /* \"--CODEGEN--\":18:20   */\n      dup3\n      iszero\n        /* \"--CODEGEN--\":13:16   */\n      tag_14\n        /* \"--CODEGEN--\":7:12   */\n      jumpi\n        /* \"--CODEGEN--\":32:37   */\n    tag_15:\n        /* \"--CODEGEN--\":59:62   */\n      dup1\n        /* \"--CODEGEN--\":53:58   */\n      mload\n        /* \"--CODEGEN--\":48:51   */\n      dup3\n        /* \"--CODEGEN--\":41:47   */\n      mstore\n        /* \"--CODEGEN--\":93:95   */\n      0x20\n        /* \"--CODEGEN--\":88:91   */\n      dup4\n        /* \"--CODEGEN--\":85:87   */\n      gt\n        /* \"--CODEGEN--\":78:84   */\n      iszero\n        /* \"--CODEGEN--\":73:76   */\n      tag_14\n        /* \"--CODEGEN--\":67:72   */\n      jumpi\n        /* \"--CODEGEN--\":152:155   */\n      0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0\n      swap1\n      swap3\n      add\n      swap2\n        /* \"--CODEGEN--\":117:119   */\n      0x20\n        /* \"--CODEGEN--\":108:111   */\n      swap2\n      dup3\n      add\n      swap2\n        /* \"--CODEGEN--\":130:133   */\n      add\n        /* \"--CODEGEN--\":172:177   */\n      tag_15\n        /* \"--CODEGEN--\":167:171   */\n      jump\n        /* \"--CODEGEN--\":181:184   */\n    tag_14:\n        /* \"--CODEGEN--\":3:189   */\n      pop\n      pop\n      pop\n      swap1\n      pop\n      swap1\n      dup2\n      add\n      swap1\n      0x1f\n      and\n      dup1\n      iszero\n      tag_16\n      jumpi\n      dup1\n      dup3\n      sub\n      dup1\n      mload\n      0x1\n      dup4\n      0x20\n      sub\n      0x100\n      exp\n      sub\n      not\n      and\n      dup2\n      mstore\n      0x20\n      add\n      swap2\n      pop\n    tag_16:\n      pop\n      swap3\n      pop\n      pop\n      pop\n      mload(0x40)\n      dup1\n      swap2\n      sub\n      swap1\n      return\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1087:1274   */\n    tag_3:\n      jumpi(tag_17, iszero(callvalue))\n      invalid\n    tag_17:\n      tag_18\n      and(calldataload(0x4), 0xffffffffffffffffffffffffffffffffffffffff)\n      calldataload(0x24)\n      jump(tag_19)\n    tag_18:\n      0x40\n      dup1\n      mload\n      swap2\n      iszero\n      iszero\n      dup3\n      mstore\n      mload\n      swap1\n      dup2\n      swap1\n      sub\n      0x20\n      add\n      swap1\n      return\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":932:964  uint public totalSupply = 10**27 */\n    tag_4:\n      jumpi(tag_20, iszero(callvalue))\n      invalid\n    tag_20:\n      tag_21\n      jump(tag_22)\n    tag_21:\n      0x40\n      dup1\n      mload\n      swap2\n      dup3\n      mstore\n      mload\n      swap1\n      dup2\n      swap1\n      sub\n      0x20\n      add\n      swap1\n      return\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1066:1675   */\n    tag_5:\n      jumpi(tag_23, iszero(callvalue))\n      invalid\n    tag_23:\n      tag_18\n      0xffffffffffffffffffffffffffffffffffffffff\n      calldataload(0x4)\n      dup2\n      and\n      swap1\n      calldataload(0x24)\n      and\n      calldataload(0x44)\n      jump(tag_25)\n    tag_24:\n      0x40\n      dup1\n      mload\n      swap2\n      iszero\n      iszero\n      dup3\n      mstore\n      mload\n      swap1\n      dup2\n      swap1\n      sub\n      0x20\n      add\n      swap1\n      return\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":891:926  uint8 constant public decimals = 18 */\n    tag_6:\n      jumpi(tag_26, iszero(callvalue))\n      invalid\n    tag_26:\n      tag_27\n      jump(tag_28)\n    tag_27:\n      0x40\n      dup1\n      mload\n      0xff\n      swap1\n      swap3\n      and\n      dup3\n      mstore\n      mload\n      swap1\n      dup2\n      swap1\n      sub\n      0x20\n      add\n      swap1\n      return\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":982:1081   */\n    tag_7:\n      jumpi(tag_29, iszero(callvalue))\n      invalid\n    tag_29:\n      tag_21\n      and(calldataload(0x4), 0xffffffffffffffffffffffffffffffffffffffff)\n      jump(tag_31)\n    tag_30:\n      0x40\n      dup1\n      mload\n      swap2\n      dup3\n      mstore\n      mload\n      swap1\n      dup2\n      swap1\n      sub\n      0x20\n      add\n      swap1\n      return\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1064:1101  string constant public symbol = \"ZRX\" */\n    tag_8:\n      jumpi(tag_32, iszero(callvalue))\n      invalid\n    tag_32:\n      tag_12\n      jump(tag_34)\n    tag_33:\n      0x40\n      dup1\n      mload\n      0x20\n      dup1\n      dup3\n      mstore\n      dup4\n      mload\n      dup2\n      dup4\n      add\n      mstore\n      dup4\n      mload\n      swap2\n      swap3\n      dup4\n      swap3\n      swap1\n      dup4\n      add\n      swap2\n      dup6\n      add\n      swap1\n      dup1\n      dup4\n      dup4\n        /* \"--CODEGEN--\":18:20   */\n      dup3\n      iszero\n        /* \"--CODEGEN--\":13:16   */\n      tag_14\n        /* \"--CODEGEN--\":7:12   */\n      jumpi\n        /* \"--CODEGEN--\":32:37   */\n    tag_36:\n        /* \"--CODEGEN--\":59:62   */\n      dup1\n        /* \"--CODEGEN--\":53:58   */\n      mload\n        /* \"--CODEGEN--\":48:51   */\n      dup3\n        /* \"--CODEGEN--\":41:47   */\n      mstore\n        /* \"--CODEGEN--\":93:95   */\n      0x20\n        /* \"--CODEGEN--\":88:91   */\n      dup4\n        /* \"--CODEGEN--\":85:87   */\n      gt\n        /* \"--CODEGEN--\":78:84   */\n      iszero\n        /* \"--CODEGEN--\":73:76   */\n      tag_14\n        /* \"--CODEGEN--\":67:72   */\n      jumpi\n        /* \"--CODEGEN--\":152:155   */\n      0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0\n      swap1\n      swap3\n      add\n      swap2\n        /* \"--CODEGEN--\":117:119   */\n      0x20\n        /* \"--CODEGEN--\":108:111   */\n      swap2\n      dup3\n      add\n      swap2\n        /* \"--CODEGEN--\":130:133   */\n      add\n        /* \"--CODEGEN--\":172:177   */\n      tag_15\n        /* \"--CODEGEN--\":167:171   */\n      jump\n        /* \"--CODEGEN--\":181:184   */\n    tag_35:\n        /* \"--CODEGEN--\":3:189   */\n      pop\n      pop\n      pop\n      swap1\n      pop\n      swap1\n      dup2\n      add\n      swap1\n      0x1f\n      and\n      dup1\n      iszero\n      tag_16\n      jumpi\n      dup1\n      dup3\n      sub\n      dup1\n      mload\n      0x1\n      dup4\n      0x20\n      sub\n      0x100\n      exp\n      sub\n      not\n      and\n      dup2\n      mstore\n      0x20\n      add\n      swap2\n      pop\n    tag_37:\n      pop\n      swap3\n      pop\n      pop\n      pop\n      mload(0x40)\n      dup1\n      swap2\n      sub\n      swap1\n      return\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":125:535   */\n    tag_9:\n      jumpi(tag_38, iszero(callvalue))\n      invalid\n    tag_38:\n      tag_18\n      and(calldataload(0x4), 0xffffffffffffffffffffffffffffffffffffffff)\n      calldataload(0x24)\n      jump(tag_40)\n    tag_39:\n      0x40\n      dup1\n      mload\n      swap2\n      iszero\n      iszero\n      dup3\n      mstore\n      mload\n      swap1\n      dup2\n      swap1\n      sub\n      0x20\n      add\n      swap1\n      return\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1280:1406   */\n    tag_10:\n      jumpi(tag_41, iszero(callvalue))\n      invalid\n    tag_41:\n      tag_21\n      0xffffffffffffffffffffffffffffffffffffffff\n      calldataload(0x4)\n      dup2\n      and\n      swap1\n      calldataload(0x24)\n      and\n      jump(tag_43)\n    tag_42:\n      0x40\n      dup1\n      mload\n      swap2\n      dup3\n      mstore\n      mload\n      swap1\n      dup2\n      swap1\n      sub\n      0x20\n      add\n      swap1\n      return\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1009:1058  string constant public name = \"0x Protocol Token\" */\n    tag_13:\n      0x40\n      dup1\n      mload\n      dup1\n      dup3\n      add\n      swap1\n      swap2\n      mstore\n      0x11\n      dup2\n      mstore\n      0x30782050726f746f636f6c20546f6b656e000000000000000000000000000000\n      0x20\n      dup3\n      add\n      mstore\n      dup2\n      jump\t// out\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1087:1274   */\n    tag_19:\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1160:1179   */\n      0xffffffffffffffffffffffffffffffffffffffff\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1168:1178   */\n      caller\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1160:1179   */\n      dup2\n      and\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1144:1148   */\n      0x0\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1160:1179   */\n      dup2\n      dup2\n      mstore\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1160:1167   */\n      0x1\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1160:1179   */\n      0x20\n      swap1\n      dup2\n      mstore\n      0x40\n      dup1\n      dup4\n      sha3\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1160:1189   */\n      swap5\n      dup8\n      and\n      dup1\n      dup5\n      mstore\n      swap5\n      dup3\n      mstore\n      dup1\n      dup4\n      sha3\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1160:1198   */\n      dup7\n      swap1\n      sstore\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1208:1246   */\n      dup1\n      mload\n      dup7\n      dup2\n      mstore\n      swap1\n      mload\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1144:1148   */\n      swap3\n      swap5\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1160:1189   */\n      swap4\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1160:1179   */\n      swap3\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1208:1246   */\n      0x8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925\n      swap3\n      swap2\n      dup2\n      swap1\n      sub\n      swap1\n      swap2\n      add\n      swap1\n      log3\n      pop\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1263:1267   */\n      0x1\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1087:1274   */\n    tag_44:\n      swap3\n      swap2\n      pop\n      pop\n      jump\t// out\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":932:964  uint public totalSupply = 10**27 */\n    tag_22:\n      sload(0x3)\n      dup2\n      jump\t// out\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1066:1675   */\n    tag_25:\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1198:1212   */\n      0xffffffffffffffffffffffffffffffffffffffff\n      dup1\n      dup5\n      and\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1161:1165   */\n      0x0\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1198:1212   */\n      dup2\n      dup2\n      mstore\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1198:1205   */\n      0x1\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1198:1212   */\n      0x20\n      swap1\n      dup2\n      mstore\n      0x40\n      dup1\n      dup4\n      sha3\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1213:1223   */\n      caller\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1198:1224   */\n      swap1\n      swap6\n      and\n      dup4\n      mstore\n      swap4\n      dup2\n      mstore\n      dup4\n      dup3\n      sha3\n      sload\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1238:1253   */\n      swap3\n      dup3\n      mstore\n      dup2\n      swap1\n      mstore\n      swap2\n      dup3\n      sha3\n      sload\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1238:1263   */\n      dup4\n      swap1\n      lt\n      dup1\n      iszero\n      swap1\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1238:1298   */\n      tag_46\n      jumpi\n      pop\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1292:1298   */\n      dup3\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1279:1288   */\n      dup2\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1279:1298   */\n      lt\n      iszero\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1238:1298   */\n    tag_46:\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1238:1353   */\n      dup1\n      iszero\n      tag_47\n      jumpi\n      pop\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1340:1353   */\n      0xffffffffffffffffffffffffffffffffffffffff\n      dup5\n      and\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1340:1348   */\n      0x0\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1340:1353   */\n      swap1\n      dup2\n      mstore\n      0x20\n      dup2\n      swap1\n      mstore\n      0x40\n      swap1\n      sha3\n      sload\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1314:1336   */\n      dup4\n      dup2\n      add\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1314:1353   */\n      lt\n      iszero\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1238:1353   */\n    tag_47:\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1234:1669   */\n      iszero\n      tag_48\n      jumpi\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1378:1391   */\n      0xffffffffffffffffffffffffffffffffffffffff\n      dup1\n      dup6\n      and\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1378:1386   */\n      0x0\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1378:1391   */\n      swap1\n      dup2\n      mstore\n      0x20\n      dup2\n      swap1\n      mstore\n      0x40\n      dup1\n      dup3\n      sha3\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1378:1401   */\n      dup1\n      sload\n      dup8\n      add\n      swap1\n      sstore\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1415:1430   */\n      swap2\n      dup8\n      and\n      dup2\n      mstore\n      sha3\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1415:1440   */\n      dup1\n      sload\n      dup5\n      swap1\n      sub\n      swap1\n      sstore\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":768:778   */\n      0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1458:1478   */\n      dup2\n      lt\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1454:1549   */\n      iszero\n      tag_49\n      jumpi\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1498:1512   */\n      0xffffffffffffffffffffffffffffffffffffffff\n      dup1\n      dup7\n      and\n      0x0\n      swap1\n      dup2\n      mstore\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1498:1505   */\n      0x1\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1498:1512   */\n      0x20\n      swap1\n      dup2\n      mstore\n      0x40\n      dup1\n      dup4\n      sha3\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1513:1523   */\n      caller\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1498:1524   */\n      swap1\n      swap5\n      and\n      dup4\n      mstore\n      swap3\n      swap1\n      mstore\n      sha3\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1498:1534   */\n      dup1\n      sload\n      dup5\n      swap1\n      sub\n      swap1\n      sstore\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1454:1549   */\n    tag_49:\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1578:1581   */\n      dup4\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1562:1590   */\n      0xffffffffffffffffffffffffffffffffffffffff\n      and\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1571:1576   */\n      dup6\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1562:1590   */\n      0xffffffffffffffffffffffffffffffffffffffff\n      and\n      0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1583:1589   */\n      dup6\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1562:1590   */\n      mload(0x40)\n      dup1\n      dup3\n      dup2\n      mstore\n      0x20\n      add\n      swap2\n      pop\n      pop\n      mload(0x40)\n      dup1\n      swap2\n      sub\n      swap1\n      log3\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1611:1615   */\n      0x1\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1604:1615   */\n      swap2\n      pop\n      jump(tag_50)\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1234:1669   */\n    tag_48:\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1653:1658   */\n      0x0\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1646:1658   */\n      swap2\n      pop\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1234:1669   */\n    tag_50:\n        /* \"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":1066:1675   */\n    tag_45:\n      pop\n      swap4\n      swap3\n      pop\n      pop\n      pop\n      jump\t// out\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":891:926  uint8 constant public decimals = 18 */\n    tag_28:\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":924:926  18 */\n      0x12\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":891:926  uint8 constant public decimals = 18 */\n      dup2\n      jump\t// out\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":982:1081   */\n    tag_31:\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1058:1074   */\n      0xffffffffffffffffffffffffffffffffffffffff\n      dup2\n      and\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1035:1039   */\n      0x0\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1058:1074   */\n      swap1\n      dup2\n      mstore\n      0x20\n      dup2\n      swap1\n      mstore\n      0x40\n      swap1\n      sha3\n      sload\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":982:1081   */\n    tag_51:\n      swap2\n      swap1\n      pop\n      jump\t// out\n        /* \"2.0.0/tokens/ZRXToken/ZRXToken.sol\":1064:1101  string constant public symbol = \"ZRX\" */\n    tag_34:\n      0x40\n      dup1\n      mload\n      dup1\n      dup3\n      add\n      swap1\n      swap2\n      mstore\n      0x3\n      dup2\n      mstore\n      0x5a52580000000000000000000000000000000000000000000000000000000000\n      0x20\n      dup3\n      add\n      mstore\n      dup2\n      jump\t// out\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":125:535   */\n    tag_40:\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":267:287   */\n      0xffffffffffffffffffffffffffffffffffffffff\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":276:286   */\n      caller\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":267:287   */\n      and\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":178:182   */\n      0x0\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":267:287   */\n      swap1\n      dup2\n      mstore\n      0x20\n      dup2\n      swap1\n      mstore\n      0x40\n      dup2\n      sha3\n      sload\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":267:297   */\n      dup3\n      swap1\n      lt\n      dup1\n      iszero\n      swap1\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":267:340   */\n      tag_53\n      jumpi\n      pop\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":327:340   */\n      0xffffffffffffffffffffffffffffffffffffffff\n      dup4\n      and\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":327:335   */\n      0x0\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":327:340   */\n      swap1\n      dup2\n      mstore\n      0x20\n      dup2\n      swap1\n      mstore\n      0x40\n      swap1\n      sha3\n      sload\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":301:323   */\n      dup3\n      dup2\n      add\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":301:340   */\n      lt\n      iszero\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":267:340   */\n    tag_53:\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":263:529   */\n      iszero\n      tag_54\n      jumpi\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":356:376   */\n      0xffffffffffffffffffffffffffffffffffffffff\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":365:375   */\n      caller\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":356:376   */\n      dup2\n      and\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":356:364   */\n      0x0\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":356:376   */\n      dup2\n      dup2\n      mstore\n      0x20\n      dup2\n      dup2\n      mstore\n      0x40\n      dup1\n      dup4\n      sha3\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":356:386   */\n      dup1\n      sload\n      dup9\n      swap1\n      sub\n      swap1\n      sstore\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":400:413   */\n      swap4\n      dup8\n      and\n      dup1\n      dup4\n      mstore\n      swap2\n      dup5\n      swap1\n      sha3\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":400:423   */\n      dup1\n      sload\n      dup8\n      add\n      swap1\n      sstore\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":437:470   */\n      dup4\n      mload\n      dup7\n      dup2\n      mstore\n      swap4\n      mload\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":400:413   */\n      swap2\n      swap4\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":437:470   */\n      0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef\n      swap3\n      swap1\n      dup2\n      swap1\n      sub\n      swap1\n      swap2\n      add\n      swap1\n      log3\n      pop\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":491:495   */\n      0x1\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":484:495   */\n      jump(tag_44)\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":263:529   */\n    tag_54:\n      pop\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":521:526   */\n      0x0\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":514:526   */\n      jump(tag_44)\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":263:529   */\n    tag_55:\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":125:535   */\n    tag_52:\n      swap3\n      swap2\n      pop\n      pop\n      jump\t// out\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1280:1406   */\n    tag_43:\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1374:1389   */\n      0xffffffffffffffffffffffffffffffffffffffff\n      dup1\n      dup4\n      and\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1351:1355   */\n      0x0\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1374:1389   */\n      swap1\n      dup2\n      mstore\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1374:1381   */\n      0x1\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1374:1389   */\n      0x20\n      swap1\n      dup2\n      mstore\n      0x40\n      dup1\n      dup4\n      sha3\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1374:1399   */\n      swap4\n      dup6\n      and\n      dup4\n      mstore\n      swap3\n      swap1\n      mstore\n      sha3\n      sload\n        /* \"1.0.0/ERC20Token/ERC20Token_v1.sol\":1280:1406   */\n    tag_56:\n      swap3\n      swap2\n      pop\n      pop\n      jump\t// out\n}\n",
			"bytecode": {
				"linkReferences": {},
				"object": "0x60606040526b033b2e3c9fd0803ce8000000600355341561001c57fe5b5b600354600160a060020a0333166000908152602081905260409020555b5b61078d8061004a6000396000f300606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a723058208999c5329f53064aac58d4b553cb379a45bfca17e024506ff916637cfc36f7b20029",
				"opcodes": "PUSH1 0x60 PUSH1 0x40 MSTORE PUSH12 0x33B2E3C9FD0803CE8000000 PUSH1 0x3 SSTORE CALLVALUE ISZERO PUSH2 0x1C JUMPI INVALID JUMPDEST JUMPDEST PUSH1 0x3 SLOAD PUSH1 0x1 PUSH1 0xA0 PUSH1 0x2 EXP SUB CALLER AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SHA3 SSTORE JUMPDEST JUMPDEST PUSH2 0x78D DUP1 PUSH2 0x4A PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN STOP PUSH1 0x60 PUSH1 0x40 MSTORE CALLDATASIZE ISZERO PUSH2 0x96 JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0x6FDDE03 DUP2 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x146 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1EE JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x214 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x33D JUMPI JUMPDEST INVALID JUMPDEST CALLVALUE ISZERO PUSH2 0xA0 JUMPI INVALID JUMPDEST PUSH2 0xA8 PUSH2 0x37E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 DUP3 ISZERO PUSH2 0x10C JUMPI JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP4 GT ISZERO PUSH2 0x10C JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xCE JUMP JUMPDEST POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x138 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x14E JUMPI INVALID JUMPDEST PUSH2 0x172 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x3B5 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x18E JUMPI INVALID JUMPDEST PUSH2 0x196 PUSH2 0x42D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1B0 JUMPI INVALID JUMPDEST PUSH2 0x172 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH1 0x44 CALLDATALOAD PUSH2 0x433 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1F6 JUMPI INVALID JUMPDEST PUSH2 0x1FE PUSH2 0x5D4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x21C JUMPI INVALID JUMPDEST PUSH2 0x196 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD AND PUSH2 0x5D9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x257 JUMPI INVALID JUMPDEST PUSH2 0xA8 PUSH2 0x605 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 DUP3 ISZERO PUSH2 0x10C JUMPI JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP4 GT ISZERO PUSH2 0x10C JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xCE JUMP JUMPDEST POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x138 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x305 JUMPI INVALID JUMPDEST PUSH2 0x172 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x63C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x345 JUMPI INVALID JUMPDEST PUSH2 0x196 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH2 0x727 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x11 DUP2 MSTORE PUSH32 0x30782050726F746F636F6C20546F6B656E000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF CALLER DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE DUP1 DUP4 SHA3 DUP7 SWAP1 SSTORE DUP1 MLOAD DUP7 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP5 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 CALLER SWAP1 SWAP6 AND DUP4 MSTORE SWAP4 DUP2 MSTORE DUP4 DUP3 SHA3 SLOAD SWAP3 DUP3 MSTORE DUP2 SWAP1 MSTORE SWAP2 DUP3 SHA3 SLOAD DUP4 SWAP1 LT DUP1 ISZERO SWAP1 PUSH2 0x483 JUMPI POP DUP3 DUP2 LT ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x4B6 JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SHA3 SLOAD DUP4 DUP2 ADD LT ISZERO JUMPDEST ISZERO PUSH2 0x5C6 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 SHA3 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP2 DUP8 AND DUP2 MSTORE SHA3 DUP1 SLOAD DUP5 SWAP1 SUB SWAP1 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x558 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 CALLER SWAP1 SWAP5 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE SHA3 DUP1 SLOAD DUP5 SWAP1 SUB SWAP1 SSTORE JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP6 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP PUSH2 0x5CB JUMP JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SHA3 SLOAD JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH32 0x5A52580000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF CALLER AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 SHA3 SLOAD DUP3 SWAP1 LT DUP1 ISZERO SWAP1 PUSH2 0x699 JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SHA3 SLOAD DUP3 DUP2 ADD LT ISZERO JUMPDEST ISZERO PUSH2 0x718 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF CALLER DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 DUP1 SLOAD DUP9 SWAP1 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 SHA3 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE DUP4 MLOAD DUP7 DUP2 MSTORE SWAP4 MLOAD SWAP2 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 SWAP1 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 PUSH2 0x427 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x427 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 SWAP4 DUP6 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE SHA3 SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 SHA3 DUP10 SWAP10 0xc5 ORIGIN SWAP16 MSTORE8 MOD 0x4a 0xac PC 0xd4 0xb5 MSTORE8 0xcb CALLDATACOPY SWAP11 GASLIMIT 0xbf 0xca OR 0xe0 0x24 POP PUSH16 0xF916637CFC36F7B20029000000000000 ",
				"sourceMap": "795:447:3:-;;;958:6;932:32;;1150:90;;;;;;;1222:11;;-1:-1:-1;;;;;1208:10:3;1199:20;:8;:20;;;;;;;;;;:34;1150:90;795:447;;;;;;;"
			},
			"deployedBytecode": {
				"linkReferences": {},
				"object": "0x606060405236156100965763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde038114610098578063095ea7b31461014657806318160ddd1461018657806323b872dd146101a8578063313ce567146101ee57806370a082311461021457806395d89b411461024f578063a9059cbb146102fd578063dd62ed3e1461033d575bfe5b34156100a057fe5b6100a861037e565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561014e57fe5b61017273ffffffffffffffffffffffffffffffffffffffff600435166024356103b5565b604080519115158252519081900360200190f35b341561018e57fe5b61019661042d565b60408051918252519081900360200190f35b34156101b057fe5b61017273ffffffffffffffffffffffffffffffffffffffff60043581169060243516604435610433565b604080519115158252519081900360200190f35b34156101f657fe5b6101fe6105d4565b6040805160ff9092168252519081900360200190f35b341561021c57fe5b61019673ffffffffffffffffffffffffffffffffffffffff600435166105d9565b60408051918252519081900360200190f35b341561025757fe5b6100a8610605565b60408051602080825283518183015283519192839290830191850190808383821561010c575b80518252602083111561010c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe090920191602091820191016100ce565b505050905090810190601f1680156101385780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561030557fe5b61017273ffffffffffffffffffffffffffffffffffffffff6004351660243561063c565b604080519115158252519081900360200190f35b341561034557fe5b61019673ffffffffffffffffffffffffffffffffffffffff60043581169060243516610727565b60408051918252519081900360200190f35b60408051808201909152601181527f30782050726f746f636f6c20546f6b656e000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff338116600081815260016020908152604080832094871680845294825280832086905580518681529051929493927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60035481565b73ffffffffffffffffffffffffffffffffffffffff808416600081815260016020908152604080832033909516835293815283822054928252819052918220548390108015906104835750828110155b80156104b6575073ffffffffffffffffffffffffffffffffffffffff841660009081526020819052604090205483810110155b156105c65773ffffffffffffffffffffffffffffffffffffffff808516600090815260208190526040808220805487019055918716815220805484900390557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8110156105585773ffffffffffffffffffffffffffffffffffffffff808616600090815260016020908152604080832033909416835292905220805484900390555b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040518082815260200191505060405180910390a3600191506105cb565b600091505b5b509392505050565b601281565b73ffffffffffffffffffffffffffffffffffffffff81166000908152602081905260409020545b919050565b60408051808201909152600381527f5a52580000000000000000000000000000000000000000000000000000000000602082015281565b73ffffffffffffffffffffffffffffffffffffffff3316600090815260208190526040812054829010801590610699575073ffffffffffffffffffffffffffffffffffffffff831660009081526020819052604090205482810110155b156107185773ffffffffffffffffffffffffffffffffffffffff33811660008181526020818152604080832080548890039055938716808352918490208054870190558351868152935191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3506001610427565b506000610427565b5b92915050565b73ffffffffffffffffffffffffffffffffffffffff8083166000908152600160209081526040808320938516835292905220545b929150505600a165627a7a723058208999c5329f53064aac58d4b553cb379a45bfca17e024506ff916637cfc36f7b20029",
				"opcodes": "PUSH1 0x60 PUSH1 0x40 MSTORE CALLDATASIZE ISZERO PUSH2 0x96 JUMPI PUSH4 0xFFFFFFFF PUSH29 0x100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 CALLDATALOAD DIV AND PUSH4 0x6FDDE03 DUP2 EQ PUSH2 0x98 JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x146 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x186 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x1A8 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x1EE JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x214 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2FD JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x33D JUMPI JUMPDEST INVALID JUMPDEST CALLVALUE ISZERO PUSH2 0xA0 JUMPI INVALID JUMPDEST PUSH2 0xA8 PUSH2 0x37E JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 DUP3 ISZERO PUSH2 0x10C JUMPI JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP4 GT ISZERO PUSH2 0x10C JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xCE JUMP JUMPDEST POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x138 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x14E JUMPI INVALID JUMPDEST PUSH2 0x172 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x3B5 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x18E JUMPI INVALID JUMPDEST PUSH2 0x196 PUSH2 0x42D JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1B0 JUMPI INVALID JUMPDEST PUSH2 0x172 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH1 0x44 CALLDATALOAD PUSH2 0x433 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x1F6 JUMPI INVALID JUMPDEST PUSH2 0x1FE PUSH2 0x5D4 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0xFF SWAP1 SWAP3 AND DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x21C JUMPI INVALID JUMPDEST PUSH2 0x196 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD AND PUSH2 0x5D9 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x257 JUMPI INVALID JUMPDEST PUSH2 0xA8 PUSH2 0x605 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD PUSH1 0x20 DUP1 DUP3 MSTORE DUP4 MLOAD DUP2 DUP4 ADD MSTORE DUP4 MLOAD SWAP2 SWAP3 DUP4 SWAP3 SWAP1 DUP4 ADD SWAP2 DUP6 ADD SWAP1 DUP1 DUP4 DUP4 DUP3 ISZERO PUSH2 0x10C JUMPI JUMPDEST DUP1 MLOAD DUP3 MSTORE PUSH1 0x20 DUP4 GT ISZERO PUSH2 0x10C JUMPI PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0 SWAP1 SWAP3 ADD SWAP2 PUSH1 0x20 SWAP2 DUP3 ADD SWAP2 ADD PUSH2 0xCE JUMP JUMPDEST POP POP POP SWAP1 POP SWAP1 DUP2 ADD SWAP1 PUSH1 0x1F AND DUP1 ISZERO PUSH2 0x138 JUMPI DUP1 DUP3 SUB DUP1 MLOAD PUSH1 0x1 DUP4 PUSH1 0x20 SUB PUSH2 0x100 EXP SUB NOT AND DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP JUMPDEST POP SWAP3 POP POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x305 JUMPI INVALID JUMPDEST PUSH2 0x172 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD AND PUSH1 0x24 CALLDATALOAD PUSH2 0x63C JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 ISZERO ISZERO DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST CALLVALUE ISZERO PUSH2 0x345 JUMPI INVALID JUMPDEST PUSH2 0x196 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF PUSH1 0x4 CALLDATALOAD DUP2 AND SWAP1 PUSH1 0x24 CALLDATALOAD AND PUSH2 0x727 JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD SWAP2 DUP3 MSTORE MLOAD SWAP1 DUP2 SWAP1 SUB PUSH1 0x20 ADD SWAP1 RETURN JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x11 DUP2 MSTORE PUSH32 0x30782050726F746F636F6C20546F6B656E000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF CALLER DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 SWAP5 DUP8 AND DUP1 DUP5 MSTORE SWAP5 DUP3 MSTORE DUP1 DUP4 SHA3 DUP7 SWAP1 SSTORE DUP1 MLOAD DUP7 DUP2 MSTORE SWAP1 MLOAD SWAP3 SWAP5 SWAP4 SWAP3 PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 SWAP3 SWAP2 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x3 SLOAD DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP5 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 CALLER SWAP1 SWAP6 AND DUP4 MSTORE SWAP4 DUP2 MSTORE DUP4 DUP3 SHA3 SLOAD SWAP3 DUP3 MSTORE DUP2 SWAP1 MSTORE SWAP2 DUP3 SHA3 SLOAD DUP4 SWAP1 LT DUP1 ISZERO SWAP1 PUSH2 0x483 JUMPI POP DUP3 DUP2 LT ISZERO JUMPDEST DUP1 ISZERO PUSH2 0x4B6 JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP5 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SHA3 SLOAD DUP4 DUP2 ADD LT ISZERO JUMPDEST ISZERO PUSH2 0x5C6 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP6 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP1 DUP3 SHA3 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE SWAP2 DUP8 AND DUP2 MSTORE SHA3 DUP1 SLOAD DUP5 SWAP1 SUB SWAP1 SSTORE PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 LT ISZERO PUSH2 0x558 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP7 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 CALLER SWAP1 SWAP5 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE SHA3 DUP1 SLOAD DUP5 SWAP1 SUB SWAP1 SSTORE JUMPDEST DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP6 PUSH1 0x40 MLOAD DUP1 DUP3 DUP2 MSTORE PUSH1 0x20 ADD SWAP2 POP POP PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH1 0x1 SWAP2 POP PUSH2 0x5CB JUMP JUMPDEST PUSH1 0x0 SWAP2 POP JUMPDEST JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x12 DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SHA3 SLOAD JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x40 DUP1 MLOAD DUP1 DUP3 ADD SWAP1 SWAP2 MSTORE PUSH1 0x3 DUP2 MSTORE PUSH32 0x5A52580000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE DUP2 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF CALLER AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 DUP2 SHA3 SLOAD DUP3 SWAP1 LT DUP1 ISZERO SWAP1 PUSH2 0x699 JUMPI POP PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x20 DUP2 SWAP1 MSTORE PUSH1 0x40 SWAP1 SHA3 SLOAD DUP3 DUP2 ADD LT ISZERO JUMPDEST ISZERO PUSH2 0x718 JUMPI PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF CALLER DUP2 AND PUSH1 0x0 DUP2 DUP2 MSTORE PUSH1 0x20 DUP2 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 DUP1 SLOAD DUP9 SWAP1 SUB SWAP1 SSTORE SWAP4 DUP8 AND DUP1 DUP4 MSTORE SWAP2 DUP5 SWAP1 SHA3 DUP1 SLOAD DUP8 ADD SWAP1 SSTORE DUP4 MLOAD DUP7 DUP2 MSTORE SWAP4 MLOAD SWAP2 SWAP4 PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF SWAP3 SWAP1 DUP2 SWAP1 SUB SWAP1 SWAP2 ADD SWAP1 LOG3 POP PUSH1 0x1 PUSH2 0x427 JUMP JUMPDEST POP PUSH1 0x0 PUSH2 0x427 JUMP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP1 DUP4 AND PUSH1 0x0 SWAP1 DUP2 MSTORE PUSH1 0x1 PUSH1 0x20 SWAP1 DUP2 MSTORE PUSH1 0x40 DUP1 DUP4 SHA3 SWAP4 DUP6 AND DUP4 MSTORE SWAP3 SWAP1 MSTORE SHA3 SLOAD JUMPDEST SWAP3 SWAP2 POP POP JUMP STOP LOG1 PUSH6 0x627A7A723058 SHA3 DUP10 SWAP10 0xc5 ORIGIN SWAP16 MSTORE8 MOD 0x4a 0xac PC 0xd4 0xb5 MSTORE8 0xcb CALLDATACOPY SWAP11 GASLIMIT 0xbf 0xca OR 0xe0 0x24 POP PUSH16 0xF916637CFC36F7B20029000000000000 ",
				"sourceMap": "795:447:3:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1009:49;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18:2:-1;;13:3;7:5;32;59:3;53:5;48:3;41:6;93:2;88:3;85:2;78:6;73:3;67:5;152:3;;;;;117:2;108:3;;;;130;172:5;167:4;181:3;3:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1087:187:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;932:32:3;;;;;;;;;;;;;;;;;;;;;;;;;;1066:609:2;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;891:35:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;982:99:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1064:37:3;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18:2:-1;;13:3;7:5;32;59:3;53:5;48:3;41:6;93:2;88:3;85:2;78:6;73:3;67:5;152:3;;;;;117:2;108:3;;;;130;172:5;167:4;181:3;3:186;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;125:410:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1280:126;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1009:49:3;;;;;;;;;;;;;;;;;;;:::o;1087:187:0:-;1160:19;1168:10;1160:19;;1144:4;1160:19;;;:7;:19;;;;;;;;:29;;;;;;;;;;;;:38;;;1208;;;;;;;1144:4;;1160:29;:19;1208:38;;;;;;;;;;;-1:-1:-1;1263:4:0;1087:187;;;;;:::o;932:32:3:-;;;;:::o;1066:609:2:-;1198:14;;;;1161:4;1198:14;;;:7;:14;;;;;;;;1213:10;1198:26;;;;;;;;;;;;1238:15;;;;;;;;;;:25;;;;;;:60;;;1292:6;1279:9;:19;;1238:60;:115;;;;-1:-1:-1;1340:13:2;;;:8;:13;;;;;;;;;;;1314:22;;;:39;;1238:115;1234:435;;;1378:13;;;;:8;:13;;;;;;;;;;;:23;;;;;;1415:15;;;;;;:25;;;;;;;768:10;1458:20;;1454:95;;;1498:14;;;;;;;;:7;:14;;;;;;;;1513:10;1498:26;;;;;;;;;:36;;;;;;;1454:95;1578:3;1562:28;;1571:5;1562:28;;;1583:6;1562:28;;;;;;;;;;;;;;;;;;1611:4;1604:11;;;;1234:435;1653:5;1646:12;;1234:435;1066:609;;;;;;;:::o;891:35:3:-;924:2;891:35;:::o;982:99:0:-;1058:16;;;1035:4;1058:16;;;;;;;;;;;982:99;;;;:::o;1064:37:3:-;;;;;;;;;;;;;;;;;;;:::o;125:410:0:-;267:20;276:10;267:20;178:4;267:20;;;;;;;;;;;:30;;;;;;:73;;-1:-1:-1;327:13:0;;;:8;:13;;;;;;;;;;;301:22;;;:39;;267:73;263:266;;;356:20;365:10;356:20;;:8;:20;;;;;;;;;;;:30;;;;;;;400:13;;;;;;;;;;:23;;;;;;437:33;;;;;;;400:13;;437:33;;;;;;;;;;;-1:-1:-1;491:4:0;484:11;;263:266;-1:-1:-1;521:5:0;514:12;;263:266;125:410;;;;;:::o;1280:126::-;1374:15;;;;1351:4;1374:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;1280:126;;;;;:::o"
			},
			"gasEstimates": {
				"creation": {
					"codeDepositCost": "386600",
					"executionCost": "40780",
					"totalCost": "427380"
				},
				"external": {
					"allowance(address,address)": "737",
					"approve(address,uint256)": "22218",
					"balanceOf(address)": "579",
					"decimals()": "270",
					"name()": "530",
					"symbol()": "662",
					"totalSupply()": "417",
					"transfer(address,uint256)": "43393",
					"transferFrom(address,address,uint256)": "64116"
				}
			},
			"legacyAssembly": {
				".code": [
					{
						"begin": 795,
						"end": 1242,
						"name": "PUSH",
						"value": "60"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "PUSH",
						"value": "40"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "MSTORE"
					},
					{
						"begin": 958,
						"end": 964,
						"name": "PUSH",
						"value": "33B2E3C9FD0803CE8000000"
					},
					{
						"begin": 932,
						"end": 964,
						"name": "PUSH",
						"value": "3"
					},
					{
						"begin": 932,
						"end": 964,
						"name": "SSTORE"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "CALLVALUE"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "ISZERO"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "PUSH [tag]",
						"value": "1"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "JUMPI"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "INVALID"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "tag",
						"value": "1"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "JUMPDEST"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "tag",
						"value": "2"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "JUMPDEST"
					},
					{
						"begin": 1222,
						"end": 1233,
						"name": "PUSH",
						"value": "3"
					},
					{
						"begin": 1222,
						"end": 1233,
						"name": "SLOAD"
					},
					{
						"begin": -1,
						"end": -1,
						"name": "PUSH",
						"value": "1"
					},
					{
						"begin": -1,
						"end": -1,
						"name": "PUSH",
						"value": "A0"
					},
					{
						"begin": -1,
						"end": -1,
						"name": "PUSH",
						"value": "2"
					},
					{
						"begin": -1,
						"end": -1,
						"name": "EXP"
					},
					{
						"begin": -1,
						"end": -1,
						"name": "SUB"
					},
					{
						"begin": 1208,
						"end": 1218,
						"name": "CALLER"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "AND"
					},
					{
						"begin": 1199,
						"end": 1207,
						"name": "PUSH",
						"value": "0"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "SWAP1"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "DUP2"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "MSTORE"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "PUSH",
						"value": "20"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "DUP2"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "SWAP1"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "MSTORE"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "PUSH",
						"value": "40"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "SWAP1"
					},
					{
						"begin": 1199,
						"end": 1219,
						"name": "SHA3"
					},
					{
						"begin": 1199,
						"end": 1233,
						"name": "SSTORE"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "tag",
						"value": "3"
					},
					{
						"begin": 1150,
						"end": 1240,
						"name": "JUMPDEST"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "tag",
						"value": "4"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "JUMPDEST"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "PUSH #[$]",
						"value": "0000000000000000000000000000000000000000000000000000000000000000"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "DUP1"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "PUSH [$]",
						"value": "0000000000000000000000000000000000000000000000000000000000000000"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "PUSH",
						"value": "0"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "CODECOPY"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "PUSH",
						"value": "0"
					},
					{
						"begin": 795,
						"end": 1242,
						"name": "RETURN"
					}
				],
				".data": {
					"0": {
						".code": [
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "60"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "MSTORE"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "CALLDATASIZE"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "ISZERO"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "FFFFFFFF"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "100000000000000000000000000000000000000000000000000000000"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DIV"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "AND"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "6FDDE03"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DUP2"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "EQ"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "2"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DUP1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "95EA7B3"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "EQ"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "3"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DUP1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "18160DDD"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "EQ"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "4"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DUP1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "23B872DD"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "EQ"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "5"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DUP1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "313CE567"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "EQ"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "6"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DUP1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "70A08231"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "EQ"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "7"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DUP1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "95D89B41"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "EQ"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "8"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DUP1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "A9059CBB"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "EQ"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "9"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "DUP1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH",
								"value": "DD62ED3E"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "EQ"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "PUSH [tag]",
								"value": "10"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPI"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "tag",
								"value": "1"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "JUMPDEST"
							},
							{
								"begin": 795,
								"end": 1242,
								"name": "INVALID"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "tag",
								"value": "2"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "JUMPDEST"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "CALLVALUE"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "ISZERO"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "PUSH [tag]",
								"value": "11"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "JUMPI"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "INVALID"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "tag",
								"value": "11"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "JUMPDEST"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "PUSH [tag]",
								"value": "12"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "PUSH [tag]",
								"value": "13"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "JUMP"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "tag",
								"value": "12"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "JUMPDEST"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP1"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "MLOAD"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP1"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP3"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "MSTORE"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP4"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "MLOAD"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP2"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP4"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "ADD"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "MSTORE"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP4"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "MLOAD"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "SWAP2"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "SWAP3"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP4"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "SWAP3"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "SWAP1"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP4"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "ADD"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "SWAP2"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP6"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "ADD"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "SWAP1"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP1"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP4"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP4"
							},
							{
								"begin": 18,
								"end": 20,
								"name": "DUP3"
							},
							{
								"begin": 18,
								"end": 20,
								"name": "ISZERO"
							},
							{
								"begin": 13,
								"end": 16,
								"name": "PUSH [tag]",
								"value": "14"
							},
							{
								"begin": 7,
								"end": 12,
								"name": "JUMPI"
							},
							{
								"begin": 32,
								"end": 37,
								"name": "tag",
								"value": "15"
							},
							{
								"begin": 32,
								"end": 37,
								"name": "JUMPDEST"
							},
							{
								"begin": 59,
								"end": 62,
								"name": "DUP1"
							},
							{
								"begin": 53,
								"end": 58,
								"name": "MLOAD"
							},
							{
								"begin": 48,
								"end": 51,
								"name": "DUP3"
							},
							{
								"begin": 41,
								"end": 47,
								"name": "MSTORE"
							},
							{
								"begin": 93,
								"end": 95,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 88,
								"end": 91,
								"name": "DUP4"
							},
							{
								"begin": 85,
								"end": 87,
								"name": "GT"
							},
							{
								"begin": 78,
								"end": 84,
								"name": "ISZERO"
							},
							{
								"begin": 73,
								"end": 76,
								"name": "PUSH [tag]",
								"value": "14"
							},
							{
								"begin": 67,
								"end": 72,
								"name": "JUMPI"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "SWAP1"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "SWAP3"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "ADD"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "SWAP2"
							},
							{
								"begin": 117,
								"end": 119,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 108,
								"end": 111,
								"name": "SWAP2"
							},
							{
								"begin": 108,
								"end": 111,
								"name": "DUP3"
							},
							{
								"begin": 108,
								"end": 111,
								"name": "ADD"
							},
							{
								"begin": 108,
								"end": 111,
								"name": "SWAP2"
							},
							{
								"begin": 130,
								"end": 133,
								"name": "ADD"
							},
							{
								"begin": 172,
								"end": 177,
								"name": "PUSH [tag]",
								"value": "15"
							},
							{
								"begin": 167,
								"end": 171,
								"name": "JUMP"
							},
							{
								"begin": 181,
								"end": 184,
								"name": "tag",
								"value": "14"
							},
							{
								"begin": 181,
								"end": 184,
								"name": "JUMPDEST"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP2"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "ADD"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "1F"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "AND"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "ISZERO"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH [tag]",
								"value": "16"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "JUMPI"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP3"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SUB"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "MLOAD"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP4"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SUB"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "100"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "EXP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SUB"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "NOT"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "AND"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP2"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "MSTORE"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "ADD"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP2"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "tag",
								"value": "16"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "JUMPDEST"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP3"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "MLOAD"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP2"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SUB"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "RETURN"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "tag",
								"value": "3"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "JUMPDEST"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "CALLVALUE"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "ISZERO"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "PUSH [tag]",
								"value": "17"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "JUMPI"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "INVALID"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "tag",
								"value": "17"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "JUMPDEST"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "PUSH [tag]",
								"value": "18"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "PUSH",
								"value": "4"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "AND"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "PUSH",
								"value": "24"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "PUSH [tag]",
								"value": "19"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "JUMP"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "tag",
								"value": "18"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "JUMPDEST"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "DUP1"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "MLOAD"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "SWAP2"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "ISZERO"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "ISZERO"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "DUP3"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "MSTORE"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "MLOAD"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "SWAP1"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "DUP2"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "SWAP1"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "SUB"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "ADD"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "SWAP1"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "RETURN"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "tag",
								"value": "4"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "JUMPDEST"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "CALLVALUE"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "ISZERO"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "PUSH [tag]",
								"value": "20"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "JUMPI"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "INVALID"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "tag",
								"value": "20"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "JUMPDEST"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "PUSH [tag]",
								"value": "21"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "PUSH [tag]",
								"value": "22"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "JUMP"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "tag",
								"value": "21"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "JUMPDEST"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "DUP1"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "MLOAD"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "SWAP2"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "DUP3"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "MSTORE"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "MLOAD"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "SWAP1"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "DUP2"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "SWAP1"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "SUB"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "ADD"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "SWAP1"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "RETURN"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "tag",
								"value": "5"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "JUMPDEST"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "CALLVALUE"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "ISZERO"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "PUSH [tag]",
								"value": "23"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "JUMPI"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "INVALID"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "tag",
								"value": "23"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "JUMPDEST"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "PUSH [tag]",
								"value": "18"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "PUSH",
								"value": "4"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "DUP2"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "AND"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "SWAP1"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "PUSH",
								"value": "24"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "AND"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "PUSH",
								"value": "44"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "PUSH [tag]",
								"value": "25"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "JUMP"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "tag",
								"value": "24"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "JUMPDEST"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "DUP1"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "MLOAD"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "SWAP2"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "ISZERO"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "ISZERO"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "DUP3"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "MSTORE"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "MLOAD"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "SWAP1"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "DUP2"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "SWAP1"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "SUB"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "ADD"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "SWAP1"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "RETURN"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "tag",
								"value": "6"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "JUMPDEST"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "CALLVALUE"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "ISZERO"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "PUSH [tag]",
								"value": "26"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "JUMPI"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "INVALID"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "tag",
								"value": "26"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "JUMPDEST"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "PUSH [tag]",
								"value": "27"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "PUSH [tag]",
								"value": "28"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "JUMP"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "tag",
								"value": "27"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "JUMPDEST"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "DUP1"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "MLOAD"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "PUSH",
								"value": "FF"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "SWAP1"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "SWAP3"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "AND"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "DUP3"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "MSTORE"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "MLOAD"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "SWAP1"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "DUP2"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "SWAP1"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "SUB"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "ADD"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "SWAP1"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "RETURN"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "tag",
								"value": "7"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "JUMPDEST"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "CALLVALUE"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "ISZERO"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "PUSH [tag]",
								"value": "29"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "JUMPI"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "INVALID"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "tag",
								"value": "29"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "JUMPDEST"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "PUSH [tag]",
								"value": "21"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "PUSH",
								"value": "4"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "AND"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "PUSH [tag]",
								"value": "31"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "JUMP"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "tag",
								"value": "30"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "JUMPDEST"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "DUP1"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "MLOAD"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "SWAP2"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "DUP3"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "MSTORE"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "MLOAD"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "SWAP1"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "DUP2"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "SWAP1"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "SUB"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "ADD"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "SWAP1"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "RETURN"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "tag",
								"value": "8"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "JUMPDEST"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "CALLVALUE"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "ISZERO"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "PUSH [tag]",
								"value": "32"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "JUMPI"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "INVALID"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "tag",
								"value": "32"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "JUMPDEST"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "PUSH [tag]",
								"value": "12"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "PUSH [tag]",
								"value": "34"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "JUMP"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "tag",
								"value": "33"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "JUMPDEST"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP1"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "MLOAD"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP1"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP3"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "MSTORE"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP4"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "MLOAD"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP2"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP4"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "ADD"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "MSTORE"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP4"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "MLOAD"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "SWAP2"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "SWAP3"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP4"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "SWAP3"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "SWAP1"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP4"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "ADD"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "SWAP2"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP6"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "ADD"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "SWAP1"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP1"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP4"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP4"
							},
							{
								"begin": 18,
								"end": 20,
								"name": "DUP3"
							},
							{
								"begin": 18,
								"end": 20,
								"name": "ISZERO"
							},
							{
								"begin": 13,
								"end": 16,
								"name": "PUSH [tag]",
								"value": "14"
							},
							{
								"begin": 7,
								"end": 12,
								"name": "JUMPI"
							},
							{
								"begin": 32,
								"end": 37,
								"name": "tag",
								"value": "36"
							},
							{
								"begin": 32,
								"end": 37,
								"name": "JUMPDEST"
							},
							{
								"begin": 59,
								"end": 62,
								"name": "DUP1"
							},
							{
								"begin": 53,
								"end": 58,
								"name": "MLOAD"
							},
							{
								"begin": 48,
								"end": 51,
								"name": "DUP3"
							},
							{
								"begin": 41,
								"end": 47,
								"name": "MSTORE"
							},
							{
								"begin": 93,
								"end": 95,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 88,
								"end": 91,
								"name": "DUP4"
							},
							{
								"begin": 85,
								"end": 87,
								"name": "GT"
							},
							{
								"begin": 78,
								"end": 84,
								"name": "ISZERO"
							},
							{
								"begin": 73,
								"end": 76,
								"name": "PUSH [tag]",
								"value": "14"
							},
							{
								"begin": 67,
								"end": 72,
								"name": "JUMPI"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFE0"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "SWAP1"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "SWAP3"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "ADD"
							},
							{
								"begin": 152,
								"end": 155,
								"name": "SWAP2"
							},
							{
								"begin": 117,
								"end": 119,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 108,
								"end": 111,
								"name": "SWAP2"
							},
							{
								"begin": 108,
								"end": 111,
								"name": "DUP3"
							},
							{
								"begin": 108,
								"end": 111,
								"name": "ADD"
							},
							{
								"begin": 108,
								"end": 111,
								"name": "SWAP2"
							},
							{
								"begin": 130,
								"end": 133,
								"name": "ADD"
							},
							{
								"begin": 172,
								"end": 177,
								"name": "PUSH [tag]",
								"value": "15"
							},
							{
								"begin": 167,
								"end": 171,
								"name": "JUMP"
							},
							{
								"begin": 181,
								"end": 184,
								"name": "tag",
								"value": "35"
							},
							{
								"begin": 181,
								"end": 184,
								"name": "JUMPDEST"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP2"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "ADD"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "1F"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "AND"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "ISZERO"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH [tag]",
								"value": "16"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "JUMPI"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP3"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SUB"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "MLOAD"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP4"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SUB"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "100"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "EXP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SUB"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "NOT"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "AND"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP2"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "MSTORE"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "ADD"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP2"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "tag",
								"value": "37"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "JUMPDEST"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP3"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "POP"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "MLOAD"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "DUP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP2"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SUB"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "SWAP1"
							},
							{
								"begin": 3,
								"end": 189,
								"name": "RETURN"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "tag",
								"value": "9"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "JUMPDEST"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "CALLVALUE"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "ISZERO"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "PUSH [tag]",
								"value": "38"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "JUMPI"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "INVALID"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "tag",
								"value": "38"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "JUMPDEST"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "PUSH [tag]",
								"value": "18"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "PUSH",
								"value": "4"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "AND"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "PUSH",
								"value": "24"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "PUSH [tag]",
								"value": "40"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "JUMP"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "tag",
								"value": "39"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "JUMPDEST"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "DUP1"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "MLOAD"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "SWAP2"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "ISZERO"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "ISZERO"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "DUP3"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "MSTORE"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "MLOAD"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "SWAP1"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "DUP2"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "SWAP1"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "SUB"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "ADD"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "SWAP1"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "RETURN"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "tag",
								"value": "10"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "JUMPDEST"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "CALLVALUE"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "ISZERO"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "PUSH [tag]",
								"value": "41"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "JUMPI"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "INVALID"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "tag",
								"value": "41"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "JUMPDEST"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "PUSH [tag]",
								"value": "21"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "PUSH",
								"value": "4"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "DUP2"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "AND"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "SWAP1"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "PUSH",
								"value": "24"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "CALLDATALOAD"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "AND"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "PUSH [tag]",
								"value": "43"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "JUMP"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "tag",
								"value": "42"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "JUMPDEST"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "DUP1"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "MLOAD"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "SWAP2"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "DUP3"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "MSTORE"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "MLOAD"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "SWAP1"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "DUP2"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "SWAP1"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "SUB"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "ADD"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "SWAP1"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "RETURN"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "tag",
								"value": "13"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "JUMPDEST"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP1"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "MLOAD"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP1"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP3"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "ADD"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "SWAP1"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "SWAP2"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "MSTORE"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "PUSH",
								"value": "11"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP2"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "MSTORE"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "PUSH",
								"value": "30782050726F746F636F6C20546F6B656E000000000000000000000000000000"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP3"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "ADD"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "MSTORE"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "DUP2"
							},
							{
								"begin": 1009,
								"end": 1058,
								"name": "JUMP",
								"value": "[out]"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "tag",
								"value": "19"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "JUMPDEST"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1168,
								"end": 1178,
								"name": "CALLER"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "DUP2"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "AND"
							},
							{
								"begin": 1144,
								"end": 1148,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "DUP2"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "DUP2"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "MSTORE"
							},
							{
								"begin": 1160,
								"end": 1167,
								"name": "PUSH",
								"value": "1"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "SWAP1"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "DUP2"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "MSTORE"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "DUP1"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "DUP4"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "SHA3"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "SWAP5"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "DUP8"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "AND"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "DUP1"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "DUP5"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "MSTORE"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "SWAP5"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "DUP3"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "MSTORE"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "DUP1"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "DUP4"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "SHA3"
							},
							{
								"begin": 1160,
								"end": 1198,
								"name": "DUP7"
							},
							{
								"begin": 1160,
								"end": 1198,
								"name": "SWAP1"
							},
							{
								"begin": 1160,
								"end": 1198,
								"name": "SSTORE"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "DUP1"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "MLOAD"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "DUP7"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "DUP2"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "MSTORE"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "SWAP1"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "MLOAD"
							},
							{
								"begin": 1144,
								"end": 1148,
								"name": "SWAP3"
							},
							{
								"begin": 1144,
								"end": 1148,
								"name": "SWAP5"
							},
							{
								"begin": 1160,
								"end": 1189,
								"name": "SWAP4"
							},
							{
								"begin": 1160,
								"end": 1179,
								"name": "SWAP3"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "PUSH",
								"value": "8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "SWAP3"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "SWAP2"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "DUP2"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "SWAP1"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "SUB"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "SWAP1"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "SWAP2"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "ADD"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "SWAP1"
							},
							{
								"begin": 1208,
								"end": 1246,
								"name": "LOG3"
							},
							{
								"begin": -1,
								"end": -1,
								"name": "POP"
							},
							{
								"begin": 1263,
								"end": 1267,
								"name": "PUSH",
								"value": "1"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "tag",
								"value": "44"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "JUMPDEST"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "SWAP3"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "SWAP2"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "POP"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "POP"
							},
							{
								"begin": 1087,
								"end": 1274,
								"name": "JUMP",
								"value": "[out]"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "tag",
								"value": "22"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "JUMPDEST"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "PUSH",
								"value": "3"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "SLOAD"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "DUP2"
							},
							{
								"begin": 932,
								"end": 964,
								"name": "JUMP",
								"value": "[out]"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "tag",
								"value": "25"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "JUMPDEST"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "DUP1"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "DUP5"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "AND"
							},
							{
								"begin": 1161,
								"end": 1165,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "DUP2"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "DUP2"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "MSTORE"
							},
							{
								"begin": 1198,
								"end": 1205,
								"name": "PUSH",
								"value": "1"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "SWAP1"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "DUP2"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "MSTORE"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "DUP1"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "DUP4"
							},
							{
								"begin": 1198,
								"end": 1212,
								"name": "SHA3"
							},
							{
								"begin": 1213,
								"end": 1223,
								"name": "CALLER"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "SWAP1"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "SWAP6"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "AND"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "DUP4"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "MSTORE"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "SWAP4"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "DUP2"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "MSTORE"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "DUP4"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "DUP3"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "SHA3"
							},
							{
								"begin": 1198,
								"end": 1224,
								"name": "SLOAD"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "SWAP3"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "DUP3"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "MSTORE"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "DUP2"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "SWAP1"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "MSTORE"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "SWAP2"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "DUP3"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "SHA3"
							},
							{
								"begin": 1238,
								"end": 1253,
								"name": "SLOAD"
							},
							{
								"begin": 1238,
								"end": 1263,
								"name": "DUP4"
							},
							{
								"begin": 1238,
								"end": 1263,
								"name": "SWAP1"
							},
							{
								"begin": 1238,
								"end": 1263,
								"name": "LT"
							},
							{
								"begin": 1238,
								"end": 1263,
								"name": "DUP1"
							},
							{
								"begin": 1238,
								"end": 1263,
								"name": "ISZERO"
							},
							{
								"begin": 1238,
								"end": 1263,
								"name": "SWAP1"
							},
							{
								"begin": 1238,
								"end": 1298,
								"name": "PUSH [tag]",
								"value": "46"
							},
							{
								"begin": 1238,
								"end": 1298,
								"name": "JUMPI"
							},
							{
								"begin": 1238,
								"end": 1298,
								"name": "POP"
							},
							{
								"begin": 1292,
								"end": 1298,
								"name": "DUP3"
							},
							{
								"begin": 1279,
								"end": 1288,
								"name": "DUP2"
							},
							{
								"begin": 1279,
								"end": 1298,
								"name": "LT"
							},
							{
								"begin": 1279,
								"end": 1298,
								"name": "ISZERO"
							},
							{
								"begin": 1238,
								"end": 1298,
								"name": "tag",
								"value": "46"
							},
							{
								"begin": 1238,
								"end": 1298,
								"name": "JUMPDEST"
							},
							{
								"begin": 1238,
								"end": 1353,
								"name": "DUP1"
							},
							{
								"begin": 1238,
								"end": 1353,
								"name": "ISZERO"
							},
							{
								"begin": 1238,
								"end": 1353,
								"name": "PUSH [tag]",
								"value": "47"
							},
							{
								"begin": 1238,
								"end": 1353,
								"name": "JUMPI"
							},
							{
								"begin": -1,
								"end": -1,
								"name": "POP"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "DUP5"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "AND"
							},
							{
								"begin": 1340,
								"end": 1348,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "SWAP1"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "DUP2"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "MSTORE"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "DUP2"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "SWAP1"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "MSTORE"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "SWAP1"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "SHA3"
							},
							{
								"begin": 1340,
								"end": 1353,
								"name": "SLOAD"
							},
							{
								"begin": 1314,
								"end": 1336,
								"name": "DUP4"
							},
							{
								"begin": 1314,
								"end": 1336,
								"name": "DUP2"
							},
							{
								"begin": 1314,
								"end": 1336,
								"name": "ADD"
							},
							{
								"begin": 1314,
								"end": 1353,
								"name": "LT"
							},
							{
								"begin": 1314,
								"end": 1353,
								"name": "ISZERO"
							},
							{
								"begin": 1238,
								"end": 1353,
								"name": "tag",
								"value": "47"
							},
							{
								"begin": 1238,
								"end": 1353,
								"name": "JUMPDEST"
							},
							{
								"begin": 1234,
								"end": 1669,
								"name": "ISZERO"
							},
							{
								"begin": 1234,
								"end": 1669,
								"name": "PUSH [tag]",
								"value": "48"
							},
							{
								"begin": 1234,
								"end": 1669,
								"name": "JUMPI"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "DUP1"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "DUP6"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "AND"
							},
							{
								"begin": 1378,
								"end": 1386,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "SWAP1"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "DUP2"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "MSTORE"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "DUP2"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "SWAP1"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "MSTORE"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "DUP1"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "DUP3"
							},
							{
								"begin": 1378,
								"end": 1391,
								"name": "SHA3"
							},
							{
								"begin": 1378,
								"end": 1401,
								"name": "DUP1"
							},
							{
								"begin": 1378,
								"end": 1401,
								"name": "SLOAD"
							},
							{
								"begin": 1378,
								"end": 1401,
								"name": "DUP8"
							},
							{
								"begin": 1378,
								"end": 1401,
								"name": "ADD"
							},
							{
								"begin": 1378,
								"end": 1401,
								"name": "SWAP1"
							},
							{
								"begin": 1378,
								"end": 1401,
								"name": "SSTORE"
							},
							{
								"begin": 1415,
								"end": 1430,
								"name": "SWAP2"
							},
							{
								"begin": 1415,
								"end": 1430,
								"name": "DUP8"
							},
							{
								"begin": 1415,
								"end": 1430,
								"name": "AND"
							},
							{
								"begin": 1415,
								"end": 1430,
								"name": "DUP2"
							},
							{
								"begin": 1415,
								"end": 1430,
								"name": "MSTORE"
							},
							{
								"begin": 1415,
								"end": 1430,
								"name": "SHA3"
							},
							{
								"begin": 1415,
								"end": 1440,
								"name": "DUP1"
							},
							{
								"begin": 1415,
								"end": 1440,
								"name": "SLOAD"
							},
							{
								"begin": 1415,
								"end": 1440,
								"name": "DUP5"
							},
							{
								"begin": 1415,
								"end": 1440,
								"name": "SWAP1"
							},
							{
								"begin": 1415,
								"end": 1440,
								"name": "SUB"
							},
							{
								"begin": 1415,
								"end": 1440,
								"name": "SWAP1"
							},
							{
								"begin": 1415,
								"end": 1440,
								"name": "SSTORE"
							},
							{
								"begin": 768,
								"end": 778,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1458,
								"end": 1478,
								"name": "DUP2"
							},
							{
								"begin": 1458,
								"end": 1478,
								"name": "LT"
							},
							{
								"begin": 1454,
								"end": 1549,
								"name": "ISZERO"
							},
							{
								"begin": 1454,
								"end": 1549,
								"name": "PUSH [tag]",
								"value": "49"
							},
							{
								"begin": 1454,
								"end": 1549,
								"name": "JUMPI"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "DUP1"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "DUP7"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "AND"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "SWAP1"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "DUP2"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "MSTORE"
							},
							{
								"begin": 1498,
								"end": 1505,
								"name": "PUSH",
								"value": "1"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "SWAP1"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "DUP2"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "MSTORE"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "DUP1"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "DUP4"
							},
							{
								"begin": 1498,
								"end": 1512,
								"name": "SHA3"
							},
							{
								"begin": 1513,
								"end": 1523,
								"name": "CALLER"
							},
							{
								"begin": 1498,
								"end": 1524,
								"name": "SWAP1"
							},
							{
								"begin": 1498,
								"end": 1524,
								"name": "SWAP5"
							},
							{
								"begin": 1498,
								"end": 1524,
								"name": "AND"
							},
							{
								"begin": 1498,
								"end": 1524,
								"name": "DUP4"
							},
							{
								"begin": 1498,
								"end": 1524,
								"name": "MSTORE"
							},
							{
								"begin": 1498,
								"end": 1524,
								"name": "SWAP3"
							},
							{
								"begin": 1498,
								"end": 1524,
								"name": "SWAP1"
							},
							{
								"begin": 1498,
								"end": 1524,
								"name": "MSTORE"
							},
							{
								"begin": 1498,
								"end": 1524,
								"name": "SHA3"
							},
							{
								"begin": 1498,
								"end": 1534,
								"name": "DUP1"
							},
							{
								"begin": 1498,
								"end": 1534,
								"name": "SLOAD"
							},
							{
								"begin": 1498,
								"end": 1534,
								"name": "DUP5"
							},
							{
								"begin": 1498,
								"end": 1534,
								"name": "SWAP1"
							},
							{
								"begin": 1498,
								"end": 1534,
								"name": "SUB"
							},
							{
								"begin": 1498,
								"end": 1534,
								"name": "SWAP1"
							},
							{
								"begin": 1498,
								"end": 1534,
								"name": "SSTORE"
							},
							{
								"begin": 1454,
								"end": 1549,
								"name": "tag",
								"value": "49"
							},
							{
								"begin": 1454,
								"end": 1549,
								"name": "JUMPDEST"
							},
							{
								"begin": 1578,
								"end": 1581,
								"name": "DUP4"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "AND"
							},
							{
								"begin": 1571,
								"end": 1576,
								"name": "DUP6"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "AND"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "PUSH",
								"value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
							},
							{
								"begin": 1583,
								"end": 1589,
								"name": "DUP6"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "MLOAD"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "DUP1"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "DUP3"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "DUP2"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "MSTORE"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "ADD"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "SWAP2"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "POP"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "POP"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "MLOAD"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "DUP1"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "SWAP2"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "SUB"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "SWAP1"
							},
							{
								"begin": 1562,
								"end": 1590,
								"name": "LOG3"
							},
							{
								"begin": 1611,
								"end": 1615,
								"name": "PUSH",
								"value": "1"
							},
							{
								"begin": 1604,
								"end": 1615,
								"name": "SWAP2"
							},
							{
								"begin": 1604,
								"end": 1615,
								"name": "POP"
							},
							{
								"begin": 1604,
								"end": 1615,
								"name": "PUSH [tag]",
								"value": "50"
							},
							{
								"begin": 1604,
								"end": 1615,
								"name": "JUMP"
							},
							{
								"begin": 1234,
								"end": 1669,
								"name": "tag",
								"value": "48"
							},
							{
								"begin": 1234,
								"end": 1669,
								"name": "JUMPDEST"
							},
							{
								"begin": 1653,
								"end": 1658,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 1646,
								"end": 1658,
								"name": "SWAP2"
							},
							{
								"begin": 1646,
								"end": 1658,
								"name": "POP"
							},
							{
								"begin": 1234,
								"end": 1669,
								"name": "tag",
								"value": "50"
							},
							{
								"begin": 1234,
								"end": 1669,
								"name": "JUMPDEST"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "tag",
								"value": "45"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "JUMPDEST"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "POP"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "SWAP4"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "SWAP3"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "POP"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "POP"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "POP"
							},
							{
								"begin": 1066,
								"end": 1675,
								"name": "JUMP",
								"value": "[out]"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "tag",
								"value": "28"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "JUMPDEST"
							},
							{
								"begin": 924,
								"end": 926,
								"name": "PUSH",
								"value": "12"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "DUP2"
							},
							{
								"begin": 891,
								"end": 926,
								"name": "JUMP",
								"value": "[out]"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "tag",
								"value": "31"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "JUMPDEST"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "DUP2"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "AND"
							},
							{
								"begin": 1035,
								"end": 1039,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "SWAP1"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "DUP2"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "MSTORE"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "DUP2"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "SWAP1"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "MSTORE"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "SWAP1"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "SHA3"
							},
							{
								"begin": 1058,
								"end": 1074,
								"name": "SLOAD"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "tag",
								"value": "51"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "JUMPDEST"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "SWAP2"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "SWAP1"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "POP"
							},
							{
								"begin": 982,
								"end": 1081,
								"name": "JUMP",
								"value": "[out]"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "tag",
								"value": "34"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "JUMPDEST"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP1"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "MLOAD"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP1"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP3"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "ADD"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "SWAP1"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "SWAP2"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "MSTORE"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "PUSH",
								"value": "3"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP2"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "MSTORE"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "PUSH",
								"value": "5A52580000000000000000000000000000000000000000000000000000000000"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP3"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "ADD"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "MSTORE"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "DUP2"
							},
							{
								"begin": 1064,
								"end": 1101,
								"name": "JUMP",
								"value": "[out]"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "tag",
								"value": "40"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "JUMPDEST"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 276,
								"end": 286,
								"name": "CALLER"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "AND"
							},
							{
								"begin": 178,
								"end": 182,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "SWAP1"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "DUP2"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "MSTORE"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "DUP2"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "SWAP1"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "MSTORE"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "DUP2"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "SHA3"
							},
							{
								"begin": 267,
								"end": 287,
								"name": "SLOAD"
							},
							{
								"begin": 267,
								"end": 297,
								"name": "DUP3"
							},
							{
								"begin": 267,
								"end": 297,
								"name": "SWAP1"
							},
							{
								"begin": 267,
								"end": 297,
								"name": "LT"
							},
							{
								"begin": 267,
								"end": 297,
								"name": "DUP1"
							},
							{
								"begin": 267,
								"end": 297,
								"name": "ISZERO"
							},
							{
								"begin": 267,
								"end": 297,
								"name": "SWAP1"
							},
							{
								"begin": 267,
								"end": 340,
								"name": "PUSH [tag]",
								"value": "53"
							},
							{
								"begin": 267,
								"end": 340,
								"name": "JUMPI"
							},
							{
								"begin": -1,
								"end": -1,
								"name": "POP"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "DUP4"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "AND"
							},
							{
								"begin": 327,
								"end": 335,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "SWAP1"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "DUP2"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "MSTORE"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "DUP2"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "SWAP1"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "MSTORE"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "SWAP1"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "SHA3"
							},
							{
								"begin": 327,
								"end": 340,
								"name": "SLOAD"
							},
							{
								"begin": 301,
								"end": 323,
								"name": "DUP3"
							},
							{
								"begin": 301,
								"end": 323,
								"name": "DUP2"
							},
							{
								"begin": 301,
								"end": 323,
								"name": "ADD"
							},
							{
								"begin": 301,
								"end": 340,
								"name": "LT"
							},
							{
								"begin": 301,
								"end": 340,
								"name": "ISZERO"
							},
							{
								"begin": 267,
								"end": 340,
								"name": "tag",
								"value": "53"
							},
							{
								"begin": 267,
								"end": 340,
								"name": "JUMPDEST"
							},
							{
								"begin": 263,
								"end": 529,
								"name": "ISZERO"
							},
							{
								"begin": 263,
								"end": 529,
								"name": "PUSH [tag]",
								"value": "54"
							},
							{
								"begin": 263,
								"end": 529,
								"name": "JUMPI"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 365,
								"end": 375,
								"name": "CALLER"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "DUP2"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "AND"
							},
							{
								"begin": 356,
								"end": 364,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "DUP2"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "DUP2"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "MSTORE"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "DUP2"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "DUP2"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "MSTORE"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "DUP1"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "DUP4"
							},
							{
								"begin": 356,
								"end": 376,
								"name": "SHA3"
							},
							{
								"begin": 356,
								"end": 386,
								"name": "DUP1"
							},
							{
								"begin": 356,
								"end": 386,
								"name": "SLOAD"
							},
							{
								"begin": 356,
								"end": 386,
								"name": "DUP9"
							},
							{
								"begin": 356,
								"end": 386,
								"name": "SWAP1"
							},
							{
								"begin": 356,
								"end": 386,
								"name": "SUB"
							},
							{
								"begin": 356,
								"end": 386,
								"name": "SWAP1"
							},
							{
								"begin": 356,
								"end": 386,
								"name": "SSTORE"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "SWAP4"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "DUP8"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "AND"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "DUP1"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "DUP4"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "MSTORE"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "SWAP2"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "DUP5"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "SWAP1"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "SHA3"
							},
							{
								"begin": 400,
								"end": 423,
								"name": "DUP1"
							},
							{
								"begin": 400,
								"end": 423,
								"name": "SLOAD"
							},
							{
								"begin": 400,
								"end": 423,
								"name": "DUP8"
							},
							{
								"begin": 400,
								"end": 423,
								"name": "ADD"
							},
							{
								"begin": 400,
								"end": 423,
								"name": "SWAP1"
							},
							{
								"begin": 400,
								"end": 423,
								"name": "SSTORE"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "DUP4"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "MLOAD"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "DUP7"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "DUP2"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "MSTORE"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "SWAP4"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "MLOAD"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "SWAP2"
							},
							{
								"begin": 400,
								"end": 413,
								"name": "SWAP4"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "PUSH",
								"value": "DDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "SWAP3"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "SWAP1"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "DUP2"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "SWAP1"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "SUB"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "SWAP1"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "SWAP2"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "ADD"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "SWAP1"
							},
							{
								"begin": 437,
								"end": 470,
								"name": "LOG3"
							},
							{
								"begin": -1,
								"end": -1,
								"name": "POP"
							},
							{
								"begin": 491,
								"end": 495,
								"name": "PUSH",
								"value": "1"
							},
							{
								"begin": 484,
								"end": 495,
								"name": "PUSH [tag]",
								"value": "44"
							},
							{
								"begin": 484,
								"end": 495,
								"name": "JUMP"
							},
							{
								"begin": 263,
								"end": 529,
								"name": "tag",
								"value": "54"
							},
							{
								"begin": 263,
								"end": 529,
								"name": "JUMPDEST"
							},
							{
								"begin": -1,
								"end": -1,
								"name": "POP"
							},
							{
								"begin": 521,
								"end": 526,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 514,
								"end": 526,
								"name": "PUSH [tag]",
								"value": "44"
							},
							{
								"begin": 514,
								"end": 526,
								"name": "JUMP"
							},
							{
								"begin": 263,
								"end": 529,
								"name": "tag",
								"value": "55"
							},
							{
								"begin": 263,
								"end": 529,
								"name": "JUMPDEST"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "tag",
								"value": "52"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "JUMPDEST"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "SWAP3"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "SWAP2"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "POP"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "POP"
							},
							{
								"begin": 125,
								"end": 535,
								"name": "JUMP",
								"value": "[out]"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "tag",
								"value": "43"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "JUMPDEST"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "PUSH",
								"value": "FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "DUP1"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "DUP4"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "AND"
							},
							{
								"begin": 1351,
								"end": 1355,
								"name": "PUSH",
								"value": "0"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "SWAP1"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "DUP2"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "MSTORE"
							},
							{
								"begin": 1374,
								"end": 1381,
								"name": "PUSH",
								"value": "1"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "PUSH",
								"value": "20"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "SWAP1"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "DUP2"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "MSTORE"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "PUSH",
								"value": "40"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "DUP1"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "DUP4"
							},
							{
								"begin": 1374,
								"end": 1389,
								"name": "SHA3"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "SWAP4"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "DUP6"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "AND"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "DUP4"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "MSTORE"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "SWAP3"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "SWAP1"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "MSTORE"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "SHA3"
							},
							{
								"begin": 1374,
								"end": 1399,
								"name": "SLOAD"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "tag",
								"value": "56"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "JUMPDEST"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "SWAP3"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "SWAP2"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "POP"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "POP"
							},
							{
								"begin": 1280,
								"end": 1406,
								"name": "JUMP",
								"value": "[out]"
							}
						]
					}
				}
			},
			"methodIdentifiers": {
				"allowance(address,address)": "dd62ed3e",
				"approve(address,uint256)": "095ea7b3",
				"balanceOf(address)": "70a08231",
				"decimals()": "313ce567",
				"name()": "06fdde03",
				"symbol()": "95d89b41",
				"totalSupply()": "18160ddd",
				"transfer(address,uint256)": "a9059cbb",
				"transferFrom(address,address,uint256)": "23b872dd"
			}
		},
		"metadata": "{\"compiler\":{\"version\":\"0.4.11+commit.68ef5810\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"constant\":true,\"inputs\":[],\"name\":\"name\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_spender\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_from\",\"type\":\"address\"},{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"name\":\"\",\"type\":\"uint8\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[],\"name\":\"symbol\",\"outputs\":[{\"name\":\"\",\"type\":\"string\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":false,\"inputs\":[{\"name\":\"_to\",\"type\":\"address\"},{\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"transfer\",\"outputs\":[{\"name\":\"\",\"type\":\"bool\"}],\"payable\":false,\"type\":\"function\"},{\"constant\":true,\"inputs\":[{\"name\":\"_owner\",\"type\":\"address\"},{\"name\":\"_spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"name\":\"\",\"type\":\"uint256\"}],\"payable\":false,\"type\":\"function\"},{\"inputs\":[],\"payable\":false,\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_from\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_to\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"name\":\"_owner\",\"type\":\"address\"},{\"indexed\":true,\"name\":\"_spender\",\"type\":\"address\"},{\"indexed\":false,\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"}],\"devdoc\":{\"methods\":{\"transferFrom(address,address,uint256)\":{\"details\":\"ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance.\",\"params\":{\"_from\":\"Address to transfer from.\",\"_to\":\"Address to transfer to.\",\"_value\":\"Amount to transfer.\"},\"return\":\"Success of transfer.\"}}},\"userdoc\":{\"methods\":{}}},\"settings\":{\"compilationTarget\":{\"2.0.0/tokens/ZRXToken/ZRXToken.sol\":\"ZRXToken\"},\"libraries\":{},\"optimizer\":{\"enabled\":true,\"runs\":1000000},\"remappings\":[]},\"sources\":{\"1.0.0/ERC20Token/ERC20Token_v1.sol\":{\"keccak256\":\"0x3d710b436c430d6fe49f64b091555405360d76da6454b93faa8e213eea34a96d\",\"urls\":[\"bzzr://d12710a563415ad98ff28ecb3aab0b68467b3d023e7c130c73ed9918ef86158e\"]},\"1.0.0/Token/Token_v1.sol\":{\"keccak256\":\"0x35a82bc7bc0994caa97f8ea44660b9b5e796acfe72705b5ff7ed8f2a3c47ff37\",\"urls\":[\"bzzr://a62ae857a4cf2e8948e36d02470c612ac1a5ac20ebe1c1b553ad1ed8becb634e\"]},\"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\":{\"keccak256\":\"0x2e1f4b899081cedd8940a9cd0f0f7413264c883312ed0ba9c53885766fe0a1a5\",\"urls\":[\"bzzr://47c42a58e56ffe81e49c8aabd3c391f5fa807fea299b3a2178501e3669baeb52\"]},\"2.0.0/tokens/ZRXToken/ZRXToken.sol\":{\"keccak256\":\"0x9eeb623d48909b083c77688b13b610811c53e37622b3fcbaa23c01873230f5d6\",\"urls\":[\"bzzr://84f3b5c2653068092771d443281018ff2ee0543817426d0fb6f9037a3570e37f\"]}},\"version\":1}",
		"userdoc": {
			"methods": {}
		}
	},
	"sources": {
		"1.0.0/ERC20Token/ERC20Token_v1.sol": {
			"id": 0,
			"legacyAST": {
				"children": [
					{
						"attributes": {
							"literals": [
								"solidity",
								"^",
								"0.4",
								".11"
							]
						},
						"id": 126,
						"name": "PragmaDirective",
						"src": "0:24:0"
					},
					{
						"attributes": {
							"file": "../Token/Token_v1.sol"
						},
						"id": 128,
						"name": "ImportDirective",
						"src": "26:58:0"
					},
					{
						"attributes": {
							"fullyImplemented": true,
							"isLibrary": false,
							"linearizedBaseContracts": [
								322,
								397
							],
							"name": "ERC20Token_v1"
						},
						"children": [
							{
								"children": [
									{
										"attributes": {
											"name": "Token"
										},
										"id": 129,
										"name": "UserDefinedTypeName",
										"src": "112:5:0"
									}
								],
								"id": 130,
								"name": "InheritanceSpecifier",
								"src": "112:5:0"
							},
							{
								"attributes": {
									"constant": false,
									"name": "transfer",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_to",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 131,
														"name": "ElementaryTypeName",
														"src": "143:7:0"
													}
												],
												"id": 132,
												"name": "VariableDeclaration",
												"src": "143:11:0"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_value",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 133,
														"name": "ElementaryTypeName",
														"src": "156:4:0"
													}
												],
												"id": 134,
												"name": "VariableDeclaration",
												"src": "156:11:0"
											}
										],
										"id": 135,
										"name": "ParameterList",
										"src": "142:26:0"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "",
													"storageLocation": "default",
													"type": "bool",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "bool"
														},
														"id": 136,
														"name": "ElementaryTypeName",
														"src": "178:4:0"
													}
												],
												"id": 137,
												"name": "VariableDeclaration",
												"src": "178:4:0"
											}
										],
										"id": 138,
										"name": "ParameterList",
										"src": "177:6:0"
									},
									{
										"children": [
											{
												"children": [
													{
														"attributes": {
															"operator": "&&",
															"type": "bool"
														},
														"children": [
															{
																"attributes": {
																	"operator": ">=",
																	"type": "bool"
																},
																"children": [
																	{
																		"attributes": {
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "mapping(address => uint256)",
																					"value": "balances"
																				},
																				"id": 139,
																				"name": "Identifier",
																				"src": "267:8:0"
																			},
																			{
																				"attributes": {
																					"member_name": "sender",
																					"type": "address"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "msg",
																							"value": "msg"
																						},
																						"id": 140,
																						"name": "Identifier",
																						"src": "276:3:0"
																					}
																				],
																				"id": 141,
																				"name": "MemberAccess",
																				"src": "276:10:0"
																			}
																		],
																		"id": 142,
																		"name": "IndexAccess",
																		"src": "267:20:0"
																	},
																	{
																		"attributes": {
																			"type": "uint256",
																			"value": "_value"
																		},
																		"id": 143,
																		"name": "Identifier",
																		"src": "291:6:0"
																	}
																],
																"id": 144,
																"name": "BinaryOperation",
																"src": "267:30:0"
															},
															{
																"attributes": {
																	"operator": ">=",
																	"type": "bool"
																},
																"children": [
																	{
																		"attributes": {
																			"operator": "+",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 145,
																						"name": "Identifier",
																						"src": "301:8:0"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_to"
																						},
																						"id": 146,
																						"name": "Identifier",
																						"src": "310:3:0"
																					}
																				],
																				"id": 147,
																				"name": "IndexAccess",
																				"src": "301:13:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 148,
																				"name": "Identifier",
																				"src": "317:6:0"
																			}
																		],
																		"id": 149,
																		"name": "BinaryOperation",
																		"src": "301:22:0"
																	},
																	{
																		"attributes": {
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "mapping(address => uint256)",
																					"value": "balances"
																				},
																				"id": 150,
																				"name": "Identifier",
																				"src": "327:8:0"
																			},
																			{
																				"attributes": {
																					"type": "address",
																					"value": "_to"
																				},
																				"id": 151,
																				"name": "Identifier",
																				"src": "336:3:0"
																			}
																		],
																		"id": 152,
																		"name": "IndexAccess",
																		"src": "327:13:0"
																	}
																],
																"id": 153,
																"name": "BinaryOperation",
																"src": "301:39:0"
															}
														],
														"id": 154,
														"name": "BinaryOperation",
														"src": "267:73:0"
													},
													{
														"children": [
															{
																"children": [
																	{
																		"attributes": {
																			"operator": "-=",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 155,
																						"name": "Identifier",
																						"src": "356:8:0"
																					},
																					{
																						"attributes": {
																							"member_name": "sender",
																							"type": "address"
																						},
																						"children": [
																							{
																								"attributes": {
																									"type": "msg",
																									"value": "msg"
																								},
																								"id": 156,
																								"name": "Identifier",
																								"src": "365:3:0"
																							}
																						],
																						"id": 157,
																						"name": "MemberAccess",
																						"src": "365:10:0"
																					}
																				],
																				"id": 158,
																				"name": "IndexAccess",
																				"src": "356:20:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 159,
																				"name": "Identifier",
																				"src": "380:6:0"
																			}
																		],
																		"id": 160,
																		"name": "Assignment",
																		"src": "356:30:0"
																	}
																],
																"id": 161,
																"name": "ExpressionStatement",
																"src": "356:30:0"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"operator": "+=",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 162,
																						"name": "Identifier",
																						"src": "400:8:0"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_to"
																						},
																						"id": 163,
																						"name": "Identifier",
																						"src": "409:3:0"
																					}
																				],
																				"id": 164,
																				"name": "IndexAccess",
																				"src": "400:13:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 165,
																				"name": "Identifier",
																				"src": "417:6:0"
																			}
																		],
																		"id": 166,
																		"name": "Assignment",
																		"src": "400:23:0"
																	}
																],
																"id": 167,
																"name": "ExpressionStatement",
																"src": "400:23:0"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"type": "tuple()",
																			"type_conversion": false
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "function (address,address,uint256) constant",
																					"value": "Transfer"
																				},
																				"id": 168,
																				"name": "Identifier",
																				"src": "437:8:0"
																			},
																			{
																				"attributes": {
																					"member_name": "sender",
																					"type": "address"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "msg",
																							"value": "msg"
																						},
																						"id": 169,
																						"name": "Identifier",
																						"src": "446:3:0"
																					}
																				],
																				"id": 170,
																				"name": "MemberAccess",
																				"src": "446:10:0"
																			},
																			{
																				"attributes": {
																					"type": "address",
																					"value": "_to"
																				},
																				"id": 171,
																				"name": "Identifier",
																				"src": "458:3:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 172,
																				"name": "Identifier",
																				"src": "463:6:0"
																			}
																		],
																		"id": 173,
																		"name": "FunctionCall",
																		"src": "437:33:0"
																	}
																],
																"id": 174,
																"name": "ExpressionStatement",
																"src": "437:33:0"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"hexvalue": "74727565",
																			"subdenomination": null,
																			"token": "true",
																			"type": "bool",
																			"value": "true"
																		},
																		"id": 175,
																		"name": "Literal",
																		"src": "491:4:0"
																	}
																],
																"id": 176,
																"name": "Return",
																"src": "484:11:0"
															}
														],
														"id": 177,
														"name": "Block",
														"src": "342:164:0"
													},
													{
														"children": [
															{
																"children": [
																	{
																		"attributes": {
																			"hexvalue": "66616c7365",
																			"subdenomination": null,
																			"token": "false",
																			"type": "bool",
																			"value": "false"
																		},
																		"id": 178,
																		"name": "Literal",
																		"src": "521:5:0"
																	}
																],
																"id": 179,
																"name": "Return",
																"src": "514:12:0"
															}
														],
														"id": 180,
														"name": "Block",
														"src": "512:17:0"
													}
												],
												"id": 181,
												"name": "IfStatement",
												"src": "263:266:0"
											}
										],
										"id": 182,
										"name": "Block",
										"src": "184:351:0"
									}
								],
								"id": 183,
								"name": "FunctionDefinition",
								"src": "125:410:0"
							},
							{
								"attributes": {
									"constant": false,
									"name": "transferFrom",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_from",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 184,
														"name": "ElementaryTypeName",
														"src": "563:7:0"
													}
												],
												"id": 185,
												"name": "VariableDeclaration",
												"src": "563:13:0"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_to",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 186,
														"name": "ElementaryTypeName",
														"src": "578:7:0"
													}
												],
												"id": 187,
												"name": "VariableDeclaration",
												"src": "578:11:0"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_value",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 188,
														"name": "ElementaryTypeName",
														"src": "591:4:0"
													}
												],
												"id": 189,
												"name": "VariableDeclaration",
												"src": "591:11:0"
											}
										],
										"id": 190,
										"name": "ParameterList",
										"src": "562:41:0"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "",
													"storageLocation": "default",
													"type": "bool",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "bool"
														},
														"id": 191,
														"name": "ElementaryTypeName",
														"src": "613:4:0"
													}
												],
												"id": 192,
												"name": "VariableDeclaration",
												"src": "613:4:0"
											}
										],
										"id": 193,
										"name": "ParameterList",
										"src": "612:6:0"
									},
									{
										"children": [
											{
												"children": [
													{
														"attributes": {
															"operator": "&&",
															"type": "bool"
														},
														"children": [
															{
																"attributes": {
																	"operator": "&&",
																	"type": "bool"
																},
																"children": [
																	{
																		"attributes": {
																			"operator": ">=",
																			"type": "bool"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 194,
																						"name": "Identifier",
																						"src": "633:8:0"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_from"
																						},
																						"id": 195,
																						"name": "Identifier",
																						"src": "642:5:0"
																					}
																				],
																				"id": 196,
																				"name": "IndexAccess",
																				"src": "633:15:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 197,
																				"name": "Identifier",
																				"src": "652:6:0"
																			}
																		],
																		"id": 198,
																		"name": "BinaryOperation",
																		"src": "633:25:0"
																	},
																	{
																		"attributes": {
																			"operator": ">=",
																			"type": "bool"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)"
																						},
																						"children": [
																							{
																								"attributes": {
																									"type": "mapping(address => mapping(address => uint256))",
																									"value": "allowed"
																								},
																								"id": 199,
																								"name": "Identifier",
																								"src": "662:7:0"
																							},
																							{
																								"attributes": {
																									"type": "address",
																									"value": "_from"
																								},
																								"id": 200,
																								"name": "Identifier",
																								"src": "670:5:0"
																							}
																						],
																						"id": 201,
																						"name": "IndexAccess",
																						"src": "662:14:0"
																					},
																					{
																						"attributes": {
																							"member_name": "sender",
																							"type": "address"
																						},
																						"children": [
																							{
																								"attributes": {
																									"type": "msg",
																									"value": "msg"
																								},
																								"id": 202,
																								"name": "Identifier",
																								"src": "677:3:0"
																							}
																						],
																						"id": 203,
																						"name": "MemberAccess",
																						"src": "677:10:0"
																					}
																				],
																				"id": 204,
																				"name": "IndexAccess",
																				"src": "662:26:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 205,
																				"name": "Identifier",
																				"src": "692:6:0"
																			}
																		],
																		"id": 206,
																		"name": "BinaryOperation",
																		"src": "662:36:0"
																	}
																],
																"id": 207,
																"name": "BinaryOperation",
																"src": "633:65:0"
															},
															{
																"attributes": {
																	"operator": ">=",
																	"type": "bool"
																},
																"children": [
																	{
																		"attributes": {
																			"operator": "+",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 208,
																						"name": "Identifier",
																						"src": "702:8:0"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_to"
																						},
																						"id": 209,
																						"name": "Identifier",
																						"src": "711:3:0"
																					}
																				],
																				"id": 210,
																				"name": "IndexAccess",
																				"src": "702:13:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 211,
																				"name": "Identifier",
																				"src": "718:6:0"
																			}
																		],
																		"id": 212,
																		"name": "BinaryOperation",
																		"src": "702:22:0"
																	},
																	{
																		"attributes": {
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "mapping(address => uint256)",
																					"value": "balances"
																				},
																				"id": 213,
																				"name": "Identifier",
																				"src": "728:8:0"
																			},
																			{
																				"attributes": {
																					"type": "address",
																					"value": "_to"
																				},
																				"id": 214,
																				"name": "Identifier",
																				"src": "737:3:0"
																			}
																		],
																		"id": 215,
																		"name": "IndexAccess",
																		"src": "728:13:0"
																	}
																],
																"id": 216,
																"name": "BinaryOperation",
																"src": "702:39:0"
															}
														],
														"id": 217,
														"name": "BinaryOperation",
														"src": "633:108:0"
													},
													{
														"children": [
															{
																"children": [
																	{
																		"attributes": {
																			"operator": "+=",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 218,
																						"name": "Identifier",
																						"src": "757:8:0"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_to"
																						},
																						"id": 219,
																						"name": "Identifier",
																						"src": "766:3:0"
																					}
																				],
																				"id": 220,
																				"name": "IndexAccess",
																				"src": "757:13:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 221,
																				"name": "Identifier",
																				"src": "774:6:0"
																			}
																		],
																		"id": 222,
																		"name": "Assignment",
																		"src": "757:23:0"
																	}
																],
																"id": 223,
																"name": "ExpressionStatement",
																"src": "757:23:0"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"operator": "-=",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 224,
																						"name": "Identifier",
																						"src": "794:8:0"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_from"
																						},
																						"id": 225,
																						"name": "Identifier",
																						"src": "803:5:0"
																					}
																				],
																				"id": 226,
																				"name": "IndexAccess",
																				"src": "794:15:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 227,
																				"name": "Identifier",
																				"src": "813:6:0"
																			}
																		],
																		"id": 228,
																		"name": "Assignment",
																		"src": "794:25:0"
																	}
																],
																"id": 229,
																"name": "ExpressionStatement",
																"src": "794:25:0"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"operator": "-=",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)"
																						},
																						"children": [
																							{
																								"attributes": {
																									"type": "mapping(address => mapping(address => uint256))",
																									"value": "allowed"
																								},
																								"id": 230,
																								"name": "Identifier",
																								"src": "833:7:0"
																							},
																							{
																								"attributes": {
																									"type": "address",
																									"value": "_from"
																								},
																								"id": 231,
																								"name": "Identifier",
																								"src": "841:5:0"
																							}
																						],
																						"id": 234,
																						"name": "IndexAccess",
																						"src": "833:14:0"
																					},
																					{
																						"attributes": {
																							"member_name": "sender",
																							"type": "address"
																						},
																						"children": [
																							{
																								"attributes": {
																									"type": "msg",
																									"value": "msg"
																								},
																								"id": 232,
																								"name": "Identifier",
																								"src": "848:3:0"
																							}
																						],
																						"id": 233,
																						"name": "MemberAccess",
																						"src": "848:10:0"
																					}
																				],
																				"id": 235,
																				"name": "IndexAccess",
																				"src": "833:26:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 236,
																				"name": "Identifier",
																				"src": "863:6:0"
																			}
																		],
																		"id": 237,
																		"name": "Assignment",
																		"src": "833:36:0"
																	}
																],
																"id": 238,
																"name": "ExpressionStatement",
																"src": "833:36:0"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"type": "tuple()",
																			"type_conversion": false
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "function (address,address,uint256) constant",
																					"value": "Transfer"
																				},
																				"id": 239,
																				"name": "Identifier",
																				"src": "883:8:0"
																			},
																			{
																				"attributes": {
																					"type": "address",
																					"value": "_from"
																				},
																				"id": 240,
																				"name": "Identifier",
																				"src": "892:5:0"
																			},
																			{
																				"attributes": {
																					"type": "address",
																					"value": "_to"
																				},
																				"id": 241,
																				"name": "Identifier",
																				"src": "899:3:0"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 242,
																				"name": "Identifier",
																				"src": "904:6:0"
																			}
																		],
																		"id": 243,
																		"name": "FunctionCall",
																		"src": "883:28:0"
																	}
																],
																"id": 244,
																"name": "ExpressionStatement",
																"src": "883:28:0"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"hexvalue": "74727565",
																			"subdenomination": null,
																			"token": "true",
																			"type": "bool",
																			"value": "true"
																		},
																		"id": 245,
																		"name": "Literal",
																		"src": "932:4:0"
																	}
																],
																"id": 246,
																"name": "Return",
																"src": "925:11:0"
															}
														],
														"id": 247,
														"name": "Block",
														"src": "743:204:0"
													},
													{
														"children": [
															{
																"children": [
																	{
																		"attributes": {
																			"hexvalue": "66616c7365",
																			"subdenomination": null,
																			"token": "false",
																			"type": "bool",
																			"value": "false"
																		},
																		"id": 248,
																		"name": "Literal",
																		"src": "962:5:0"
																	}
																],
																"id": 249,
																"name": "Return",
																"src": "955:12:0"
															}
														],
														"id": 250,
														"name": "Block",
														"src": "953:17:0"
													}
												],
												"id": 251,
												"name": "IfStatement",
												"src": "629:341:0"
											}
										],
										"id": 252,
										"name": "Block",
										"src": "619:357:0"
									}
								],
								"id": 253,
								"name": "FunctionDefinition",
								"src": "541:435:0"
							},
							{
								"attributes": {
									"constant": true,
									"name": "balanceOf",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_owner",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 254,
														"name": "ElementaryTypeName",
														"src": "1001:7:0"
													}
												],
												"id": 255,
												"name": "VariableDeclaration",
												"src": "1001:14:0"
											}
										],
										"id": 256,
										"name": "ParameterList",
										"src": "1000:16:0"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 257,
														"name": "ElementaryTypeName",
														"src": "1035:4:0"
													}
												],
												"id": 258,
												"name": "VariableDeclaration",
												"src": "1035:4:0"
											}
										],
										"id": 259,
										"name": "ParameterList",
										"src": "1034:6:0"
									},
									{
										"children": [
											{
												"children": [
													{
														"attributes": {
															"type": "uint256"
														},
														"children": [
															{
																"attributes": {
																	"type": "mapping(address => uint256)",
																	"value": "balances"
																},
																"id": 260,
																"name": "Identifier",
																"src": "1058:8:0"
															},
															{
																"attributes": {
																	"type": "address",
																	"value": "_owner"
																},
																"id": 261,
																"name": "Identifier",
																"src": "1067:6:0"
															}
														],
														"id": 262,
														"name": "IndexAccess",
														"src": "1058:16:0"
													}
												],
												"id": 263,
												"name": "Return",
												"src": "1051:23:0"
											}
										],
										"id": 264,
										"name": "Block",
										"src": "1041:40:0"
									}
								],
								"id": 265,
								"name": "FunctionDefinition",
								"src": "982:99:0"
							},
							{
								"attributes": {
									"constant": false,
									"name": "approve",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_spender",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 266,
														"name": "ElementaryTypeName",
														"src": "1104:7:0"
													}
												],
												"id": 267,
												"name": "VariableDeclaration",
												"src": "1104:16:0"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_value",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 268,
														"name": "ElementaryTypeName",
														"src": "1122:4:0"
													}
												],
												"id": 269,
												"name": "VariableDeclaration",
												"src": "1122:11:0"
											}
										],
										"id": 270,
										"name": "ParameterList",
										"src": "1103:31:0"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "",
													"storageLocation": "default",
													"type": "bool",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "bool"
														},
														"id": 271,
														"name": "ElementaryTypeName",
														"src": "1144:4:0"
													}
												],
												"id": 272,
												"name": "VariableDeclaration",
												"src": "1144:4:0"
											}
										],
										"id": 273,
										"name": "ParameterList",
										"src": "1143:6:0"
									},
									{
										"children": [
											{
												"children": [
													{
														"attributes": {
															"operator": "=",
															"type": "uint256"
														},
														"children": [
															{
																"attributes": {
																	"type": "uint256"
																},
																"children": [
																	{
																		"attributes": {
																			"type": "mapping(address => uint256)"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "mapping(address => mapping(address => uint256))",
																					"value": "allowed"
																				},
																				"id": 274,
																				"name": "Identifier",
																				"src": "1160:7:0"
																			},
																			{
																				"attributes": {
																					"member_name": "sender",
																					"type": "address"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "msg",
																							"value": "msg"
																						},
																						"id": 275,
																						"name": "Identifier",
																						"src": "1168:3:0"
																					}
																				],
																				"id": 276,
																				"name": "MemberAccess",
																				"src": "1168:10:0"
																			}
																		],
																		"id": 278,
																		"name": "IndexAccess",
																		"src": "1160:19:0"
																	},
																	{
																		"attributes": {
																			"type": "address",
																			"value": "_spender"
																		},
																		"id": 277,
																		"name": "Identifier",
																		"src": "1180:8:0"
																	}
																],
																"id": 279,
																"name": "IndexAccess",
																"src": "1160:29:0"
															},
															{
																"attributes": {
																	"type": "uint256",
																	"value": "_value"
																},
																"id": 280,
																"name": "Identifier",
																"src": "1192:6:0"
															}
														],
														"id": 281,
														"name": "Assignment",
														"src": "1160:38:0"
													}
												],
												"id": 282,
												"name": "ExpressionStatement",
												"src": "1160:38:0"
											},
											{
												"children": [
													{
														"attributes": {
															"type": "tuple()",
															"type_conversion": false
														},
														"children": [
															{
																"attributes": {
																	"type": "function (address,address,uint256) constant",
																	"value": "Approval"
																},
																"id": 283,
																"name": "Identifier",
																"src": "1208:8:0"
															},
															{
																"attributes": {
																	"member_name": "sender",
																	"type": "address"
																},
																"children": [
																	{
																		"attributes": {
																			"type": "msg",
																			"value": "msg"
																		},
																		"id": 284,
																		"name": "Identifier",
																		"src": "1217:3:0"
																	}
																],
																"id": 285,
																"name": "MemberAccess",
																"src": "1217:10:0"
															},
															{
																"attributes": {
																	"type": "address",
																	"value": "_spender"
																},
																"id": 286,
																"name": "Identifier",
																"src": "1229:8:0"
															},
															{
																"attributes": {
																	"type": "uint256",
																	"value": "_value"
																},
																"id": 287,
																"name": "Identifier",
																"src": "1239:6:0"
															}
														],
														"id": 288,
														"name": "FunctionCall",
														"src": "1208:38:0"
													}
												],
												"id": 289,
												"name": "ExpressionStatement",
												"src": "1208:38:0"
											},
											{
												"children": [
													{
														"attributes": {
															"hexvalue": "74727565",
															"subdenomination": null,
															"token": "true",
															"type": "bool",
															"value": "true"
														},
														"id": 290,
														"name": "Literal",
														"src": "1263:4:0"
													}
												],
												"id": 291,
												"name": "Return",
												"src": "1256:11:0"
											}
										],
										"id": 292,
										"name": "Block",
										"src": "1150:124:0"
									}
								],
								"id": 293,
								"name": "FunctionDefinition",
								"src": "1087:187:0"
							},
							{
								"attributes": {
									"constant": true,
									"name": "allowance",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_owner",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 294,
														"name": "ElementaryTypeName",
														"src": "1299:7:0"
													}
												],
												"id": 295,
												"name": "VariableDeclaration",
												"src": "1299:14:0"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_spender",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 296,
														"name": "ElementaryTypeName",
														"src": "1315:7:0"
													}
												],
												"id": 297,
												"name": "VariableDeclaration",
												"src": "1315:16:0"
											}
										],
										"id": 298,
										"name": "ParameterList",
										"src": "1298:34:0"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 299,
														"name": "ElementaryTypeName",
														"src": "1351:4:0"
													}
												],
												"id": 300,
												"name": "VariableDeclaration",
												"src": "1351:4:0"
											}
										],
										"id": 301,
										"name": "ParameterList",
										"src": "1350:6:0"
									},
									{
										"children": [
											{
												"children": [
													{
														"attributes": {
															"type": "uint256"
														},
														"children": [
															{
																"attributes": {
																	"type": "mapping(address => uint256)"
																},
																"children": [
																	{
																		"attributes": {
																			"type": "mapping(address => mapping(address => uint256))",
																			"value": "allowed"
																		},
																		"id": 302,
																		"name": "Identifier",
																		"src": "1374:7:0"
																	},
																	{
																		"attributes": {
																			"type": "address",
																			"value": "_owner"
																		},
																		"id": 303,
																		"name": "Identifier",
																		"src": "1382:6:0"
																	}
																],
																"id": 304,
																"name": "IndexAccess",
																"src": "1374:15:0"
															},
															{
																"attributes": {
																	"type": "address",
																	"value": "_spender"
																},
																"id": 305,
																"name": "Identifier",
																"src": "1390:8:0"
															}
														],
														"id": 306,
														"name": "IndexAccess",
														"src": "1374:25:0"
													}
												],
												"id": 307,
												"name": "Return",
												"src": "1367:32:0"
											}
										],
										"id": 308,
										"name": "Block",
										"src": "1357:49:0"
									}
								],
								"id": 309,
								"name": "FunctionDefinition",
								"src": "1280:126:0"
							},
							{
								"attributes": {
									"constant": false,
									"name": "balances",
									"storageLocation": "default",
									"type": "mapping(address => uint256)",
									"visibility": "internal"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"name": "address"
												},
												"id": 310,
												"name": "ElementaryTypeName",
												"src": "1421:7:0"
											},
											{
												"attributes": {
													"name": "uint"
												},
												"id": 311,
												"name": "ElementaryTypeName",
												"src": "1432:4:0"
											}
										],
										"id": 312,
										"name": "Mapping",
										"src": "1412:25:0"
									}
								],
								"id": 313,
								"name": "VariableDeclaration",
								"src": "1412:34:0"
							},
							{
								"attributes": {
									"constant": false,
									"name": "allowed",
									"storageLocation": "default",
									"type": "mapping(address => mapping(address => uint256))",
									"visibility": "internal"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"name": "address"
												},
												"id": 314,
												"name": "ElementaryTypeName",
												"src": "1461:7:0"
											},
											{
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 315,
														"name": "ElementaryTypeName",
														"src": "1481:7:0"
													},
													{
														"attributes": {
															"name": "uint"
														},
														"id": 316,
														"name": "ElementaryTypeName",
														"src": "1492:4:0"
													}
												],
												"id": 317,
												"name": "Mapping",
												"src": "1472:25:0"
											}
										],
										"id": 318,
										"name": "Mapping",
										"src": "1452:46:0"
									}
								],
								"id": 319,
								"name": "VariableDeclaration",
								"src": "1452:54:0"
							},
							{
								"attributes": {
									"constant": false,
									"name": "totalSupply",
									"storageLocation": "default",
									"type": "uint256",
									"visibility": "public"
								},
								"children": [
									{
										"attributes": {
											"name": "uint"
										},
										"id": 320,
										"name": "ElementaryTypeName",
										"src": "1512:4:0"
									}
								],
								"id": 321,
								"name": "VariableDeclaration",
								"src": "1512:23:0"
							}
						],
						"id": 322,
						"name": "ContractDefinition",
						"src": "86:1452:0"
					}
				],
				"name": "SourceUnit"
			}
		},
		"1.0.0/Token/Token_v1.sol": {
			"id": 1,
			"legacyAST": {
				"children": [
					{
						"attributes": {
							"literals": [
								"solidity",
								"^",
								"0.4",
								".11"
							]
						},
						"id": 324,
						"name": "PragmaDirective",
						"src": "0:24:1"
					},
					{
						"attributes": {
							"fullyImplemented": true,
							"isLibrary": false,
							"linearizedBaseContracts": [
								397
							],
							"name": "Token_v1"
						},
						"children": [
							{
								"attributes": {
									"constant": true,
									"name": "totalSupply",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [],
										"id": 325,
										"name": "ParameterList",
										"src": "110:2:1"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "supply",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 326,
														"name": "ElementaryTypeName",
														"src": "131:4:1"
													}
												],
												"id": 327,
												"name": "VariableDeclaration",
												"src": "131:11:1"
											}
										],
										"id": 328,
										"name": "ParameterList",
										"src": "130:13:1"
									},
									{
										"children": [],
										"id": 329,
										"name": "Block",
										"src": "144:2:1"
									}
								],
								"id": 330,
								"name": "FunctionDefinition",
								"src": "90:56:1"
							},
							{
								"attributes": {
									"constant": true,
									"name": "balanceOf",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_owner",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 331,
														"name": "ElementaryTypeName",
														"src": "274:7:1"
													}
												],
												"id": 332,
												"name": "VariableDeclaration",
												"src": "274:14:1"
											}
										],
										"id": 333,
										"name": "ParameterList",
										"src": "273:16:1"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "balance",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 334,
														"name": "ElementaryTypeName",
														"src": "308:4:1"
													}
												],
												"id": 335,
												"name": "VariableDeclaration",
												"src": "308:12:1"
											}
										],
										"id": 336,
										"name": "ParameterList",
										"src": "307:14:1"
									},
									{
										"children": [],
										"id": 337,
										"name": "Block",
										"src": "322:2:1"
									}
								],
								"id": 338,
								"name": "FunctionDefinition",
								"src": "255:69:1"
							},
							{
								"attributes": {
									"constant": false,
									"name": "transfer",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_to",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 339,
														"name": "ElementaryTypeName",
														"src": "578:7:1"
													}
												],
												"id": 340,
												"name": "VariableDeclaration",
												"src": "578:11:1"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_value",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 341,
														"name": "ElementaryTypeName",
														"src": "591:4:1"
													}
												],
												"id": 342,
												"name": "VariableDeclaration",
												"src": "591:11:1"
											}
										],
										"id": 343,
										"name": "ParameterList",
										"src": "577:26:1"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "success",
													"storageLocation": "default",
													"type": "bool",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "bool"
														},
														"id": 344,
														"name": "ElementaryTypeName",
														"src": "613:4:1"
													}
												],
												"id": 345,
												"name": "VariableDeclaration",
												"src": "613:12:1"
											}
										],
										"id": 346,
										"name": "ParameterList",
										"src": "612:14:1"
									},
									{
										"children": [],
										"id": 347,
										"name": "Block",
										"src": "627:2:1"
									}
								],
								"id": 348,
								"name": "FunctionDefinition",
								"src": "560:69:1"
							},
							{
								"attributes": {
									"constant": false,
									"name": "transferFrom",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_from",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 349,
														"name": "ElementaryTypeName",
														"src": "972:7:1"
													}
												],
												"id": 350,
												"name": "VariableDeclaration",
												"src": "972:13:1"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_to",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 351,
														"name": "ElementaryTypeName",
														"src": "987:7:1"
													}
												],
												"id": 352,
												"name": "VariableDeclaration",
												"src": "987:11:1"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_value",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 353,
														"name": "ElementaryTypeName",
														"src": "1000:4:1"
													}
												],
												"id": 354,
												"name": "VariableDeclaration",
												"src": "1000:11:1"
											}
										],
										"id": 355,
										"name": "ParameterList",
										"src": "971:41:1"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "success",
													"storageLocation": "default",
													"type": "bool",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "bool"
														},
														"id": 356,
														"name": "ElementaryTypeName",
														"src": "1022:4:1"
													}
												],
												"id": 357,
												"name": "VariableDeclaration",
												"src": "1022:12:1"
											}
										],
										"id": 358,
										"name": "ParameterList",
										"src": "1021:14:1"
									},
									{
										"children": [],
										"id": 359,
										"name": "Block",
										"src": "1036:2:1"
									}
								],
								"id": 360,
								"name": "FunctionDefinition",
								"src": "950:88:1"
							},
							{
								"attributes": {
									"constant": false,
									"name": "approve",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_spender",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 361,
														"name": "ElementaryTypeName",
														"src": "1338:7:1"
													}
												],
												"id": 362,
												"name": "VariableDeclaration",
												"src": "1338:16:1"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_value",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 363,
														"name": "ElementaryTypeName",
														"src": "1356:4:1"
													}
												],
												"id": 364,
												"name": "VariableDeclaration",
												"src": "1356:11:1"
											}
										],
										"id": 365,
										"name": "ParameterList",
										"src": "1337:31:1"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "success",
													"storageLocation": "default",
													"type": "bool",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "bool"
														},
														"id": 366,
														"name": "ElementaryTypeName",
														"src": "1378:4:1"
													}
												],
												"id": 367,
												"name": "VariableDeclaration",
												"src": "1378:12:1"
											}
										],
										"id": 368,
										"name": "ParameterList",
										"src": "1377:14:1"
									},
									{
										"children": [],
										"id": 369,
										"name": "Block",
										"src": "1392:2:1"
									}
								],
								"id": 370,
								"name": "FunctionDefinition",
								"src": "1321:73:1"
							},
							{
								"attributes": {
									"constant": true,
									"name": "allowance",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_owner",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 371,
														"name": "ElementaryTypeName",
														"src": "1621:7:1"
													}
												],
												"id": 372,
												"name": "VariableDeclaration",
												"src": "1621:14:1"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_spender",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 373,
														"name": "ElementaryTypeName",
														"src": "1637:7:1"
													}
												],
												"id": 374,
												"name": "VariableDeclaration",
												"src": "1637:16:1"
											}
										],
										"id": 375,
										"name": "ParameterList",
										"src": "1620:34:1"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "remaining",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 376,
														"name": "ElementaryTypeName",
														"src": "1673:4:1"
													}
												],
												"id": 377,
												"name": "VariableDeclaration",
												"src": "1673:14:1"
											}
										],
										"id": 378,
										"name": "ParameterList",
										"src": "1672:16:1"
									},
									{
										"children": [],
										"id": 379,
										"name": "Block",
										"src": "1689:2:1"
									}
								],
								"id": 380,
								"name": "FunctionDefinition",
								"src": "1602:89:1"
							},
							{
								"attributes": {
									"name": "Transfer"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"indexed": true,
													"name": "_from",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 381,
														"name": "ElementaryTypeName",
														"src": "1712:7:1"
													}
												],
												"id": 382,
												"name": "VariableDeclaration",
												"src": "1712:21:1"
											},
											{
												"attributes": {
													"constant": false,
													"indexed": true,
													"name": "_to",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 383,
														"name": "ElementaryTypeName",
														"src": "1735:7:1"
													}
												],
												"id": 384,
												"name": "VariableDeclaration",
												"src": "1735:19:1"
											},
											{
												"attributes": {
													"constant": false,
													"indexed": false,
													"name": "_value",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 385,
														"name": "ElementaryTypeName",
														"src": "1756:4:1"
													}
												],
												"id": 386,
												"name": "VariableDeclaration",
												"src": "1756:11:1"
											}
										],
										"id": 387,
										"name": "ParameterList",
										"src": "1711:57:1"
									}
								],
								"id": 388,
								"name": "EventDefinition",
								"src": "1697:72:1"
							},
							{
								"attributes": {
									"name": "Approval"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"indexed": true,
													"name": "_owner",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 389,
														"name": "ElementaryTypeName",
														"src": "1789:7:1"
													}
												],
												"id": 390,
												"name": "VariableDeclaration",
												"src": "1789:22:1"
											},
											{
												"attributes": {
													"constant": false,
													"indexed": true,
													"name": "_spender",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 391,
														"name": "ElementaryTypeName",
														"src": "1813:7:1"
													}
												],
												"id": 392,
												"name": "VariableDeclaration",
												"src": "1813:24:1"
											},
											{
												"attributes": {
													"constant": false,
													"indexed": false,
													"name": "_value",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 393,
														"name": "ElementaryTypeName",
														"src": "1839:4:1"
													}
												],
												"id": 394,
												"name": "VariableDeclaration",
												"src": "1839:11:1"
											}
										],
										"id": 395,
										"name": "ParameterList",
										"src": "1788:63:1"
									}
								],
								"id": 396,
								"name": "EventDefinition",
								"src": "1774:78:1"
							}
						],
						"id": 397,
						"name": "ContractDefinition",
						"src": "26:1828:1"
					}
				],
				"name": "SourceUnit"
			}
		},
		"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol": {
			"id": 2,
			"legacyAST": {
				"children": [
					{
						"attributes": {
							"literals": [
								"solidity",
								"^",
								"0.4",
								".11"
							]
						},
						"id": 33,
						"name": "PragmaDirective",
						"src": "580:24:2"
					},
					{
						"attributes": {
							"file": "../ERC20Token/ERC20Token_v1.sol"
						},
						"id": 35,
						"name": "ImportDirective",
						"src": "606:78:2"
					},
					{
						"attributes": {
							"fullyImplemented": true,
							"isLibrary": false,
							"linearizedBaseContracts": [
								124,
								322,
								397
							],
							"name": "UnlimitedAllowanceToken_v1"
						},
						"children": [
							{
								"children": [
									{
										"attributes": {
											"name": "ERC20Token"
										},
										"id": 36,
										"name": "UserDefinedTypeName",
										"src": "725:10:2"
									}
								],
								"id": 37,
								"name": "InheritanceSpecifier",
								"src": "725:10:2"
							},
							{
								"attributes": {
									"constant": true,
									"name": "MAX_UINT",
									"storageLocation": "default",
									"type": "uint256",
									"visibility": "internal"
								},
								"children": [
									{
										"attributes": {
											"name": "uint"
										},
										"id": 38,
										"name": "ElementaryTypeName",
										"src": "743:4:2"
									},
									{
										"attributes": {
											"operator": "-",
											"type": "int_const 115792089237316195423570985008687907853269984665640564039457584007913129639935"
										},
										"children": [
											{
												"attributes": {
													"operator": "**",
													"type": "int_const 115792089237316195423570985008687907853269984665640564039457584007913129639936"
												},
												"children": [
													{
														"attributes": {
															"hexvalue": "32",
															"subdenomination": null,
															"token": null,
															"type": "int_const 2",
															"value": "2"
														},
														"id": 39,
														"name": "Literal",
														"src": "768:1:2"
													},
													{
														"attributes": {
															"hexvalue": "323536",
															"subdenomination": null,
															"token": null,
															"type": "int_const 256",
															"value": "256"
														},
														"id": 40,
														"name": "Literal",
														"src": "771:3:2"
													}
												],
												"id": 41,
												"name": "BinaryOperation",
												"src": "768:6:2"
											},
											{
												"attributes": {
													"hexvalue": "31",
													"subdenomination": null,
													"token": null,
													"type": "int_const 1",
													"value": "1"
												},
												"id": 42,
												"name": "Literal",
												"src": "777:1:2"
											}
										],
										"id": 43,
										"name": "BinaryOperation",
										"src": "768:10:2"
									}
								],
								"id": 44,
								"name": "VariableDeclaration",
								"src": "743:35:2"
							},
							{
								"attributes": {
									"constant": false,
									"name": "transferFrom",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "_from",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 45,
														"name": "ElementaryTypeName",
														"src": "1088:7:2"
													}
												],
												"id": 46,
												"name": "VariableDeclaration",
												"src": "1088:13:2"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_to",
													"storageLocation": "default",
													"type": "address",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "address"
														},
														"id": 47,
														"name": "ElementaryTypeName",
														"src": "1103:7:2"
													}
												],
												"id": 48,
												"name": "VariableDeclaration",
												"src": "1103:11:2"
											},
											{
												"attributes": {
													"constant": false,
													"name": "_value",
													"storageLocation": "default",
													"type": "uint256",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "uint"
														},
														"id": 49,
														"name": "ElementaryTypeName",
														"src": "1116:4:2"
													}
												],
												"id": 50,
												"name": "VariableDeclaration",
												"src": "1116:11:2"
											}
										],
										"id": 51,
										"name": "ParameterList",
										"src": "1087:41:2"
									},
									{
										"children": [
											{
												"attributes": {
													"constant": false,
													"name": "",
													"storageLocation": "default",
													"type": "bool",
													"visibility": "internal"
												},
												"children": [
													{
														"attributes": {
															"name": "bool"
														},
														"id": 52,
														"name": "ElementaryTypeName",
														"src": "1161:4:2"
													}
												],
												"id": 53,
												"name": "VariableDeclaration",
												"src": "1161:4:2"
											}
										],
										"id": 54,
										"name": "ParameterList",
										"src": "1160:6:2"
									},
									{
										"children": [
											{
												"children": [
													{
														"attributes": {
															"constant": false,
															"name": "allowance",
															"storageLocation": "default",
															"type": "uint256",
															"visibility": "internal"
														},
														"children": [
															{
																"attributes": {
																	"name": "uint"
																},
																"id": 55,
																"name": "ElementaryTypeName",
																"src": "1181:4:2"
															}
														],
														"id": 56,
														"name": "VariableDeclaration",
														"src": "1181:14:2"
													},
													{
														"attributes": {
															"type": "uint256"
														},
														"children": [
															{
																"attributes": {
																	"type": "mapping(address => uint256)"
																},
																"children": [
																	{
																		"attributes": {
																			"type": "mapping(address => mapping(address => uint256))",
																			"value": "allowed"
																		},
																		"id": 57,
																		"name": "Identifier",
																		"src": "1198:7:2"
																	},
																	{
																		"attributes": {
																			"type": "address",
																			"value": "_from"
																		},
																		"id": 58,
																		"name": "Identifier",
																		"src": "1206:5:2"
																	}
																],
																"id": 59,
																"name": "IndexAccess",
																"src": "1198:14:2"
															},
															{
																"attributes": {
																	"member_name": "sender",
																	"type": "address"
																},
																"children": [
																	{
																		"attributes": {
																			"type": "msg",
																			"value": "msg"
																		},
																		"id": 60,
																		"name": "Identifier",
																		"src": "1213:3:2"
																	}
																],
																"id": 61,
																"name": "MemberAccess",
																"src": "1213:10:2"
															}
														],
														"id": 62,
														"name": "IndexAccess",
														"src": "1198:26:2"
													}
												],
												"id": 63,
												"name": "VariableDeclarationStatement",
												"src": "1181:43:2"
											},
											{
												"children": [
													{
														"attributes": {
															"operator": "&&",
															"type": "bool"
														},
														"children": [
															{
																"attributes": {
																	"operator": "&&",
																	"type": "bool"
																},
																"children": [
																	{
																		"attributes": {
																			"operator": ">=",
																			"type": "bool"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 64,
																						"name": "Identifier",
																						"src": "1238:8:2"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_from"
																						},
																						"id": 65,
																						"name": "Identifier",
																						"src": "1247:5:2"
																					}
																				],
																				"id": 66,
																				"name": "IndexAccess",
																				"src": "1238:15:2"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 67,
																				"name": "Identifier",
																				"src": "1257:6:2"
																			}
																		],
																		"id": 68,
																		"name": "BinaryOperation",
																		"src": "1238:25:2"
																	},
																	{
																		"attributes": {
																			"operator": ">=",
																			"type": "bool"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "allowance"
																				},
																				"id": 69,
																				"name": "Identifier",
																				"src": "1279:9:2"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 70,
																				"name": "Identifier",
																				"src": "1292:6:2"
																			}
																		],
																		"id": 71,
																		"name": "BinaryOperation",
																		"src": "1279:19:2"
																	}
																],
																"id": 72,
																"name": "BinaryOperation",
																"src": "1238:60:2"
															},
															{
																"attributes": {
																	"operator": ">=",
																	"type": "bool"
																},
																"children": [
																	{
																		"attributes": {
																			"operator": "+",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 73,
																						"name": "Identifier",
																						"src": "1314:8:2"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_to"
																						},
																						"id": 74,
																						"name": "Identifier",
																						"src": "1323:3:2"
																					}
																				],
																				"id": 75,
																				"name": "IndexAccess",
																				"src": "1314:13:2"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 76,
																				"name": "Identifier",
																				"src": "1330:6:2"
																			}
																		],
																		"id": 77,
																		"name": "BinaryOperation",
																		"src": "1314:22:2"
																	},
																	{
																		"attributes": {
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "mapping(address => uint256)",
																					"value": "balances"
																				},
																				"id": 78,
																				"name": "Identifier",
																				"src": "1340:8:2"
																			},
																			{
																				"attributes": {
																					"type": "address",
																					"value": "_to"
																				},
																				"id": 79,
																				"name": "Identifier",
																				"src": "1349:3:2"
																			}
																		],
																		"id": 80,
																		"name": "IndexAccess",
																		"src": "1340:13:2"
																	}
																],
																"id": 81,
																"name": "BinaryOperation",
																"src": "1314:39:2"
															}
														],
														"id": 82,
														"name": "BinaryOperation",
														"src": "1238:115:2"
													},
													{
														"children": [
															{
																"children": [
																	{
																		"attributes": {
																			"operator": "+=",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 83,
																						"name": "Identifier",
																						"src": "1378:8:2"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_to"
																						},
																						"id": 84,
																						"name": "Identifier",
																						"src": "1387:3:2"
																					}
																				],
																				"id": 85,
																				"name": "IndexAccess",
																				"src": "1378:13:2"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 86,
																				"name": "Identifier",
																				"src": "1395:6:2"
																			}
																		],
																		"id": 87,
																		"name": "Assignment",
																		"src": "1378:23:2"
																	}
																],
																"id": 88,
																"name": "ExpressionStatement",
																"src": "1378:23:2"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"operator": "-=",
																			"type": "uint256"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256"
																				},
																				"children": [
																					{
																						"attributes": {
																							"type": "mapping(address => uint256)",
																							"value": "balances"
																						},
																						"id": 89,
																						"name": "Identifier",
																						"src": "1415:8:2"
																					},
																					{
																						"attributes": {
																							"type": "address",
																							"value": "_from"
																						},
																						"id": 90,
																						"name": "Identifier",
																						"src": "1424:5:2"
																					}
																				],
																				"id": 91,
																				"name": "IndexAccess",
																				"src": "1415:15:2"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 92,
																				"name": "Identifier",
																				"src": "1434:6:2"
																			}
																		],
																		"id": 93,
																		"name": "Assignment",
																		"src": "1415:25:2"
																	}
																],
																"id": 94,
																"name": "ExpressionStatement",
																"src": "1415:25:2"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"operator": "<",
																			"type": "bool"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "allowance"
																				},
																				"id": 95,
																				"name": "Identifier",
																				"src": "1458:9:2"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "MAX_UINT"
																				},
																				"id": 96,
																				"name": "Identifier",
																				"src": "1470:8:2"
																			}
																		],
																		"id": 97,
																		"name": "BinaryOperation",
																		"src": "1458:20:2"
																	},
																	{
																		"children": [
																			{
																				"children": [
																					{
																						"attributes": {
																							"operator": "-=",
																							"type": "uint256"
																						},
																						"children": [
																							{
																								"attributes": {
																									"type": "uint256"
																								},
																								"children": [
																									{
																										"attributes": {
																											"type": "mapping(address => uint256)"
																										},
																										"children": [
																											{
																												"attributes": {
																													"type": "mapping(address => mapping(address => uint256))",
																													"value": "allowed"
																												},
																												"id": 98,
																												"name": "Identifier",
																												"src": "1498:7:2"
																											},
																											{
																												"attributes": {
																													"type": "address",
																													"value": "_from"
																												},
																												"id": 99,
																												"name": "Identifier",
																												"src": "1506:5:2"
																											}
																										],
																										"id": 102,
																										"name": "IndexAccess",
																										"src": "1498:14:2"
																									},
																									{
																										"attributes": {
																											"member_name": "sender",
																											"type": "address"
																										},
																										"children": [
																											{
																												"attributes": {
																													"type": "msg",
																													"value": "msg"
																												},
																												"id": 100,
																												"name": "Identifier",
																												"src": "1513:3:2"
																											}
																										],
																										"id": 101,
																										"name": "MemberAccess",
																										"src": "1513:10:2"
																									}
																								],
																								"id": 103,
																								"name": "IndexAccess",
																								"src": "1498:26:2"
																							},
																							{
																								"attributes": {
																									"type": "uint256",
																									"value": "_value"
																								},
																								"id": 104,
																								"name": "Identifier",
																								"src": "1528:6:2"
																							}
																						],
																						"id": 105,
																						"name": "Assignment",
																						"src": "1498:36:2"
																					}
																				],
																				"id": 106,
																				"name": "ExpressionStatement",
																				"src": "1498:36:2"
																			}
																		],
																		"id": 107,
																		"name": "Block",
																		"src": "1480:69:2"
																	}
																],
																"id": 108,
																"name": "IfStatement",
																"src": "1454:95:2"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"type": "tuple()",
																			"type_conversion": false
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "function (address,address,uint256) constant",
																					"value": "Transfer"
																				},
																				"id": 109,
																				"name": "Identifier",
																				"src": "1562:8:2"
																			},
																			{
																				"attributes": {
																					"type": "address",
																					"value": "_from"
																				},
																				"id": 110,
																				"name": "Identifier",
																				"src": "1571:5:2"
																			},
																			{
																				"attributes": {
																					"type": "address",
																					"value": "_to"
																				},
																				"id": 111,
																				"name": "Identifier",
																				"src": "1578:3:2"
																			},
																			{
																				"attributes": {
																					"type": "uint256",
																					"value": "_value"
																				},
																				"id": 112,
																				"name": "Identifier",
																				"src": "1583:6:2"
																			}
																		],
																		"id": 113,
																		"name": "FunctionCall",
																		"src": "1562:28:2"
																	}
																],
																"id": 114,
																"name": "ExpressionStatement",
																"src": "1562:28:2"
															},
															{
																"children": [
																	{
																		"attributes": {
																			"hexvalue": "74727565",
																			"subdenomination": null,
																			"token": "true",
																			"type": "bool",
																			"value": "true"
																		},
																		"id": 115,
																		"name": "Literal",
																		"src": "1611:4:2"
																	}
																],
																"id": 116,
																"name": "Return",
																"src": "1604:11:2"
															}
														],
														"id": 117,
														"name": "Block",
														"src": "1364:262:2"
													},
													{
														"children": [
															{
																"children": [
																	{
																		"attributes": {
																			"hexvalue": "66616c7365",
																			"subdenomination": null,
																			"token": "false",
																			"type": "bool",
																			"value": "false"
																		},
																		"id": 118,
																		"name": "Literal",
																		"src": "1653:5:2"
																	}
																],
																"id": 119,
																"name": "Return",
																"src": "1646:12:2"
															}
														],
														"id": 120,
														"name": "Block",
														"src": "1632:37:2"
													}
												],
												"id": 121,
												"name": "IfStatement",
												"src": "1234:435:2"
											}
										],
										"id": 122,
										"name": "Block",
										"src": "1171:504:2"
									}
								],
								"id": 123,
								"name": "FunctionDefinition",
								"src": "1066:609:2"
							}
						],
						"id": 124,
						"name": "ContractDefinition",
						"src": "686:991:2"
					}
				],
				"name": "SourceUnit"
			}
		},
		"2.0.0/tokens/ZRXToken/ZRXToken.sol": {
			"id": 3,
			"legacyAST": {
				"children": [
					{
						"attributes": {
							"literals": [
								"solidity",
								"0.4",
								".11"
							]
						},
						"id": 1,
						"name": "PragmaDirective",
						"src": "580:23:3"
					},
					{
						"attributes": {
							"file": "../../../1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol"
						},
						"id": 3,
						"name": "ImportDirective",
						"src": "650:142:3"
					},
					{
						"attributes": {
							"fullyImplemented": true,
							"isLibrary": false,
							"linearizedBaseContracts": [
								31,
								124,
								322,
								397
							],
							"name": "ZRXToken"
						},
						"children": [
							{
								"children": [
									{
										"attributes": {
											"name": "UnlimitedAllowanceToken"
										},
										"id": 4,
										"name": "UserDefinedTypeName",
										"src": "816:23:3"
									}
								],
								"id": 5,
								"name": "InheritanceSpecifier",
								"src": "816:23:3"
							},
							{
								"attributes": {
									"constant": true,
									"name": "decimals",
									"storageLocation": "default",
									"type": "uint8",
									"visibility": "public"
								},
								"children": [
									{
										"attributes": {
											"name": "uint8"
										},
										"id": 6,
										"name": "ElementaryTypeName",
										"src": "891:5:3"
									},
									{
										"attributes": {
											"hexvalue": "3138",
											"subdenomination": null,
											"token": null,
											"type": "int_const 18",
											"value": "18"
										},
										"id": 7,
										"name": "Literal",
										"src": "924:2:3"
									}
								],
								"id": 8,
								"name": "VariableDeclaration",
								"src": "891:35:3"
							},
							{
								"attributes": {
									"constant": false,
									"name": "totalSupply",
									"storageLocation": "default",
									"type": "uint256",
									"visibility": "public"
								},
								"children": [
									{
										"attributes": {
											"name": "uint"
										},
										"id": 9,
										"name": "ElementaryTypeName",
										"src": "932:4:3"
									},
									{
										"attributes": {
											"operator": "**",
											"type": "int_const 1000000000000000000000000000"
										},
										"children": [
											{
												"attributes": {
													"hexvalue": "3130",
													"subdenomination": null,
													"token": null,
													"type": "int_const 10",
													"value": "10"
												},
												"id": 10,
												"name": "Literal",
												"src": "958:2:3"
											},
											{
												"attributes": {
													"hexvalue": "3237",
													"subdenomination": null,
													"token": null,
													"type": "int_const 27",
													"value": "27"
												},
												"id": 11,
												"name": "Literal",
												"src": "962:2:3"
											}
										],
										"id": 12,
										"name": "BinaryOperation",
										"src": "958:6:3"
									}
								],
								"id": 13,
								"name": "VariableDeclaration",
								"src": "932:32:3"
							},
							{
								"attributes": {
									"constant": true,
									"name": "name",
									"storageLocation": "default",
									"type": "string memory",
									"visibility": "public"
								},
								"children": [
									{
										"attributes": {
											"name": "string"
										},
										"id": 14,
										"name": "ElementaryTypeName",
										"src": "1009:6:3"
									},
									{
										"attributes": {
											"hexvalue": "30782050726f746f636f6c20546f6b656e",
											"subdenomination": null,
											"token": null,
											"type": "literal_string \"0x Protocol Token\"",
											"value": "0x Protocol Token"
										},
										"id": 15,
										"name": "Literal",
										"src": "1039:19:3"
									}
								],
								"id": 16,
								"name": "VariableDeclaration",
								"src": "1009:49:3"
							},
							{
								"attributes": {
									"constant": true,
									"name": "symbol",
									"storageLocation": "default",
									"type": "string memory",
									"visibility": "public"
								},
								"children": [
									{
										"attributes": {
											"name": "string"
										},
										"id": 17,
										"name": "ElementaryTypeName",
										"src": "1064:6:3"
									},
									{
										"attributes": {
											"hexvalue": "5a5258",
											"subdenomination": null,
											"token": null,
											"type": "literal_string \"ZRX\"",
											"value": "ZRX"
										},
										"id": 18,
										"name": "Literal",
										"src": "1096:5:3"
									}
								],
								"id": 19,
								"name": "VariableDeclaration",
								"src": "1064:37:3"
							},
							{
								"attributes": {
									"constant": false,
									"name": "ZRXToken",
									"payable": false,
									"visibility": "public"
								},
								"children": [
									{
										"children": [],
										"id": 20,
										"name": "ParameterList",
										"src": "1167:2:3"
									},
									{
										"children": [],
										"id": 21,
										"name": "ParameterList",
										"src": "1189:0:3"
									},
									{
										"children": [
											{
												"children": [
													{
														"attributes": {
															"operator": "=",
															"type": "uint256"
														},
														"children": [
															{
																"attributes": {
																	"type": "uint256"
																},
																"children": [
																	{
																		"attributes": {
																			"type": "mapping(address => uint256)",
																			"value": "balances"
																		},
																		"id": 22,
																		"name": "Identifier",
																		"src": "1199:8:3"
																	},
																	{
																		"attributes": {
																			"member_name": "sender",
																			"type": "address"
																		},
																		"children": [
																			{
																				"attributes": {
																					"type": "msg",
																					"value": "msg"
																				},
																				"id": 23,
																				"name": "Identifier",
																				"src": "1208:3:3"
																			}
																		],
																		"id": 24,
																		"name": "MemberAccess",
																		"src": "1208:10:3"
																	}
																],
																"id": 25,
																"name": "IndexAccess",
																"src": "1199:20:3"
															},
															{
																"attributes": {
																	"type": "uint256",
																	"value": "totalSupply"
																},
																"id": 26,
																"name": "Identifier",
																"src": "1222:11:3"
															}
														],
														"id": 27,
														"name": "Assignment",
														"src": "1199:34:3"
													}
												],
												"id": 28,
												"name": "ExpressionStatement",
												"src": "1199:34:3"
											}
										],
										"id": 29,
										"name": "Block",
										"src": "1189:51:3"
									}
								],
								"id": 30,
								"name": "FunctionDefinition",
								"src": "1150:90:3"
							}
						],
						"id": 31,
						"name": "ContractDefinition",
						"src": "795:447:3"
					}
				],
				"name": "SourceUnit"
			}
		}
	},
	"sourceCodes": {
		"1.0.0/ERC20Token/ERC20Token_v1.sol": "pragma solidity ^0.4.11;\n\nimport { Token_v1 as Token } from \"../Token/Token_v1.sol\";\n\ncontract ERC20Token_v1 is Token {\n\n    function transfer(address _to, uint _value) returns (bool) {\n        //Default assumes totalSupply can't be over max (2^256 - 1).\n        if (balances[msg.sender] >= _value && balances[_to] + _value >= balances[_to]) {\n            balances[msg.sender] -= _value;\n            balances[_to] += _value;\n            Transfer(msg.sender, _to, _value);\n            return true;\n        } else { return false; }\n    }\n\n    function transferFrom(address _from, address _to, uint _value) returns (bool) {\n        if (balances[_from] >= _value && allowed[_from][msg.sender] >= _value && balances[_to] + _value >= balances[_to]) {\n            balances[_to] += _value;\n            balances[_from] -= _value;\n            allowed[_from][msg.sender] -= _value;\n            Transfer(_from, _to, _value);\n            return true;\n        } else { return false; }\n    }\n\n    function balanceOf(address _owner) constant returns (uint) {\n        return balances[_owner];\n    }\n\n    function approve(address _spender, uint _value) returns (bool) {\n        allowed[msg.sender][_spender] = _value;\n        Approval(msg.sender, _spender, _value);\n        return true;\n    }\n\n    function allowance(address _owner, address _spender) constant returns (uint) {\n        return allowed[_owner][_spender];\n    }\n\n    mapping (address => uint) balances;\n    mapping (address => mapping (address => uint)) allowed;\n    uint public totalSupply;\n}\n",
		"1.0.0/Token/Token_v1.sol": "pragma solidity ^0.4.11;\n\ncontract Token_v1 {\n\n    /// @return total amount of tokens\n    function totalSupply() constant returns (uint supply) {}\n\n    /// @param _owner The address from which the balance will be retrieved\n    /// @return The balance\n    function balanceOf(address _owner) constant returns (uint balance) {}\n\n    /// @notice send `_value` token to `_to` from `msg.sender`\n    /// @param _to The address of the recipient\n    /// @param _value The amount of token to be transferred\n    /// @return Whether the transfer was successful or not\n    function transfer(address _to, uint _value) returns (bool success) {}\n\n    /// @notice send `_value` token to `_to` from `_from` on the condition it is approved by `_from`\n    /// @param _from The address of the sender\n    /// @param _to The address of the recipient\n    /// @param _value The amount of token to be transferred\n    /// @return Whether the transfer was successful or not\n    function transferFrom(address _from, address _to, uint _value) returns (bool success) {}\n\n    /// @notice `msg.sender` approves `_addr` to spend `_value` tokens\n    /// @param _spender The address of the account able to transfer the tokens\n    /// @param _value The amount of wei to be approved for transfer\n    /// @return Whether the approval was successful or not\n    function approve(address _spender, uint _value) returns (bool success) {}\n\n    /// @param _owner The address of the account owning tokens\n    /// @param _spender The address of the account able to transfer the tokens\n    /// @return Amount of remaining tokens allowed to spent\n    function allowance(address _owner, address _spender) constant returns (uint remaining) {}\n\n    event Transfer(address indexed _from, address indexed _to, uint _value);\n    event Approval(address indexed _owner, address indexed _spender, uint _value);\n}\n\n",
		"1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol": "/*\n\n  Copyright 2018 ZeroEx Intl.\n\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License.\n\n*/\n\npragma solidity ^0.4.11;\n\nimport { ERC20Token_v1 as ERC20Token } from \"../ERC20Token/ERC20Token_v1.sol\";\n\ncontract UnlimitedAllowanceToken_v1 is ERC20Token {\n\n    uint constant MAX_UINT = 2**256 - 1;\n\n    /// @dev ERC20 transferFrom, modified such that an allowance of MAX_UINT represents an unlimited allowance.\n    /// @param _from Address to transfer from.\n    /// @param _to Address to transfer to.\n    /// @param _value Amount to transfer.\n    /// @return Success of transfer.\n    function transferFrom(address _from, address _to, uint _value)\n        public\n        returns (bool)\n    {\n        uint allowance = allowed[_from][msg.sender];\n        if (balances[_from] >= _value\n            && allowance >= _value\n            && balances[_to] + _value >= balances[_to]\n        ) {\n            balances[_to] += _value;\n            balances[_from] -= _value;\n            if (allowance < MAX_UINT) {\n                allowed[_from][msg.sender] -= _value;\n            }\n            Transfer(_from, _to, _value);\n            return true;\n        } else {\n            return false;\n        }\n    }\n}\n",
		"2.0.0/tokens/ZRXToken/ZRXToken.sol": "/*\n\n  Copyright 2018 ZeroEx Intl.\n\n  Licensed under the Apache License, Version 2.0 (the \"License\");\n  you may not use this file except in compliance with the License.\n  You may obtain a copy of the License at\n\n    http://www.apache.org/licenses/LICENSE-2.0\n\n  Unless required by applicable law or agreed to in writing, software\n  distributed under the License is distributed on an \"AS IS\" BASIS,\n  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n  See the License for the specific language governing permissions and\n  limitations under the License.\n\n*/\n\npragma solidity 0.4.11;\n\n// solhint-disable-next-line max-line-length\nimport { UnlimitedAllowanceToken_v1 as UnlimitedAllowanceToken } from \"../../../1.0.0/UnlimitedAllowanceToken/UnlimitedAllowanceToken_v1.sol\";\n\n\ncontract ZRXToken is UnlimitedAllowanceToken {\n\n    // solhint-disable const-name-snakecase\n    uint8 constant public decimals = 18;\n    uint public totalSupply = 10**27; // 1 billion tokens, 18 decimal places\n    string constant public name = \"0x Protocol Token\";\n    string constant public symbol = \"ZRX\";\n    // solhint-enableconst-name-snakecase\n\n    function ZRXToken()\n        public\n    {\n        balances[msg.sender] = totalSupply;\n    }\n}\n"
	},
	"sourceTreeHashHex": "0xbcce67d129fe53ddb9717b4f567b33108c41a4f4324aa47ac609037e41f5b95d",
	"compiler": {
		"name": "solc",
		"version": "soljson-v0.4.11+commit.68ef5810.js",
		"settings": {
			"optimizer": {
				"enabled": true,
				"runs": 1000000
			},
			"outputSelection": {
				"*": {
					"*": [
						"abi",
						"evm.bytecode.object",
						"evm.bytecode.sourceMap",
						"evm.deployedBytecode.object",
						"evm.deployedBytecode.sourceMap"
					]
				}
			}
		}
	},
	"networks": {
		"50": {
			"address": "0x871dd7c2b4b25e1aa18728e9d5f2af4c4e431f5c",
			"links": {},
			"constructorArgs": "[]"
		}
	}
}