{
	"deploy": {
		"VM:-": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"main:1": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"ropsten:3": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"rinkeby:4": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"kovan:42": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"goerli:5": {
			"linkReferences": {},
			"autoDeployLib": true
		},
		"Custom": {
			"linkReferences": {},
			"autoDeployLib": true
		}
	},
	"data": {
		"bytecode": {
			"functionDebugData": {},
			"generatedSources": [],
			"linkReferences": {},
			"object": "6080604052348015600e575f80fd5b506101738061001c5f395ff3fe608060405234801561000f575f80fd5b506004361061003f575f3560e01c806312065fe0146100435780632096525514610061578063552410771461007f575b5f80fd5b61004b61009b565b60405161005891906100cb565b60405180910390f35b6100696100a2565b60405161007691906100cb565b60405180910390f35b61009960048036038101906100949190610112565b6100aa565b005b5f47905090565b5f8054905090565b805f8190555050565b5f819050919050565b6100c5816100b3565b82525050565b5f6020820190506100de5f8301846100bc565b92915050565b5f80fd5b6100f1816100b3565b81146100fb575f80fd5b50565b5f8135905061010c816100e8565b92915050565b5f60208284031215610127576101266100e4565b5b5f610134848285016100fe565b9150509291505056fea26469706673582212207c56466e662d3174fb258cf5ca413dd1a29f1245baded7c56e55df5239f6cdc364736f6c634300081a0033",
			"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH1 0xE JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH2 0x173 DUP1 PUSH2 0x1C PUSH0 CODECOPY PUSH0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x20965255 EQ PUSH2 0x61 JUMPI DUP1 PUSH4 0x55241077 EQ PUSH2 0x7F JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x4B PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x58 SWAP2 SWAP1 PUSH2 0xCB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x69 PUSH2 0xA2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x76 SWAP2 SWAP1 PUSH2 0xCB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x99 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x94 SWAP2 SWAP1 PUSH2 0x112 JUMP JUMPDEST PUSH2 0xAA JUMP JUMPDEST STOP JUMPDEST PUSH0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC5 DUP2 PUSH2 0xB3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDE PUSH0 DUP4 ADD DUP5 PUSH2 0xBC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xF1 DUP2 PUSH2 0xB3 JUMP JUMPDEST DUP2 EQ PUSH2 0xFB JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x10C DUP2 PUSH2 0xE8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x127 JUMPI PUSH2 0x126 PUSH2 0xE4 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x134 DUP5 DUP3 DUP6 ADD PUSH2 0xFE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH29 0x56466E662D3174FB258CF5CA413DD1A29F1245BADED7C56E55DF5239F6 0xCD 0xC3 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
			"sourceMap": "60:340:0:-:0;;;;;;;;;;;;;;;;;;;"
		},
		"deployedBytecode": {
			"functionDebugData": {
				"@getBalance_33": {
					"entryPoint": 155,
					"id": 33,
					"parameterSlots": 0,
					"returnSlots": 1
				},
				"@getValue_21": {
					"entryPoint": 162,
					"id": 21,
					"parameterSlots": 0,
					"returnSlots": 1
				},
				"@setValue_13": {
					"entryPoint": 170,
					"id": 13,
					"parameterSlots": 1,
					"returnSlots": 0
				},
				"abi_decode_t_uint256": {
					"entryPoint": 254,
					"id": null,
					"parameterSlots": 2,
					"returnSlots": 1
				},
				"abi_decode_tuple_t_uint256": {
					"entryPoint": 274,
					"id": null,
					"parameterSlots": 2,
					"returnSlots": 1
				},
				"abi_encode_t_uint256_to_t_uint256_fromStack": {
					"entryPoint": 188,
					"id": null,
					"parameterSlots": 2,
					"returnSlots": 0
				},
				"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed": {
					"entryPoint": 203,
					"id": null,
					"parameterSlots": 2,
					"returnSlots": 1
				},
				"allocate_unbounded": {
					"entryPoint": null,
					"id": null,
					"parameterSlots": 0,
					"returnSlots": 1
				},
				"cleanup_t_uint256": {
					"entryPoint": 179,
					"id": null,
					"parameterSlots": 1,
					"returnSlots": 1
				},
				"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db": {
					"entryPoint": null,
					"id": null,
					"parameterSlots": 0,
					"returnSlots": 0
				},
				"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b": {
					"entryPoint": 228,
					"id": null,
					"parameterSlots": 0,
					"returnSlots": 0
				},
				"validator_revert_t_uint256": {
					"entryPoint": 232,
					"id": null,
					"parameterSlots": 1,
					"returnSlots": 0
				}
			},
			"generatedSources": [
				{
					"ast": {
						"nativeSrc": "0:1374:1",
						"nodeType": "YulBlock",
						"src": "0:1374:1",
						"statements": [
							{
								"body": {
									"nativeSrc": "52:32:1",
									"nodeType": "YulBlock",
									"src": "52:32:1",
									"statements": [
										{
											"nativeSrc": "62:16:1",
											"nodeType": "YulAssignment",
											"src": "62:16:1",
											"value": {
												"name": "value",
												"nativeSrc": "73:5:1",
												"nodeType": "YulIdentifier",
												"src": "73:5:1"
											},
											"variableNames": [
												{
													"name": "cleaned",
													"nativeSrc": "62:7:1",
													"nodeType": "YulIdentifier",
													"src": "62:7:1"
												}
											]
										}
									]
								},
								"name": "cleanup_t_uint256",
								"nativeSrc": "7:77:1",
								"nodeType": "YulFunctionDefinition",
								"parameters": [
									{
										"name": "value",
										"nativeSrc": "34:5:1",
										"nodeType": "YulTypedName",
										"src": "34:5:1",
										"type": ""
									}
								],
								"returnVariables": [
									{
										"name": "cleaned",
										"nativeSrc": "44:7:1",
										"nodeType": "YulTypedName",
										"src": "44:7:1",
										"type": ""
									}
								],
								"src": "7:77:1"
							},
							{
								"body": {
									"nativeSrc": "155:53:1",
									"nodeType": "YulBlock",
									"src": "155:53:1",
									"statements": [
										{
											"expression": {
												"arguments": [
													{
														"name": "pos",
														"nativeSrc": "172:3:1",
														"nodeType": "YulIdentifier",
														"src": "172:3:1"
													},
													{
														"arguments": [
															{
																"name": "value",
																"nativeSrc": "195:5:1",
																"nodeType": "YulIdentifier",
																"src": "195:5:1"
															}
														],
														"functionName": {
															"name": "cleanup_t_uint256",
															"nativeSrc": "177:17:1",
															"nodeType": "YulIdentifier",
															"src": "177:17:1"
														},
														"nativeSrc": "177:24:1",
														"nodeType": "YulFunctionCall",
														"src": "177:24:1"
													}
												],
												"functionName": {
													"name": "mstore",
													"nativeSrc": "165:6:1",
													"nodeType": "YulIdentifier",
													"src": "165:6:1"
												},
												"nativeSrc": "165:37:1",
												"nodeType": "YulFunctionCall",
												"src": "165:37:1"
											},
											"nativeSrc": "165:37:1",
											"nodeType": "YulExpressionStatement",
											"src": "165:37:1"
										}
									]
								},
								"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
								"nativeSrc": "90:118:1",
								"nodeType": "YulFunctionDefinition",
								"parameters": [
									{
										"name": "value",
										"nativeSrc": "143:5:1",
										"nodeType": "YulTypedName",
										"src": "143:5:1",
										"type": ""
									},
									{
										"name": "pos",
										"nativeSrc": "150:3:1",
										"nodeType": "YulTypedName",
										"src": "150:3:1",
										"type": ""
									}
								],
								"src": "90:118:1"
							},
							{
								"body": {
									"nativeSrc": "312:124:1",
									"nodeType": "YulBlock",
									"src": "312:124:1",
									"statements": [
										{
											"nativeSrc": "322:26:1",
											"nodeType": "YulAssignment",
											"src": "322:26:1",
											"value": {
												"arguments": [
													{
														"name": "headStart",
														"nativeSrc": "334:9:1",
														"nodeType": "YulIdentifier",
														"src": "334:9:1"
													},
													{
														"kind": "number",
														"nativeSrc": "345:2:1",
														"nodeType": "YulLiteral",
														"src": "345:2:1",
														"type": "",
														"value": "32"
													}
												],
												"functionName": {
													"name": "add",
													"nativeSrc": "330:3:1",
													"nodeType": "YulIdentifier",
													"src": "330:3:1"
												},
												"nativeSrc": "330:18:1",
												"nodeType": "YulFunctionCall",
												"src": "330:18:1"
											},
											"variableNames": [
												{
													"name": "tail",
													"nativeSrc": "322:4:1",
													"nodeType": "YulIdentifier",
													"src": "322:4:1"
												}
											]
										},
										{
											"expression": {
												"arguments": [
													{
														"name": "value0",
														"nativeSrc": "402:6:1",
														"nodeType": "YulIdentifier",
														"src": "402:6:1"
													},
													{
														"arguments": [
															{
																"name": "headStart",
																"nativeSrc": "415:9:1",
																"nodeType": "YulIdentifier",
																"src": "415:9:1"
															},
															{
																"kind": "number",
																"nativeSrc": "426:1:1",
																"nodeType": "YulLiteral",
																"src": "426:1:1",
																"type": "",
																"value": "0"
															}
														],
														"functionName": {
															"name": "add",
															"nativeSrc": "411:3:1",
															"nodeType": "YulIdentifier",
															"src": "411:3:1"
														},
														"nativeSrc": "411:17:1",
														"nodeType": "YulFunctionCall",
														"src": "411:17:1"
													}
												],
												"functionName": {
													"name": "abi_encode_t_uint256_to_t_uint256_fromStack",
													"nativeSrc": "358:43:1",
													"nodeType": "YulIdentifier",
													"src": "358:43:1"
												},
												"nativeSrc": "358:71:1",
												"nodeType": "YulFunctionCall",
												"src": "358:71:1"
											},
											"nativeSrc": "358:71:1",
											"nodeType": "YulExpressionStatement",
											"src": "358:71:1"
										}
									]
								},
								"name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed",
								"nativeSrc": "214:222:1",
								"nodeType": "YulFunctionDefinition",
								"parameters": [
									{
										"name": "headStart",
										"nativeSrc": "284:9:1",
										"nodeType": "YulTypedName",
										"src": "284:9:1",
										"type": ""
									},
									{
										"name": "value0",
										"nativeSrc": "296:6:1",
										"nodeType": "YulTypedName",
										"src": "296:6:1",
										"type": ""
									}
								],
								"returnVariables": [
									{
										"name": "tail",
										"nativeSrc": "307:4:1",
										"nodeType": "YulTypedName",
										"src": "307:4:1",
										"type": ""
									}
								],
								"src": "214:222:1"
							},
							{
								"body": {
									"nativeSrc": "482:35:1",
									"nodeType": "YulBlock",
									"src": "482:35:1",
									"statements": [
										{
											"nativeSrc": "492:19:1",
											"nodeType": "YulAssignment",
											"src": "492:19:1",
											"value": {
												"arguments": [
													{
														"kind": "number",
														"nativeSrc": "508:2:1",
														"nodeType": "YulLiteral",
														"src": "508:2:1",
														"type": "",
														"value": "64"
													}
												],
												"functionName": {
													"name": "mload",
													"nativeSrc": "502:5:1",
													"nodeType": "YulIdentifier",
													"src": "502:5:1"
												},
												"nativeSrc": "502:9:1",
												"nodeType": "YulFunctionCall",
												"src": "502:9:1"
											},
											"variableNames": [
												{
													"name": "memPtr",
													"nativeSrc": "492:6:1",
													"nodeType": "YulIdentifier",
													"src": "492:6:1"
												}
											]
										}
									]
								},
								"name": "allocate_unbounded",
								"nativeSrc": "442:75:1",
								"nodeType": "YulFunctionDefinition",
								"returnVariables": [
									{
										"name": "memPtr",
										"nativeSrc": "475:6:1",
										"nodeType": "YulTypedName",
										"src": "475:6:1",
										"type": ""
									}
								],
								"src": "442:75:1"
							},
							{
								"body": {
									"nativeSrc": "612:28:1",
									"nodeType": "YulBlock",
									"src": "612:28:1",
									"statements": [
										{
											"expression": {
												"arguments": [
													{
														"kind": "number",
														"nativeSrc": "629:1:1",
														"nodeType": "YulLiteral",
														"src": "629:1:1",
														"type": "",
														"value": "0"
													},
													{
														"kind": "number",
														"nativeSrc": "632:1:1",
														"nodeType": "YulLiteral",
														"src": "632:1:1",
														"type": "",
														"value": "0"
													}
												],
												"functionName": {
													"name": "revert",
													"nativeSrc": "622:6:1",
													"nodeType": "YulIdentifier",
													"src": "622:6:1"
												},
												"nativeSrc": "622:12:1",
												"nodeType": "YulFunctionCall",
												"src": "622:12:1"
											},
											"nativeSrc": "622:12:1",
											"nodeType": "YulExpressionStatement",
											"src": "622:12:1"
										}
									]
								},
								"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
								"nativeSrc": "523:117:1",
								"nodeType": "YulFunctionDefinition",
								"src": "523:117:1"
							},
							{
								"body": {
									"nativeSrc": "735:28:1",
									"nodeType": "YulBlock",
									"src": "735:28:1",
									"statements": [
										{
											"expression": {
												"arguments": [
													{
														"kind": "number",
														"nativeSrc": "752:1:1",
														"nodeType": "YulLiteral",
														"src": "752:1:1",
														"type": "",
														"value": "0"
													},
													{
														"kind": "number",
														"nativeSrc": "755:1:1",
														"nodeType": "YulLiteral",
														"src": "755:1:1",
														"type": "",
														"value": "0"
													}
												],
												"functionName": {
													"name": "revert",
													"nativeSrc": "745:6:1",
													"nodeType": "YulIdentifier",
													"src": "745:6:1"
												},
												"nativeSrc": "745:12:1",
												"nodeType": "YulFunctionCall",
												"src": "745:12:1"
											},
											"nativeSrc": "745:12:1",
											"nodeType": "YulExpressionStatement",
											"src": "745:12:1"
										}
									]
								},
								"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
								"nativeSrc": "646:117:1",
								"nodeType": "YulFunctionDefinition",
								"src": "646:117:1"
							},
							{
								"body": {
									"nativeSrc": "812:79:1",
									"nodeType": "YulBlock",
									"src": "812:79:1",
									"statements": [
										{
											"body": {
												"nativeSrc": "869:16:1",
												"nodeType": "YulBlock",
												"src": "869:16:1",
												"statements": [
													{
														"expression": {
															"arguments": [
																{
																	"kind": "number",
																	"nativeSrc": "878:1:1",
																	"nodeType": "YulLiteral",
																	"src": "878:1:1",
																	"type": "",
																	"value": "0"
																},
																{
																	"kind": "number",
																	"nativeSrc": "881:1:1",
																	"nodeType": "YulLiteral",
																	"src": "881:1:1",
																	"type": "",
																	"value": "0"
																}
															],
															"functionName": {
																"name": "revert",
																"nativeSrc": "871:6:1",
																"nodeType": "YulIdentifier",
																"src": "871:6:1"
															},
															"nativeSrc": "871:12:1",
															"nodeType": "YulFunctionCall",
															"src": "871:12:1"
														},
														"nativeSrc": "871:12:1",
														"nodeType": "YulExpressionStatement",
														"src": "871:12:1"
													}
												]
											},
											"condition": {
												"arguments": [
													{
														"arguments": [
															{
																"name": "value",
																"nativeSrc": "835:5:1",
																"nodeType": "YulIdentifier",
																"src": "835:5:1"
															},
															{
																"arguments": [
																	{
																		"name": "value",
																		"nativeSrc": "860:5:1",
																		"nodeType": "YulIdentifier",
																		"src": "860:5:1"
																	}
																],
																"functionName": {
																	"name": "cleanup_t_uint256",
																	"nativeSrc": "842:17:1",
																	"nodeType": "YulIdentifier",
																	"src": "842:17:1"
																},
																"nativeSrc": "842:24:1",
																"nodeType": "YulFunctionCall",
																"src": "842:24:1"
															}
														],
														"functionName": {
															"name": "eq",
															"nativeSrc": "832:2:1",
															"nodeType": "YulIdentifier",
															"src": "832:2:1"
														},
														"nativeSrc": "832:35:1",
														"nodeType": "YulFunctionCall",
														"src": "832:35:1"
													}
												],
												"functionName": {
													"name": "iszero",
													"nativeSrc": "825:6:1",
													"nodeType": "YulIdentifier",
													"src": "825:6:1"
												},
												"nativeSrc": "825:43:1",
												"nodeType": "YulFunctionCall",
												"src": "825:43:1"
											},
											"nativeSrc": "822:63:1",
											"nodeType": "YulIf",
											"src": "822:63:1"
										}
									]
								},
								"name": "validator_revert_t_uint256",
								"nativeSrc": "769:122:1",
								"nodeType": "YulFunctionDefinition",
								"parameters": [
									{
										"name": "value",
										"nativeSrc": "805:5:1",
										"nodeType": "YulTypedName",
										"src": "805:5:1",
										"type": ""
									}
								],
								"src": "769:122:1"
							},
							{
								"body": {
									"nativeSrc": "949:87:1",
									"nodeType": "YulBlock",
									"src": "949:87:1",
									"statements": [
										{
											"nativeSrc": "959:29:1",
											"nodeType": "YulAssignment",
											"src": "959:29:1",
											"value": {
												"arguments": [
													{
														"name": "offset",
														"nativeSrc": "981:6:1",
														"nodeType": "YulIdentifier",
														"src": "981:6:1"
													}
												],
												"functionName": {
													"name": "calldataload",
													"nativeSrc": "968:12:1",
													"nodeType": "YulIdentifier",
													"src": "968:12:1"
												},
												"nativeSrc": "968:20:1",
												"nodeType": "YulFunctionCall",
												"src": "968:20:1"
											},
											"variableNames": [
												{
													"name": "value",
													"nativeSrc": "959:5:1",
													"nodeType": "YulIdentifier",
													"src": "959:5:1"
												}
											]
										},
										{
											"expression": {
												"arguments": [
													{
														"name": "value",
														"nativeSrc": "1024:5:1",
														"nodeType": "YulIdentifier",
														"src": "1024:5:1"
													}
												],
												"functionName": {
													"name": "validator_revert_t_uint256",
													"nativeSrc": "997:26:1",
													"nodeType": "YulIdentifier",
													"src": "997:26:1"
												},
												"nativeSrc": "997:33:1",
												"nodeType": "YulFunctionCall",
												"src": "997:33:1"
											},
											"nativeSrc": "997:33:1",
											"nodeType": "YulExpressionStatement",
											"src": "997:33:1"
										}
									]
								},
								"name": "abi_decode_t_uint256",
								"nativeSrc": "897:139:1",
								"nodeType": "YulFunctionDefinition",
								"parameters": [
									{
										"name": "offset",
										"nativeSrc": "927:6:1",
										"nodeType": "YulTypedName",
										"src": "927:6:1",
										"type": ""
									},
									{
										"name": "end",
										"nativeSrc": "935:3:1",
										"nodeType": "YulTypedName",
										"src": "935:3:1",
										"type": ""
									}
								],
								"returnVariables": [
									{
										"name": "value",
										"nativeSrc": "943:5:1",
										"nodeType": "YulTypedName",
										"src": "943:5:1",
										"type": ""
									}
								],
								"src": "897:139:1"
							},
							{
								"body": {
									"nativeSrc": "1108:263:1",
									"nodeType": "YulBlock",
									"src": "1108:263:1",
									"statements": [
										{
											"body": {
												"nativeSrc": "1154:83:1",
												"nodeType": "YulBlock",
												"src": "1154:83:1",
												"statements": [
													{
														"expression": {
															"arguments": [],
															"functionName": {
																"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
																"nativeSrc": "1156:77:1",
																"nodeType": "YulIdentifier",
																"src": "1156:77:1"
															},
															"nativeSrc": "1156:79:1",
															"nodeType": "YulFunctionCall",
															"src": "1156:79:1"
														},
														"nativeSrc": "1156:79:1",
														"nodeType": "YulExpressionStatement",
														"src": "1156:79:1"
													}
												]
											},
											"condition": {
												"arguments": [
													{
														"arguments": [
															{
																"name": "dataEnd",
																"nativeSrc": "1129:7:1",
																"nodeType": "YulIdentifier",
																"src": "1129:7:1"
															},
															{
																"name": "headStart",
																"nativeSrc": "1138:9:1",
																"nodeType": "YulIdentifier",
																"src": "1138:9:1"
															}
														],
														"functionName": {
															"name": "sub",
															"nativeSrc": "1125:3:1",
															"nodeType": "YulIdentifier",
															"src": "1125:3:1"
														},
														"nativeSrc": "1125:23:1",
														"nodeType": "YulFunctionCall",
														"src": "1125:23:1"
													},
													{
														"kind": "number",
														"nativeSrc": "1150:2:1",
														"nodeType": "YulLiteral",
														"src": "1150:2:1",
														"type": "",
														"value": "32"
													}
												],
												"functionName": {
													"name": "slt",
													"nativeSrc": "1121:3:1",
													"nodeType": "YulIdentifier",
													"src": "1121:3:1"
												},
												"nativeSrc": "1121:32:1",
												"nodeType": "YulFunctionCall",
												"src": "1121:32:1"
											},
											"nativeSrc": "1118:119:1",
											"nodeType": "YulIf",
											"src": "1118:119:1"
										},
										{
											"nativeSrc": "1247:117:1",
											"nodeType": "YulBlock",
											"src": "1247:117:1",
											"statements": [
												{
													"nativeSrc": "1262:15:1",
													"nodeType": "YulVariableDeclaration",
													"src": "1262:15:1",
													"value": {
														"kind": "number",
														"nativeSrc": "1276:1:1",
														"nodeType": "YulLiteral",
														"src": "1276:1:1",
														"type": "",
														"value": "0"
													},
													"variables": [
														{
															"name": "offset",
															"nativeSrc": "1266:6:1",
															"nodeType": "YulTypedName",
															"src": "1266:6:1",
															"type": ""
														}
													]
												},
												{
													"nativeSrc": "1291:63:1",
													"nodeType": "YulAssignment",
													"src": "1291:63:1",
													"value": {
														"arguments": [
															{
																"arguments": [
																	{
																		"name": "headStart",
																		"nativeSrc": "1326:9:1",
																		"nodeType": "YulIdentifier",
																		"src": "1326:9:1"
																	},
																	{
																		"name": "offset",
																		"nativeSrc": "1337:6:1",
																		"nodeType": "YulIdentifier",
																		"src": "1337:6:1"
																	}
																],
																"functionName": {
																	"name": "add",
																	"nativeSrc": "1322:3:1",
																	"nodeType": "YulIdentifier",
																	"src": "1322:3:1"
																},
																"nativeSrc": "1322:22:1",
																"nodeType": "YulFunctionCall",
																"src": "1322:22:1"
															},
															{
																"name": "dataEnd",
																"nativeSrc": "1346:7:1",
																"nodeType": "YulIdentifier",
																"src": "1346:7:1"
															}
														],
														"functionName": {
															"name": "abi_decode_t_uint256",
															"nativeSrc": "1301:20:1",
															"nodeType": "YulIdentifier",
															"src": "1301:20:1"
														},
														"nativeSrc": "1301:53:1",
														"nodeType": "YulFunctionCall",
														"src": "1301:53:1"
													},
													"variableNames": [
														{
															"name": "value0",
															"nativeSrc": "1291:6:1",
															"nodeType": "YulIdentifier",
															"src": "1291:6:1"
														}
													]
												}
											]
										}
									]
								},
								"name": "abi_decode_tuple_t_uint256",
								"nativeSrc": "1042:329:1",
								"nodeType": "YulFunctionDefinition",
								"parameters": [
									{
										"name": "headStart",
										"nativeSrc": "1078:9:1",
										"nodeType": "YulTypedName",
										"src": "1078:9:1",
										"type": ""
									},
									{
										"name": "dataEnd",
										"nativeSrc": "1089:7:1",
										"nodeType": "YulTypedName",
										"src": "1089:7:1",
										"type": ""
									}
								],
								"returnVariables": [
									{
										"name": "value0",
										"nativeSrc": "1101:6:1",
										"nodeType": "YulTypedName",
										"src": "1101:6:1",
										"type": ""
									}
								],
								"src": "1042:329:1"
							}
						]
					},
					"contents": "{\n\n    function cleanup_t_uint256(value) -> cleaned {\n        cleaned := value\n    }\n\n    function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n        mstore(pos, cleanup_t_uint256(value))\n    }\n\n    function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n        tail := add(headStart, 32)\n\n        abi_encode_t_uint256_to_t_uint256_fromStack(value0,  add(headStart, 0))\n\n    }\n\n    function allocate_unbounded() -> memPtr {\n        memPtr := mload(64)\n    }\n\n    function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n        revert(0, 0)\n    }\n\n    function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n        revert(0, 0)\n    }\n\n    function validator_revert_t_uint256(value) {\n        if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n    }\n\n    function abi_decode_t_uint256(offset, end) -> value {\n        value := calldataload(offset)\n        validator_revert_t_uint256(value)\n    }\n\n    function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n        if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n        {\n\n            let offset := 0\n\n            value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n        }\n\n    }\n\n}\n",
					"id": 1,
					"language": "Yul",
					"name": "#utility.yul"
				}
			],
			"immutableReferences": {},
			"linkReferences": {},
			"object": "608060405234801561000f575f80fd5b506004361061003f575f3560e01c806312065fe0146100435780632096525514610061578063552410771461007f575b5f80fd5b61004b61009b565b60405161005891906100cb565b60405180910390f35b6100696100a2565b60405161007691906100cb565b60405180910390f35b61009960048036038101906100949190610112565b6100aa565b005b5f47905090565b5f8054905090565b805f8190555050565b5f819050919050565b6100c5816100b3565b82525050565b5f6020820190506100de5f8301846100bc565b92915050565b5f80fd5b6100f1816100b3565b81146100fb575f80fd5b50565b5f8135905061010c816100e8565b92915050565b5f60208284031215610127576101266100e4565b5b5f610134848285016100fe565b9150509291505056fea26469706673582212207c56466e662d3174fb258cf5ca413dd1a29f1245baded7c56e55df5239f6cdc364736f6c634300081a0033",
			"opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0xF JUMPI PUSH0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0x3F JUMPI PUSH0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x12065FE0 EQ PUSH2 0x43 JUMPI DUP1 PUSH4 0x20965255 EQ PUSH2 0x61 JUMPI DUP1 PUSH4 0x55241077 EQ PUSH2 0x7F JUMPI JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0x4B PUSH2 0x9B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x58 SWAP2 SWAP1 PUSH2 0xCB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x69 PUSH2 0xA2 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x76 SWAP2 SWAP1 PUSH2 0xCB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x99 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x94 SWAP2 SWAP1 PUSH2 0x112 JUMP JUMPDEST PUSH2 0xAA JUMP JUMPDEST STOP JUMPDEST PUSH0 SELFBALANCE SWAP1 POP SWAP1 JUMP JUMPDEST PUSH0 DUP1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST DUP1 PUSH0 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xC5 DUP2 PUSH2 0xB3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDE PUSH0 DUP4 ADD DUP5 PUSH2 0xBC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 DUP1 REVERT JUMPDEST PUSH2 0xF1 DUP2 PUSH2 0xB3 JUMP JUMPDEST DUP2 EQ PUSH2 0xFB JUMPI PUSH0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x10C DUP2 PUSH2 0xE8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x127 JUMPI PUSH2 0x126 PUSH2 0xE4 JUMP JUMPDEST JUMPDEST PUSH0 PUSH2 0x134 DUP5 DUP3 DUP6 ADD PUSH2 0xFE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH29 0x56466E662D3174FB258CF5CA413DD1A29F1245BADED7C56E55DF5239F6 0xCD 0xC3 PUSH5 0x736F6C6343 STOP ADDMOD BYTE STOP CALLER ",
			"sourceMap": "60:340:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;298:99;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;209:81;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;127:74;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;298:99;341:7;368:21;361:28;;298:99;:::o;209:81::-;250:7;277:5;;270:12;;209:81;:::o;127:74::-;187:6;179:5;:14;;;;127:74;:::o;7:77:1:-;44:7;73:5;62:16;;7:77;;;:::o;90:118::-;177:24;195:5;177:24;:::i;:::-;172:3;165:37;90:118;;:::o;214:222::-;307:4;345:2;334:9;330:18;322:26;;358:71;426:1;415:9;411:17;402:6;358:71;:::i;:::-;214:222;;;;:::o;523:117::-;632:1;629;622:12;769:122;842:24;860:5;842:24;:::i;:::-;835:5;832:35;822:63;;881:1;878;871:12;822:63;769:122;:::o;897:139::-;943:5;981:6;968:20;959:29;;997:33;1024:5;997:33;:::i;:::-;897:139;;;;:::o;1042:329::-;1101:6;1150:2;1138:9;1129:7;1125:23;1121:32;1118:119;;;1156:79;;:::i;:::-;1118:119;1276:1;1301:53;1346:7;1337:6;1326:9;1322:22;1301:53;:::i;:::-;1291:63;;1247:117;1042:329;;;;:::o"
		},
		"gasEstimates": {
			"creation": {
				"codeDepositCost": "74200",
				"executionCost": "121",
				"totalCost": "74321"
			},
			"external": {
				"getBalance()": "312",
				"getValue()": "2432",
				"setValue(uint256)": "22536"
			}
		},
		"methodIdentifiers": {
			"getBalance()": "12065fe0",
			"getValue()": "20965255",
			"setValue(uint256)": "55241077"
		}
	},
	"abi": [
		{
			"inputs": [],
			"name": "getBalance",
			"outputs": [
				{
					"internalType": "uint256",
					"name": "",
					"type": "uint256"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [],
			"name": "getValue",
			"outputs": [
				{
					"internalType": "uint256",
					"name": "",
					"type": "uint256"
				}
			],
			"stateMutability": "view",
			"type": "function"
		},
		{
			"inputs": [
				{
					"internalType": "uint256",
					"name": "_value",
					"type": "uint256"
				}
			],
			"name": "setValue",
			"outputs": [],
			"stateMutability": "nonpayable",
			"type": "function"
		}
	]
}