forked from balancer/balancer-deployments
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGaugeAdder.json
298 lines (298 loc) · 30.7 KB
/
GaugeAdder.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
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
{
"_format": "hh-sol-artifact-1",
"contractName": "GaugeAdder",
"sourceName": "contracts/admin/GaugeAdder.sol",
"abi": [
{
"inputs": [
{
"internalType": "contract IGaugeController",
"name": "gaugeController",
"type": "address"
},
{
"internalType": "contract IAuthorizerAdaptorEntrypoint",
"name": "authorizerAdaptorEntrypoint",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "string",
"name": "indexedGaugeType",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "gaugeType",
"type": "string"
},
{
"indexed": false,
"internalType": "contract ILiquidityGaugeFactory",
"name": "gaugeFactory",
"type": "address"
}
],
"name": "GaugeFactorySet",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "string",
"name": "indexedGaugeType",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "GaugeTypeAdded",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "gauge",
"type": "address"
},
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "addGauge",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "addGaugeType",
"outputs": [],
"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": "getAuthorizer",
"outputs": [
{
"internalType": "contract IAuthorizer",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getAuthorizerAdaptorEntrypoint",
"outputs": [
{
"internalType": "contract IAuthorizerAdaptorEntrypoint",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "getFactoryForGaugeType",
"outputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGaugeController",
"outputs": [
{
"internalType": "contract IGaugeController",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "index",
"type": "uint256"
}
],
"name": "getGaugeTypeAtIndex",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGaugeTypes",
"outputs": [
{
"internalType": "string[]",
"name": "",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getGaugeTypesCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"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"
},
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "isGaugeFromValidFactory",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "isValidGaugeType",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "contract ILiquidityGaugeFactory",
"name": "factory",
"type": "address"
},
{
"internalType": "string",
"name": "gaugeType",
"type": "string"
}
],
"name": "setGaugeFactory",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x610120604052620000126101406200027f565b60408051601f19818403018152919052805160209091012060c0523480156200003a57600080fd5b50604051620019ec380380620019ec8339810160408190526200005d9162000241565b816001600160a01b031663f851a4406040518163ffffffff1660e01b815260040160206040518083038186803b1580156200009757600080fd5b505afa158015620000ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000d291906200021b565b6001600160a01b0316638d928af86040518163ffffffff1660e01b815260040160206040518083038186803b1580156200010b57600080fd5b505afa15801562000120573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014691906200021b565b30608052606090811b6001600160601b031990811660a052600160008190559184901b1660e05280546001600160a01b0319166001600160a01b038381169190911790915560408051637e062a3560e11b815290519184169163fc0c546a91600480820192602092909190829003018186803b158015620001c657600080fd5b505afa158015620001db573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020191906200021b565b60601b6001600160601b0319166101005250620002ac9050565b6000602082840312156200022d578081fd5b81516200023a8162000293565b9392505050565b6000806040838503121562000254578081fd5b8251620002618162000293565b6020840151909250620002748162000293565b809150509250929050565b67457468657265756d60c01b815260080190565b6001600160a01b0381168114620002a957600080fd5b50565b60805160a05160601c60c05160e05160601c6101005160601c6116f2620002fa600039806107b25250806106765280610bff5250806106e25250806108b752508061086752506116f26000f3fe608060405234801561001057600080fd5b50600436106100ea5760003560e01c80637afcf0e61161008c57806396432aeb1161006657806396432aeb146101cb578063a0ade33e146101d3578063aaabadc5146101e6578063afcb1a86146101ee576100ea565b80637afcf0e61461019b578063851c1bb3146101a35780638d928af8146101c3576100ea565b8063231856fa116100c8578063231856fa1461014d578063572cb6a51461016057806358de9ade146101805780635bf7143414610188576100ea565b8063066edd7a146100ef57806308ceb0301461010457806316e772bc1461012d575b600080fd5b6101026100fd366004611063565b610203565b005b6101176101123660046111d3565b610404565b6040516101249190611446565b60405180910390f35b61014061013b3660046111a0565b6104cc565b6040516101249190611406565b61010261015b3660046111a0565b6104dd565b61017361016e3660046111a0565b6105f4565b604051610124919061130f565b610173610674565b610102610196366004611063565b610698565b610173610847565b6101b66101b13660046110d1565b610863565b6040516101249190611411565b6101736108b5565b6101b66108d9565b6101406101e1366004611063565b6108df565b610173610933565b6101f66109bf565b6040516101249190611388565b61020b610ab5565b8061021581610afe565b610254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114ff565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316158061031757506040517fce3cc8bd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063ce3cc8bd906102c59060009060040161130f565b60206040518083038186803b1580156102dd57600080fd5b505afa1580156102f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031591906110b1565b155b61034d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906115ca565b8260038360405161035e9190611265565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff939093167fffffffffffffffffffffffff0000000000000000000000000000000000000000909316929092179091556103be908390611265565b60405180910390207f46b04b7db9f5602bff429ad4ca486bf7ce9ef39d52716794e092c44d68db286783856040516103f7929190611459565b60405180910390a2505050565b60606002828154811061041357fe5b600091825260209182902001805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001871615020190941693909304928301859004850281018501909152818152928301828280156104bf5780601f10610494576101008083540402835291602001916104bf565b820191906000526020600020905b8154815290600101906020018083116104a257829003601f168201915b505050505090505b919050565b60006104d782610afe565b92915050565b6104e5610ab5565b6000815111610520576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b90611593565b61052981610afe565b15610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114c8565b6002805460018101825560009190915281516105a3917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01906020840190610f7d565b50806040516105b29190611265565b60405180910390207fb6691d9563ae43400fbc0d74ed71ab5fa74200ebcf1c8a2b5c9a0a67fd649be0826040516105e99190611446565b60405180910390a250565b60008161060081610afe565b610636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114ff565b6003836040516106469190611265565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16915050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6106a0610ab5565b806106aa81610afe565b6106e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114ff565b7f0000000000000000000000000000000000000000000000000000000000000000826040516020016107129190611265565b6040516020818303038152906040528051906020012014156108385760008373ffffffffffffffffffffffffffffffffffffffff166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561077657600080fd5b505afa15801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae9190611184565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b90611536565b505b6108428383610b98565b505050565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610898929190611235565b604051602081830303815290604052805190602001209050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60025490565b6000816108eb81610afe565b610921576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114ff565b61092b8484610d57565b949350505050565b600061093d6108b5565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561098257600080fd5b505afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190611184565b905090565b60606002805480602002602001604051908101604052809291908181526020016000905b82821015610aac5760008481526020908190208301805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600187161502019094169390930492830185900485028101850190915281815292830182828015610a985780601f10610a6d57610100808354040283529160200191610a98565b820191906000526020600020905b815481529060010190602001808311610a7b57829003601f168201915b5050505050815260200190600101906109e3565b50505050905090565b6000610ae46000357fffffffff0000000000000000000000000000000000000000000000000000000016610863565b9050610afb610af38233610e3f565b610191610edc565b50565b60008082604051602001610b129190611265565b60405160208183030381529060405280519060200120905060005b600254811015610b8e5760028181548110610b4457fe5b90600052602060002001604051602001610b5e9190611281565b60405160208183030381529060405280519060200120821415610b86576001925050506104c7565b600101610b2d565b5060009392505050565b610ba28282610d57565b610bd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b90611491565b60015460405173ffffffffffffffffffffffffffffffffffffffff90911690634036176a907f0000000000000000000000000000000000000000000000000000000000000000907f3a04f9000000000000000000000000000000000000000000000000000000000090610c5290879060029060240161135f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252610ce39291600401611330565b600060405180830381600087803b158015610cfd57600080fd5b505af1158015610d11573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108429190810190611111565b600080600383604051610d6a9190611265565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1690508015610b8e576040517fce3cc8bd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063ce3cc8bd90610dea90879060040161130f565b60206040518083038186803b158015610e0257600080fd5b505afa158015610e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3a91906110b1565b61092b565b6000610e49610933565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b8152600401610e859392919061141a565b60206040518083038186803b158015610e9d57600080fd5b505afa158015610eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed591906110b1565b9392505050565b81610eea57610eea81610eee565b5050565b7f08c379a000000000000000000000000000000000000000000000000000000000600090815260206004526007602452600a808304818106603090810160081b83860601918390049283060160101b016642414c230000300160c81b604452610afb917f42414c0000000000000000000000000000000000000000000000000000000000906242414c90606490fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fbe57805160ff1916838001178555610feb565b82800160010185558215610feb579182015b82811115610feb578251825591602001919060010190610fd0565b50610ff7929150610ffb565b5090565b5b80821115610ff75760008155600101610ffc565b600082601f830112611020578081fd5b813561103361102e82611628565b611601565b915080825283602082850101111561104a57600080fd5b8060208401602084013760009082016020015292915050565b60008060408385031215611075578182fd5b82356110808161169a565b9150602083013567ffffffffffffffff81111561109b578182fd5b6110a785828601611010565b9150509250929050565b6000602082840312156110c2578081fd5b81518015158114610ed5578182fd5b6000602082840312156110e2578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ed5578182fd5b600060208284031215611122578081fd5b815167ffffffffffffffff811115611138578182fd5b8201601f81018413611148578182fd5b805161115661102e82611628565b81815285602083850101111561116a578384fd5b61117b82602083016020860161166a565b95945050505050565b600060208284031215611195578081fd5b8151610ed58161169a565b6000602082840312156111b1578081fd5b813567ffffffffffffffff8111156111c7578182fd5b61092b84828501611010565b6000602082840312156111e4578081fd5b5035919050565b6000815180845261120381602086016020860161166a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6000825161127781846020870161166a565b9190910192915050565b60008083546001808216600081146112a057600181146112d557611304565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652607f600284041686019350611304565b600283048786526020808720875b838110156112fc5781548a8201529085019082016112e3565b505050860193505b509195945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff841682526040602083015261092b60408301846111eb565b73ffffffffffffffffffffffffffffffffffffffff929092168252600f0b602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156113f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526113e78583516111eb565b945092850192908501906001016113ad565b5092979650505050505050565b901515815260200190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b600060208252610ed560208301846111eb565b60006040825261146c60408301856111eb565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b6020808252600d908201527f496e76616c696420676175676500000000000000000000000000000000000000604082015260600190565b60208082526018908201527f4761756765207479706520616c72656164792061646465640000000000000000604082015260600190565b60208082526012908201527f496e76616c696420676175676520747970650000000000000000000000000000604082015260600190565b60208082526027908201527f43616e6e6f742061646420676175676520666f722038302f32302042414c2d5760408201527f4554482042505400000000000000000000000000000000000000000000000000606082015260800190565b6020808252601a908201527f476175676520747970652063616e6e6f7420626520656d707479000000000000604082015260600190565b6020808252601e908201527f496e76616c696420666163746f727920696d706c656d656e746174696f6e0000604082015260600190565b60405181810167ffffffffffffffff8111828210171561162057600080fd5b604052919050565b600067ffffffffffffffff82111561163e578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b8381101561168557818101518382015260200161166d565b83811115611694576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610afb57600080fdfea26469706673582212204d7b5fd8a90724ea6a6fe8cd0afaa1efc61f73ae5da5432575b633ac3e4efbf764736f6c63430007010033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100ea5760003560e01c80637afcf0e61161008c57806396432aeb1161006657806396432aeb146101cb578063a0ade33e146101d3578063aaabadc5146101e6578063afcb1a86146101ee576100ea565b80637afcf0e61461019b578063851c1bb3146101a35780638d928af8146101c3576100ea565b8063231856fa116100c8578063231856fa1461014d578063572cb6a51461016057806358de9ade146101805780635bf7143414610188576100ea565b8063066edd7a146100ef57806308ceb0301461010457806316e772bc1461012d575b600080fd5b6101026100fd366004611063565b610203565b005b6101176101123660046111d3565b610404565b6040516101249190611446565b60405180910390f35b61014061013b3660046111a0565b6104cc565b6040516101249190611406565b61010261015b3660046111a0565b6104dd565b61017361016e3660046111a0565b6105f4565b604051610124919061130f565b610173610674565b610102610196366004611063565b610698565b610173610847565b6101b66101b13660046110d1565b610863565b6040516101249190611411565b6101736108b5565b6101b66108d9565b6101406101e1366004611063565b6108df565b610173610933565b6101f66109bf565b6040516101249190611388565b61020b610ab5565b8061021581610afe565b610254576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114ff565b60405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff8316158061031757506040517fce3cc8bd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84169063ce3cc8bd906102c59060009060040161130f565b60206040518083038186803b1580156102dd57600080fd5b505afa1580156102f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031591906110b1565b155b61034d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906115ca565b8260038360405161035e9190611265565b908152604051908190036020018120805473ffffffffffffffffffffffffffffffffffffffff939093167fffffffffffffffffffffffff0000000000000000000000000000000000000000909316929092179091556103be908390611265565b60405180910390207f46b04b7db9f5602bff429ad4ca486bf7ce9ef39d52716794e092c44d68db286783856040516103f7929190611459565b60405180910390a2505050565b60606002828154811061041357fe5b600091825260209182902001805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6101006001871615020190941693909304928301859004850281018501909152818152928301828280156104bf5780601f10610494576101008083540402835291602001916104bf565b820191906000526020600020905b8154815290600101906020018083116104a257829003601f168201915b505050505090505b919050565b60006104d782610afe565b92915050565b6104e5610ab5565b6000815111610520576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b90611593565b61052981610afe565b15610560576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114c8565b6002805460018101825560009190915281516105a3917f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace01906020840190610f7d565b50806040516105b29190611265565b60405180910390207fb6691d9563ae43400fbc0d74ed71ab5fa74200ebcf1c8a2b5c9a0a67fd649be0826040516105e99190611446565b60405180910390a250565b60008161060081610afe565b610636576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114ff565b6003836040516106469190611265565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff16915050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b6106a0610ab5565b806106aa81610afe565b6106e0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114ff565b7f0000000000000000000000000000000000000000000000000000000000000000826040516020016107129190611265565b6040516020818303038152906040528051906020012014156108385760008373ffffffffffffffffffffffffffffffffffffffff166382c630666040518163ffffffff1660e01b815260040160206040518083038186803b15801561077657600080fd5b505afa15801561078a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ae9190611184565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610836576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b90611536565b505b6108428383610b98565b505050565b60015473ffffffffffffffffffffffffffffffffffffffff1690565b60007f000000000000000000000000000000000000000000000000000000000000000082604051602001610898929190611235565b604051602081830303815290604052805190602001209050919050565b7f000000000000000000000000000000000000000000000000000000000000000090565b60025490565b6000816108eb81610afe565b610921576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b906114ff565b61092b8484610d57565b949350505050565b600061093d6108b5565b73ffffffffffffffffffffffffffffffffffffffff1663aaabadc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561098257600080fd5b505afa158015610996573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109ba9190611184565b905090565b60606002805480602002602001604051908101604052809291908181526020016000905b82821015610aac5760008481526020908190208301805460408051601f60027fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610100600187161502019094169390930492830185900485028101850190915281815292830182828015610a985780601f10610a6d57610100808354040283529160200191610a98565b820191906000526020600020905b815481529060010190602001808311610a7b57829003601f168201915b5050505050815260200190600101906109e3565b50505050905090565b6000610ae46000357fffffffff0000000000000000000000000000000000000000000000000000000016610863565b9050610afb610af38233610e3f565b610191610edc565b50565b60008082604051602001610b129190611265565b60405160208183030381529060405280519060200120905060005b600254811015610b8e5760028181548110610b4457fe5b90600052602060002001604051602001610b5e9190611281565b60405160208183030381529060405280519060200120821415610b86576001925050506104c7565b600101610b2d565b5060009392505050565b610ba28282610d57565b610bd8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161024b90611491565b60015460405173ffffffffffffffffffffffffffffffffffffffff90911690634036176a907f0000000000000000000000000000000000000000000000000000000000000000907f3a04f9000000000000000000000000000000000000000000000000000000000090610c5290879060029060240161135f565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009485161790525160e085901b9092168252610ce39291600401611330565b600060405180830381600087803b158015610cfd57600080fd5b505af1158015610d11573d6000803e3d6000fd5b505050506040513d6000823e601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682016040526108429190810190611111565b600080600383604051610d6a9190611265565b9081526040519081900360200190205473ffffffffffffffffffffffffffffffffffffffff1690508015610b8e576040517fce3cc8bd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82169063ce3cc8bd90610dea90879060040161130f565b60206040518083038186803b158015610e0257600080fd5b505afa158015610e16573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e3a91906110b1565b61092b565b6000610e49610933565b73ffffffffffffffffffffffffffffffffffffffff16639be2a8848484306040518463ffffffff1660e01b8152600401610e859392919061141a565b60206040518083038186803b158015610e9d57600080fd5b505afa158015610eb1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ed591906110b1565b9392505050565b81610eea57610eea81610eee565b5050565b7f08c379a000000000000000000000000000000000000000000000000000000000600090815260206004526007602452600a808304818106603090810160081b83860601918390049283060160101b016642414c230000300160c81b604452610afb917f42414c0000000000000000000000000000000000000000000000000000000000906242414c90606490fd5b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10610fbe57805160ff1916838001178555610feb565b82800160010185558215610feb579182015b82811115610feb578251825591602001919060010190610fd0565b50610ff7929150610ffb565b5090565b5b80821115610ff75760008155600101610ffc565b600082601f830112611020578081fd5b813561103361102e82611628565b611601565b915080825283602082850101111561104a57600080fd5b8060208401602084013760009082016020015292915050565b60008060408385031215611075578182fd5b82356110808161169a565b9150602083013567ffffffffffffffff81111561109b578182fd5b6110a785828601611010565b9150509250929050565b6000602082840312156110c2578081fd5b81518015158114610ed5578182fd5b6000602082840312156110e2578081fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610ed5578182fd5b600060208284031215611122578081fd5b815167ffffffffffffffff811115611138578182fd5b8201601f81018413611148578182fd5b805161115661102e82611628565b81815285602083850101111561116a578384fd5b61117b82602083016020860161166a565b95945050505050565b600060208284031215611195578081fd5b8151610ed58161169a565b6000602082840312156111b1578081fd5b813567ffffffffffffffff8111156111c7578182fd5b61092b84828501611010565b6000602082840312156111e4578081fd5b5035919050565b6000815180845261120381602086016020860161166a565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b9182527fffffffff0000000000000000000000000000000000000000000000000000000016602082015260240190565b6000825161127781846020870161166a565b9190910192915050565b60008083546001808216600081146112a057600181146112d557611304565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0083168652607f600284041686019350611304565b600283048786526020808720875b838110156112fc5781548a8201529085019082016112e3565b505050860193505b509195945050505050565b73ffffffffffffffffffffffffffffffffffffffff91909116815260200190565b600073ffffffffffffffffffffffffffffffffffffffff841682526040602083015261092b60408301846111eb565b73ffffffffffffffffffffffffffffffffffffffff929092168252600f0b602082015260400190565b6000602080830181845280855180835260408601915060408482028701019250838701855b828110156113f9577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08886030184526113e78583516111eb565b945092850192908501906001016113ad565b5092979650505050505050565b901515815260200190565b90815260200190565b92835273ffffffffffffffffffffffffffffffffffffffff918216602084015216604082015260600190565b600060208252610ed560208301846111eb565b60006040825261146c60408301856111eb565b905073ffffffffffffffffffffffffffffffffffffffff831660208301529392505050565b6020808252600d908201527f496e76616c696420676175676500000000000000000000000000000000000000604082015260600190565b60208082526018908201527f4761756765207479706520616c72656164792061646465640000000000000000604082015260600190565b60208082526012908201527f496e76616c696420676175676520747970650000000000000000000000000000604082015260600190565b60208082526027908201527f43616e6e6f742061646420676175676520666f722038302f32302042414c2d5760408201527f4554482042505400000000000000000000000000000000000000000000000000606082015260800190565b6020808252601a908201527f476175676520747970652063616e6e6f7420626520656d707479000000000000604082015260600190565b6020808252601e908201527f496e76616c696420666163746f727920696d706c656d656e746174696f6e0000604082015260600190565b60405181810167ffffffffffffffff8111828210171561162057600080fd5b604052919050565b600067ffffffffffffffff82111561163e578081fd5b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b60005b8381101561168557818101518382015260200161166d565b83811115611694576000848401525b50505050565b73ffffffffffffffffffffffffffffffffffffffff81168114610afb57600080fdfea26469706673582212204d7b5fd8a90724ea6a6fe8cd0afaa1efc61f73ae5da5432575b633ac3e4efbf764736f6c63430007010033",
"linkReferences": {},
"deployedLinkReferences": {}
}