-
Notifications
You must be signed in to change notification settings - Fork 0
/
ArbitrumRootGaugeFactory.json
271 lines (271 loc) · 29.2 KB
/
ArbitrumRootGaugeFactory.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
{
"_format": "hh-sol-artifact-1",
"contractName": "ArbitrumRootGaugeFactory",
"sourceName": "contracts/gauges/arbitrum/ArbitrumRootGaugeFactory.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IVault",
"name": "vault",
"type": "address"
},
{
"internalType": "contract IBalancerMinter",
"name": "minter",
"type": "address"
},
{
"internalType": "contract IGatewayRouter",
"name": "gatewayRouter",
"type": "address"
},
{
"internalType": "uint64",
"name": "gasLimit",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "gasPrice",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "maxSubmissionCost",
"type": "uint64"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "uint256",
"name": "gasLimit",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "gasPrice",
"type": "uint256"
},
{
"indexed": false,
"internalType": "uint256",
"name": "maxSubmissionCost",
"type": "uint256"
}
],
"name": "ArbitrumFeesModified",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "gauge",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "ArbitrumRootGaugeCreated",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "create",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "selector",
"type": "bytes4"
}
],
"name": "getActionId",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getArbitrumFees",
"outputs": [
{
"internalType": "uint256",
"name": "gasLimit",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "gasPrice",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "maxSubmissionCost",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizer",
"outputs": [
{
"internalType": "contract IAuthorizer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGaugeImplementation",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "gauge",
"type": "address"
}
],
"name": "getGaugeRecipient",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "recipient",
"type": "address"
}
],
"name": "getRecipientGauge",
"outputs": [
{
"internalType": "contract ILiquidityGauge",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getVault",
"outputs": [
{
"internalType": "contract IVault",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "gauge",
"type": "address"
}
],
"name": "isGaugeFromFactory",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint64",
"name": "gasLimit",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "gasPrice",
"type": "uint64"
},
{
"internalType": "uint64",
"name": "maxSubmissionCost",
"type": "uint64"
}
],
"name": "setArbitrumFees",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x60c06040523480156200001157600080fd5b506040516200240138038062002401833981016040819052620000349162000136565b306080526001600160601b0319606087901b1660a052604051859085906200005c906200010a565b62000069929190620001c1565b604051809103906000f08015801562000086573d6000803e3d6000fd5b50600080546001600160a01b0319166001600160a01b0392909216919091179055600380546001600160401b0319166001600160401b0394851617600160401b600160801b031916680100000000000000009385169390930292909217600160801b600160c01b031916600160801b919093160291909117905550620001f4915050565b6116cc8062000d3583390190565b80516001600160401b03811681146200013057600080fd5b92915050565b60008060008060008060c087890312156200014f578182fd5b86516200015c81620001db565b60208801519096506200016f81620001db565b60408801519095506200018281620001db565b935062000193886060890162000118565b9250620001a4886080890162000118565b9150620001b58860a0890162000118565b90509295509295509295565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0381168114620001f157600080fd5b50565b60805160a05160601c610b1a6200021b600039806102345250806101e45250610b1a6000f3fe608060405234801561001057600080fd5b50600436106100be5760003560e01c8063aaabadc511610076578063ce3cc8bd1161005b578063ce3cc8bd1461014e578063e9bde6041461016e578063fa72ce9514610183576100be565b8063aaabadc51461012f578063ac8288c014610137576100be565b8063851c1bb3116100a7578063851c1bb3146100f45780638d928af8146101145780639ed933181461011c576100be565b806339312dee146100c35780637d5d0d10146100e1575b600080fd5b6100cb610196565b6040516100d891906109b9565b60405180910390f35b6100cb6100ef3660046108ac565b6101b2565b610107610102366004610904565b6101e0565b6040516100d891906109e5565b6100cb610232565b6100cb61012a3660046108ac565b610256565b6100cb61041e565b61013f6104aa565b6040516100d893929190610a88565b61016161015c3660046108ac565b6104e3565b6040516100d891906109da565b61018161017c366004610944565b61050e565b005b6100cb6101913660046108ac565b6105fc565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260026020526040902054165b919050565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610215929190610989565b604051602081830303815290604052805190602001209050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260026020526040812054909116156102c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b790610a1a565b60405180910390fd5b600080546102e39073ffffffffffffffffffffffffffffffffffffffff16610682565b6040517fc4d66de800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063c4d66de8906103389086906004016109b9565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff818116600081815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909317909255938716808352600290945280822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f7b5a78afeb182d33f2d682540e1db4413ee8d4f1203a92c9edf1f525057a91229190a392915050565b6000610428610232565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a591906108c8565b905090565b60035467ffffffffffffffff80821692680100000000000000008304821692700100000000000000000000000000000000900490911690565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b61051661072f565b600380547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff858116919091177fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000085831602177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16700100000000000000000000000000000000918416919091021790556040517f3db8f737ebeecf95c5dc9b279051cab0e7b70a8e3d63148b38faafcf7d42314e906105ef90859085908590610a9e565b60405180910390a1505050565b60008173ffffffffffffffffffffffffffffffffffffffff16631b88094d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067c91906108c8565b92915050565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f091505073ffffffffffffffffffffffffffffffffffffffff81166101db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b790610a51565b600061075e6000357fffffffff00000000000000000000000000000000000000000000000000000000166101e0565b905061077561076d8233610778565b610191610815565b50565b600061078261041e565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b81526004016107be939291906109ee565b60206040518083038186803b1580156107d657600080fd5b505afa1580156107ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080e91906108e4565b9392505050565b816108235761082381610827565b5050565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b803567ffffffffffffffff8116811461067c57600080fd5b6000602082840312156108bd578081fd5b813561080e81610ac2565b6000602082840312156108d9578081fd5b815161080e81610ac2565b6000602082840312156108f5578081fd5b8151801515811461080e578182fd5b600060208284031215610915578081fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461080e578182fd5b600080600060608486031215610958578182fd5b6109628585610894565b92506109718560208601610894565b91506109808560408601610894565b90509250925092565b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b60208082526014908201527f476175676520616c726561647920657869737473000000000000000000000000604082015260600190565b60208082526016908201527f455243313136373a20637265617465206661696c656400000000000000000000604082015260600190565b9283526020830191909152604082015260600190565b67ffffffffffffffff93841681529183166020830152909116604082015260600190565b73ffffffffffffffffffffffffffffffffffffffff8116811461077557600080fdfea2646970667358221220faf614b7f957ceb80b93b1668c4f3862ff44188b2eb8ee5e5a05f2d2c182be3664736f6c634300070100336101e06040523480156200001257600080fd5b50604051620016cc380380620016cc833981810160405260408110156200003857600080fd5b508051602091820151600160009081556040805163e6dec36f60e01b815290519394929385936001600160a01b0385169263e6dec36f9260048083019392829003018186803b1580156200008b57600080fd5b505afa158015620000a0573d6000803e3d6000fd5b505050506040513d6020811015620000b757600080fd5b50516040805163c003969960e01b815290519192506000916001600160a01b0384169163c0039699916004808301926020929190829003018186803b1580156200010057600080fd5b505afa15801562000115573d6000803e3d6000fd5b505050506040513d60208110156200012c57600080fd5b505160408051632c6f4d6f60e11b815290519192506000916001600160a01b038616916358de9ade916004808301926020929190829003018186803b1580156200017557600080fd5b505afa1580156200018a573d6000803e3d6000fd5b505050506040513d6020811015620001a157600080fd5b50516001600160601b0319606084811b821660805285811b821660a05286811b821660c05282901b1660e052604080516303e1469160e61b815290519192506001600160a01b0383169163f851a44091600480820192602092909190829003018186803b1580156200021257600080fd5b505afa15801562000227573d6000803e3d6000fd5b505050506040513d60208110156200023e57600080fd5b505160601b6001600160601b0319166101005260408051635c3dab0b60e11b815290516001600160a01b0385169163b87b5616916004808301926020929190829003018186803b1580156200029257600080fd5b505afa158015620002a7573d6000803e3d6000fd5b505050506040513d6020811015620002be57600080fd5b505161012052604080516321609bbf60e01b815290516001600160a01b038516916321609bbf916004808301926020929190829003018186803b1580156200030557600080fd5b505afa1580156200031a573d6000803e3d6000fd5b505050506040513d60208110156200033157600080fd5b505161014052604080516303f7d6c760e51b815290516001600160a01b03851691637efad8e0916004808301926020929190829003018186803b1580156200037857600080fd5b505afa1580156200038d573d6000803e3d6000fd5b505050506040513d6020811015620003a457600080fd5b505161016052505060001960025550506040805163c003969960e01b815290516001600160a01b038084169263bda009fe929186169163c003969991600480820192602092909190829003018186803b1580156200040157600080fd5b505afa15801562000416573d6000803e3d6000fd5b505050506040513d60208110156200042d57600080fd5b5051604080516001600160e01b031960e085901b1681526001600160a01b039092166004830152516024808301926020929190829003018186803b1580156200047557600080fd5b505afa1580156200048a573d6000803e3d6000fd5b505050506040513d6020811015620004a157600080fd5b50516001600160601b0319606091821b81166101805291811b9091166101a05233901b6101c0525060805160601c60a05160601c60c05160601c60e05160601c6101005160601c6101205161014051610160516101805160601c6101a05160601c6101c05160601c61114c62000580600039806103b55280610ba2525080610ca8525080610abc52508061074052508061071f5250806105e9528061078c5250806102f4528061048e528061097e525080610577528061067b525080610882525080610ede5280610fdb525080610a805280610ce5525061114c6000f3fe6080604052600436106100965760003560e01c8063ab8f094511610069578063c2c4c5c11161004e578063c2c4c5c1146101c0578063c4d66de8146101c8578063d34fb2671461020857610096565b8063ab8f094514610194578063b0245225146101ab57610096565b8063094007071461009b5780631b88094d146100ed5780634b8200931461012b5780639c868ac01461017f575b600080fd5b3480156100a757600080fd5b506100db600480360360208110156100be57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661021d565b60408051918252519081900360200190f35b3480156100f957600080fd5b506101026102ab565b6040805173ffffffffffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561013757600080fd5b5061016b6004803603602081101561014e57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166102cd565b604080519115158252519081900360200190f35b34801561018b57600080fd5b5061016b6102d3565b3480156101a057600080fd5b506101a96102dc565b005b3480156101b757600080fd5b506100db6103ad565b61016b61046c565b3480156101d457600080fd5b506101a9600480360360208110156101eb57600080fd5b503573ffffffffffffffffffffffffffffffffffffffff16610912565b34801561021457600080fd5b506101a9610966565b600073ffffffffffffffffffffffffffffffffffffffff821630146102a357604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f47617567652063616e206f6e6c79206d696e7420666f7220697473656c660000604482015290519081900360640190fd5b505060045490565b600554610100900473ffffffffffffffffffffffffffffffffffffffff165b90565b50600190565b60055460ff1690565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461038057604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f53454e4445525f4e4f545f414c4c4f5745440000000000000000000000000000604482015290519081900360640190fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055565b6000806000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ac8288c06040518163ffffffff1660e01b815260040160606040518083038186803b15801561041957600080fd5b505afa15801561042d573d6000803e3d6000fd5b505050506040513d606081101561044357600080fd5b50805160208201516040909201519094509092509050610464838383610a34565b935050505090565b6000610476610a3a565b3373ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161461051a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f53454e4445525f4e4f545f414c4c4f5745440000000000000000000000000000604482015290519081900360640190fd5b6002546000610527610a53565b90508082101561090457604080517f615e5237000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163615e523791602480830192600092919082900301818387803b1580156105be57600080fd5b505af11580156105d2573d6000803e3d6000fd5b5050600180546003549590910194909250600091507f000000000000000000000000000000000000000000000000000000000000000001845b8560ff01811015610817578481111561062357610817565b604080517fd3078c9400000000000000000000000000000000000000000000000000000000815230600482015262093a808302602482018190529151600091829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163d3078c9491604480830192602092919082900301818787803b1580156106c257600080fd5b505af11580156106d6573d6000803e3d6000fd5b505050506040513d60208110156106ec57600080fd5b5051905082851080159061070457508262093a800185105b156107bd57828503670de0b6b3a764000082890282020492507f00000000000000000000000000000000000000000000000000000000000000007f000000000000000000000000000000000000000000000000000000000000000089028161076857fe5b04975062093a80819003670de0b6b3a7640000838a02820260018b905560038990557f000000000000000000000000000000000000000000000000000000000000000090980197049390930192506107d29050565b670de0b6b3a764000062093a80828902020491505b60408051838152905184917f21d81d5d656869e8ce3ba8d65526a2f0dbbcd3d36f5f9999eb7c84360e45eced919081900360200190a25093909301925060010161060b565b50600284905560048054830190558115801590610837575060055460ff16155b1561090057604080517f6a627842000000000000000000000000000000000000000000000000000000008152306004820152905173ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001691636a6278429160248083019260209291908290030181600087803b1580156108ca57600080fd5b505af11580156108de573d6000803e3d6000fd5b505050506040513d60208110156108f457600080fd5b50610900905082610a7e565b5050505b6001925050506102ca610e64565b61091a610e6b565b6005805473ffffffffffffffffffffffffffffffffffffffff909216610100027fffffffffffffffffffffff0000000000000000000000000000000000000000ff909216919091179055565b3373ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614610a0a57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f53454e4445525f4e4f545f414c4c4f5745440000000000000000000000000000604482015290519081900360640190fd5b600580547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b91020190565b610a4c60026000541415610190611073565b6002600055565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff62093a8042040190565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663095ea7b37f0000000000000000000000000000000000000000000000000000000000000000836040518363ffffffff1660e01b8152600401808373ffffffffffffffffffffffffffffffffffffffff16815260200182815260200192505050602060405180830381600087803b158015610b2f57600080fd5b505af1158015610b43573d6000803e3d6000fd5b505050506040513d6020811015610b5957600080fd5b5050604080517fac8288c000000000000000000000000000000000000000000000000000000000815290516000918291829173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169163ac8288c091600480820192606092909190829003018186803b158015610be957600080fd5b505afa158015610bfd573d6000803e3d6000fd5b505050506040513d6060811015610c1357600080fd5b508051602082015160409092015190945090925090506000610c36848484610a34565b9050803414610ca657604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e636f7272656374206d73672e76616c756520706173736564000000000000604482015290519081900360640190fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d2ce7d65827f0000000000000000000000000000000000000000000000000000000000000000600560019054906101000a900473ffffffffffffffffffffffffffffffffffffffff16898989896040516020018082815260200180602001828103825260008152602001602001925050506040516020818303038152906040526040518863ffffffff1660e01b8152600401808773ffffffffffffffffffffffffffffffffffffffff1681526020018673ffffffffffffffffffffffffffffffffffffffff16815260200185815260200184815260200183815260200180602001828103825283818151815260200191508051906020019080838360005b83811015610df4578181015183820152602001610ddc565b50505050905090810190601f168015610e215780820380516001836020036101000a031916815260200191505b509750505050505050506000604051808303818588803b158015610e4457600080fd5b505af1158015610e58573d6000803e3d6000fd5b50505050505050505050565b6001600055565b60025415610eda57604080517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f416c726561647920696e697469616c697a656400000000000000000000000000604482015290519081900360640190fd5b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632c4e722e6040518163ffffffff1660e01b815260040160206040518083038186803b158015610f4257600080fd5b505afa158015610f56573d6000803e3d6000fd5b505050506040513d6020811015610f6c57600080fd5b5051905080610fc6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260248152602001806110f36024913960400191505060405180910390fd5b6001819055610fd3610a53565b6002819055507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663a228bced6040518163ffffffff1660e01b8152600401602060405180830381600087803b15801561104157600080fd5b505af1158015611055573d6000803e3d6000fd5b505050506040513d602081101561106b57600080fd5b505160035550565b816110815761108181611085565b5050565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fdfe42616c616e636572546f6b656e41646d696e206e6f742079657420616374697661746564a2646970667358221220350f0fd516da006e394fab28c3a603ad7aff745d47c15ed73ec71d23354b9fc564736f6c63430007010033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100be5760003560e01c8063aaabadc511610076578063ce3cc8bd1161005b578063ce3cc8bd1461014e578063e9bde6041461016e578063fa72ce9514610183576100be565b8063aaabadc51461012f578063ac8288c014610137576100be565b8063851c1bb3116100a7578063851c1bb3146100f45780638d928af8146101145780639ed933181461011c576100be565b806339312dee146100c35780637d5d0d10146100e1575b600080fd5b6100cb610196565b6040516100d891906109b9565b60405180910390f35b6100cb6100ef3660046108ac565b6101b2565b610107610102366004610904565b6101e0565b6040516100d891906109e5565b6100cb610232565b6100cb61012a3660046108ac565b610256565b6100cb61041e565b61013f6104aa565b6040516100d893929190610a88565b61016161015c3660046108ac565b6104e3565b6040516100d891906109da565b61018161017c366004610944565b61050e565b005b6100cb6101913660046108ac565b6105fc565b60005473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff808216600090815260026020526040902054165b919050565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610215929190610989565b604051602081830303815290604052805190602001209050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b73ffffffffffffffffffffffffffffffffffffffff818116600090815260026020526040812054909116156102c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b790610a1a565b60405180910390fd5b600080546102e39073ffffffffffffffffffffffffffffffffffffffff16610682565b6040517fc4d66de800000000000000000000000000000000000000000000000000000000815290915073ffffffffffffffffffffffffffffffffffffffff82169063c4d66de8906103389086906004016109b9565b600060405180830381600087803b15801561035257600080fd5b505af1158015610366573d6000803e3d6000fd5b5050505073ffffffffffffffffffffffffffffffffffffffff818116600081815260016020818152604080842080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016909317909255938716808352600290945280822080547fffffffffffffffffffffffff00000000000000000000000000000000000000001684179055517f7b5a78afeb182d33f2d682540e1db4413ee8d4f1203a92c9edf1f525057a91229190a392915050565b6000610428610232565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561046d57600080fd5b505afa158015610481573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104a591906108c8565b905090565b60035467ffffffffffffffff80821692680100000000000000008304821692700100000000000000000000000000000000900490911690565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205460ff1690565b61051661072f565b600380547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff858116919091177fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000085831602177fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff16700100000000000000000000000000000000918416919091021790556040517f3db8f737ebeecf95c5dc9b279051cab0e7b70a8e3d63148b38faafcf7d42314e906105ef90859085908590610a9e565b60405180910390a1505050565b60008173ffffffffffffffffffffffffffffffffffffffff16631b88094d6040518163ffffffff1660e01b815260040160206040518083038186803b15801561064457600080fd5b505afa158015610658573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061067c91906108c8565b92915050565b60006040517f3d602d80600a3d3981f3363d3d373d3d3d363d7300000000000000000000000081528260601b60148201527f5af43d82803e903d91602b57fd5bf3000000000000000000000000000000000060288201526037816000f091505073ffffffffffffffffffffffffffffffffffffffff81166101db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016102b790610a51565b600061075e6000357fffffffff00000000000000000000000000000000000000000000000000000000166101e0565b905061077561076d8233610778565b610191610815565b50565b600061078261041e565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b81526004016107be939291906109ee565b60206040518083038186803b1580156107d657600080fd5b505afa1580156107ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061080e91906108e4565b9392505050565b816108235761082381610827565b5050565b7f08c379a0000000000000000000000000000000000000000000000000000000006000908152602060045260076024526642414c23000030600a808404818106603090810160081b95839006959095019082900491820690940160101b939093010160c81b604452606490fd5b803567ffffffffffffffff8116811461067c57600080fd5b6000602082840312156108bd578081fd5b813561080e81610ac2565b6000602082840312156108d9578081fd5b815161080e81610ac2565b6000602082840312156108f5578081fd5b8151801515811461080e578182fd5b600060208284031215610915578081fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461080e578182fd5b600080600060608486031215610958578182fd5b6109628585610894565b92506109718560208601610894565b91506109808560408601610894565b90509250925092565b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b901515815260200190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b60208082526014908201527f476175676520616c726561647920657869737473000000000000000000000000604082015260600190565b60208082526016908201527f455243313136373a20637265617465206661696c656400000000000000000000604082015260600190565b9283526020830191909152604082015260600190565b67ffffffffffffffff93841681529183166020830152909116604082015260600190565b73ffffffffffffffffffffffffffffffffffffffff8116811461077557600080fdfea2646970667358221220faf614b7f957ceb80b93b1668c4f3862ff44188b2eb8ee5e5a05f2d2c182be3664736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}