@evergonlabs/tmi-protocol-contracts 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,317 @@
1
+ declare const erc20GatedAbi: ({
2
+ inputs: never[];
3
+ stateMutability: "nonpayable";
4
+ type: "constructor";
5
+ name?: undefined;
6
+ anonymous?: undefined;
7
+ outputs?: undefined;
8
+ } | {
9
+ inputs: ({
10
+ internalType: string;
11
+ name: string;
12
+ type: "address";
13
+ } | {
14
+ internalType: string;
15
+ name: string;
16
+ type: "bytes32";
17
+ })[];
18
+ name: string;
19
+ type: "error";
20
+ stateMutability?: undefined;
21
+ anonymous?: undefined;
22
+ outputs?: undefined;
23
+ } | {
24
+ inputs: ({
25
+ internalType: string;
26
+ name: string;
27
+ type: "address";
28
+ } | {
29
+ internalType: string;
30
+ name: string;
31
+ type: "uint256";
32
+ })[];
33
+ name: string;
34
+ type: "error";
35
+ stateMutability?: undefined;
36
+ anonymous?: undefined;
37
+ outputs?: undefined;
38
+ } | {
39
+ anonymous: false;
40
+ inputs: ({
41
+ indexed: true;
42
+ internalType: string;
43
+ name: string;
44
+ type: "address";
45
+ } | {
46
+ indexed: false;
47
+ internalType: string;
48
+ name: string;
49
+ type: "uint256";
50
+ })[];
51
+ name: string;
52
+ type: "event";
53
+ stateMutability?: undefined;
54
+ outputs?: undefined;
55
+ } | {
56
+ anonymous: false;
57
+ inputs: {
58
+ indexed: false;
59
+ internalType: string;
60
+ name: string;
61
+ type: "uint64";
62
+ }[];
63
+ name: string;
64
+ type: "event";
65
+ stateMutability?: undefined;
66
+ outputs?: undefined;
67
+ } | {
68
+ anonymous: false;
69
+ inputs: ({
70
+ indexed: false;
71
+ internalType: string;
72
+ name: string;
73
+ type: "uint256";
74
+ } | {
75
+ indexed: false;
76
+ internalType: string;
77
+ name: string;
78
+ type: "address";
79
+ } | {
80
+ indexed: false;
81
+ internalType: string;
82
+ name: string;
83
+ type: "bytes";
84
+ })[];
85
+ name: string;
86
+ type: "event";
87
+ stateMutability?: undefined;
88
+ outputs?: undefined;
89
+ } | {
90
+ anonymous: false;
91
+ inputs: ({
92
+ indexed: true;
93
+ internalType: string;
94
+ name: string;
95
+ type: "bytes32";
96
+ } | {
97
+ indexed: true;
98
+ internalType: string;
99
+ name: string;
100
+ type: "address";
101
+ })[];
102
+ name: string;
103
+ type: "event";
104
+ stateMutability?: undefined;
105
+ outputs?: undefined;
106
+ } | {
107
+ inputs: never[];
108
+ name: string;
109
+ outputs: {
110
+ internalType: string;
111
+ name: string;
112
+ type: "string";
113
+ }[];
114
+ stateMutability: "view";
115
+ type: "function";
116
+ anonymous?: undefined;
117
+ } | {
118
+ inputs: {
119
+ internalType: string;
120
+ name: string;
121
+ type: "address";
122
+ }[];
123
+ name: string;
124
+ outputs: {
125
+ internalType: string;
126
+ name: string;
127
+ type: "uint256";
128
+ }[];
129
+ stateMutability: "view";
130
+ type: "function";
131
+ anonymous?: undefined;
132
+ } | {
133
+ inputs: ({
134
+ internalType: string;
135
+ name: string;
136
+ type: "address";
137
+ } | {
138
+ internalType: string;
139
+ name: string;
140
+ type: "uint256";
141
+ })[];
142
+ name: string;
143
+ outputs: {
144
+ internalType: string;
145
+ name: string;
146
+ type: "bool";
147
+ }[];
148
+ stateMutability: "nonpayable";
149
+ type: "function";
150
+ anonymous?: undefined;
151
+ } | {
152
+ inputs: ({
153
+ internalType: string;
154
+ name: string;
155
+ type: "address[]";
156
+ } | {
157
+ internalType: string;
158
+ name: string;
159
+ type: "uint256[]";
160
+ })[];
161
+ name: string;
162
+ outputs: never[];
163
+ stateMutability: "nonpayable";
164
+ type: "function";
165
+ anonymous?: undefined;
166
+ } | {
167
+ inputs: never[];
168
+ name: string;
169
+ outputs: {
170
+ internalType: string;
171
+ name: string;
172
+ type: "uint8";
173
+ }[];
174
+ stateMutability: "view";
175
+ type: "function";
176
+ anonymous?: undefined;
177
+ } | {
178
+ inputs: {
179
+ components: ({
180
+ internalType: string;
181
+ name: string;
182
+ type: "uint256";
183
+ } | {
184
+ internalType: string;
185
+ name: string;
186
+ type: "address";
187
+ } | {
188
+ internalType: string;
189
+ name: string;
190
+ type: "bytes";
191
+ })[];
192
+ internalType: string;
193
+ name: string;
194
+ type: "tuple";
195
+ }[];
196
+ name: string;
197
+ outputs: {
198
+ internalType: string;
199
+ name: string;
200
+ type: "bytes32";
201
+ }[];
202
+ stateMutability: "pure";
203
+ type: "function";
204
+ anonymous?: undefined;
205
+ } | {
206
+ inputs: {
207
+ internalType: string;
208
+ name: string;
209
+ type: "bytes32";
210
+ }[];
211
+ name: string;
212
+ outputs: {
213
+ internalType: string;
214
+ name: string;
215
+ type: "bytes32";
216
+ }[];
217
+ stateMutability: "view";
218
+ type: "function";
219
+ anonymous?: undefined;
220
+ } | {
221
+ inputs: ({
222
+ internalType: string;
223
+ name: string;
224
+ type: "bytes32";
225
+ } | {
226
+ internalType: string;
227
+ name: string;
228
+ type: "address";
229
+ })[];
230
+ name: string;
231
+ outputs: never[];
232
+ stateMutability: "nonpayable";
233
+ type: "function";
234
+ anonymous?: undefined;
235
+ } | {
236
+ inputs: ({
237
+ internalType: string;
238
+ name: string;
239
+ type: "bytes32";
240
+ } | {
241
+ internalType: string;
242
+ name: string;
243
+ type: "address";
244
+ })[];
245
+ name: string;
246
+ outputs: {
247
+ internalType: string;
248
+ name: string;
249
+ type: "bool";
250
+ }[];
251
+ stateMutability: "view";
252
+ type: "function";
253
+ anonymous?: undefined;
254
+ } | {
255
+ inputs: ({
256
+ internalType: string;
257
+ name: string;
258
+ type: "string";
259
+ } | {
260
+ internalType: string;
261
+ name: string;
262
+ type: "uint256";
263
+ } | {
264
+ internalType: string;
265
+ name: string;
266
+ type: "address";
267
+ })[];
268
+ name: string;
269
+ outputs: never[];
270
+ stateMutability: "nonpayable";
271
+ type: "function";
272
+ anonymous?: undefined;
273
+ } | {
274
+ inputs: {
275
+ internalType: string;
276
+ name: string;
277
+ type: "bytes4";
278
+ }[];
279
+ name: string;
280
+ outputs: {
281
+ internalType: string;
282
+ name: string;
283
+ type: "bool";
284
+ }[];
285
+ stateMutability: "view";
286
+ type: "function";
287
+ anonymous?: undefined;
288
+ } | {
289
+ inputs: never[];
290
+ name: string;
291
+ outputs: {
292
+ internalType: string;
293
+ name: string;
294
+ type: "address";
295
+ }[];
296
+ stateMutability: "view";
297
+ type: "function";
298
+ anonymous?: undefined;
299
+ } | {
300
+ inputs: ({
301
+ internalType: string;
302
+ name: string;
303
+ type: "address";
304
+ } | {
305
+ internalType: string;
306
+ name: string;
307
+ type: "bytes";
308
+ })[];
309
+ name: string;
310
+ outputs: never[];
311
+ stateMutability: "payable";
312
+ type: "function";
313
+ anonymous?: undefined;
314
+ })[];
315
+ declare const erc20GatedBytecode = "0x60a06040523461003c57610011610040565b3060805261001d610040565b60405161295590816100d78239608051818181610e5c0152610eed0152f35b5f80fd5b5f516020612a2c5f395f51905f525460ff8160401c166100c7576002600160401b03196001600160401b038216016100755750565b6001600160401b0319166001600160401b039081175f516020612a2c5f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1565b63f92ee8a960e01b5f5260045ffdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146119a95750806306fdde03146118ec578063095ea7b31461180a57806318160ddd146117e157806318c718da1461057f5780631ec82cb81461171857806323b872dd146116b1578063248a9ca31461167a5780632f2ff15d14611630578063313ce56714611615578063355274ea146115ec57806336568abe146115a8578063374eb0b3146115815780633b2157801461110357806340c10f19146110d657806342966c681461107d5780634f1ef28614610eb057806352d1902d14610e4a5780636857310714610c8f5780636ef7626c1461066e57806370a082311461062a57806379cc6790146105b75780637ecebe001461057f578063801954a8146104ca57806391d148541461047557806395d89b411461037f578063a217fddf14610365578063a9059cbb146102e2578063ad3cb1cc14610297578063d53913931461025d578063d547741f1461020c578063dd62ed3e146101c55763f07110ae14610187575f80fd5b346101c1575f3660031901126101c15760206040517ff22b7eb5c001a6b83f4aca67f4a65677e68472a384450810f1b240158b7940428152f35b5f80fd5b346101c15760403660031901126101c1576101de611a20565b6101ef6101e9611a36565b91611c02565b9060018060a01b03165f52602052602060405f2054604051908152f35b346101c15760403660031901126101c15761025b60043561022b611a36565b90610256610251825f525f5160206128e05f395f51905f52602052600160405f20015490565b611feb565b6122fc565b005b346101c1575f3660031901126101c15760206040517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b346101c1575f3660031901126101c1576102de6040516102b8604082611ab5565b60058152640352e302e360dc1b60208201526040519182916020835260208301906119fc565b0390f35b346101c15760403660031901126101c1576102fb611a20565b335f9081525f5160206128c05f395f51905f52602052604090205460ff1615610338575b61032d906024359033612649565b602060405160018152f35b606536106103565761032d9061034e3336611d94565b50905061031f565b637687a3b960e11b5f5260045ffd5b346101c1575f3660031901126101c15760206040515f8152f35b346101c1575f3660031901126101c1576040515f5f5160206128605f395f51905f52546103ab81611c3a565b808452906001811690811561045157506001146103e7575b6102de836103d381850382611ab5565b6040519182916020835260208301906119fc565b5f5160206128605f395f51905f525f9081527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa939250905b808210610437575090915081016020016103d36103c3565b91926001816020925483858801015201910190929161041f565b60ff191660208086019190915291151560051b840190910191506103d390506103c3565b346101c15760403660031901126101c15761048e611a36565b6004355f525f5160206128e05f395f51905f5260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101c15760203660031901126101c1576004356001600160401b0381116101c15760c060031982360301126101c1576040519061050782611a9a565b80600401358252602481013560208301526044810135604083015261052e60648201611a4c565b606083015261053f60848201611a4c565b608083015260a4810135916001600160401b0383116101c15761056d61057792600460209536920101611b27565b60a0820152611ceb565b604051908152f35b346101c15760203660031901126101c1576001600160a01b036105a0611a20565b165f526001602052602060405f2054604051908152f35b346101c15760403660031901126101c1576105d0611a20565b335f9081525f5160206128c05f395f51905f5260205260409020546024359060ff161561060c575b61025b916106078233836125ab565b612031565b606536106103565761025b916106223336611d94565b5091506105f8565b346101c15760203660031901126101c1576001600160a01b0361064b611a20565b165f525f5160206128405f395f51905f52602052602060405f2054604051908152f35b346101c15761067c36611b45565b925f5160206129005f395f51905f5295949554956001600160401b0360ff8860401c1615971680159081610c87575b6001149081610c7d575b159081610c74575b50610c1a57866106cb611c72565b610c44575b5f5160206129005f395f51905f5254956001600160401b0360ff8860401c1615971680159081610c3c575b6001149081610c32575b159081610c29575b50610c1a578661071b611c72565b610bea575b610728612680565b610730612680565b610738612680565b610740612680565b8051906001600160401b038211610ad357819061076a5f5160206128205f395f51905f5254611c3a565b601f8111610b70575b50602090601f8311600114610af2575f92610ae7575b50508160011b915f199060031b1c1916175f5160206128205f395f51905f52555b8051906001600160401b038211610ad35781906107d45f5160206128605f395f51905f5254611c3a565b601f8111610a59575b50602090601f83116001146109db575f926109d0575b50508160011b915f199060031b1c1916175f5160206128605f395f51905f52555b61081c612680565b610824612680565b80156109bd576108549261084e915f5160206128005f395f51905f5255610849612680565b6120dd565b5061218c565b506001600160a01b031690811561095957816001600160601b0360a01b5f5416175f55604051917f5719a5656c5cfdaafa148ecf366fd3b0a7fae06449ce2a46225977fb7417e29d5f80a2610905575b506108ad612680565b6108b357005b60ff60401b195f5160206129005f395f51905f5254165f5160206129005f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b60207fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29160ff60401b195f5160206129005f395f51905f5254165f5160206129005f395f51905f525560018152a1816108a4565b60405162461bcd60e51b815260206004820152603660248201527f426173655478417574684461746156657269666965723a206e6577207369676e604482015275657220697320746865207a65726f206164647265737360501b6064820152608490fd5b63392e1e2760e01b5f525f60045260245ffd5b0151905088806107f3565b5f5160206128605f395f51905f525f9081528281209350601f198516905b818110610a415750908460019594939210610a29575b505050811b015f5160206128605f395f51905f5255610814565b01515f1960f88460031b161c19169055888080610a0f565b929360206001819287860151815501950193016109f9565b5f5160206128605f395f51905f525f529091507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa601f840160051c81019160208510610ac9575b90601f859493920160051c01905b818110610abb57506107dd565b5f8155849350600101610aae565b9091508190610aa0565b634e487b7160e01b5f52604160045260245ffd5b015190508980610789565b5f5160206128205f395f51905f525f9081528281209350601f198516905b818110610b585750908460019594939210610b40575b505050811b015f5160206128205f395f51905f52556107aa565b01515f1960f88460031b161c19169055898080610b26565b92936020600181928786015181550195019301610b10565b5f5160206128205f395f51905f525f529091507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0601f840160051c81019160208510610be0575b90601f859493920160051c01905b818110610bd25750610773565b5f8155849350600101610bc5565b9091508190610bb7565b600160401b60ff60401b195f5160206129005f395f51905f525416175f5160206129005f395f51905f5255610720565b63f92ee8a960e01b5f5260045ffd5b9050158961070d565b303b159150610705565b8891506106fb565b600160401b60ff60401b195f5160206129005f395f51905f525416175f5160206129005f395f51905f52556106d0565b905015886106bd565b303b1591506106b5565b8891506106ab565b346101c15760403660031901126101c1576004356001600160401b0381116101c157610cbf903690600401611bd2565b906024356001600160401b0381116101c157610cdf903690600401611bd2565b9190610ce9611f7c565b828403610e3b579291905f935f935b808510610d6a57855f5160206128805f395f51905f52545f5160206128005f395f51905f525490818111610d5557826040519081527f4b6dcabdeaeb0ec6121e2e093c11a74bd84844268dc1131fd8ba3b363a82d7e860203392a2005b63279e7e1560e21b5f5260045260245260445ffd5b9091929394610d7a868386611c9f565b35906001600160a01b038216908183036101c1578115610e2c57610da360019330841415611cc3565b610dae888887611c9f565b3591610dc8835f5160206128805f395f51905f5254611d73565b5f5160206128805f395f51905f5255805f525f5160206128405f395f51905f5260205260405f208381540190555f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020604051868152a301950193929190610cf8565b63d92e233d60e01b5f5260045ffd5b63512509d360e11b5f5260045ffd5b346101c1575f3660031901126101c1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610ea15760206040515f5160206128a05f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b60403660031901126101c157610ec4611a20565b6024356001600160401b0381116101c157610ee3903690600401611b27565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630811490811561105b575b50610ea157610f25611f2d565b6040516352d1902d60e01b81526001600160a01b0383169290602081600481875afa5f9181611027575b50610f675783634c9c8ce360e01b5f5260045260245ffd5b805f5160206128a05f395f51905f528592036110155750813b15611003575f5160206128a05f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115610feb575f8083602061025b95519101845af4610fe56126ab565b916127a1565b505034610ff457005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011611053575b8161104360209383611ab5565b810103126101c157519085610f4f565b3d9150611036565b5f5160206128a05f395f51905f52546001600160a01b03161415905083610f18565b346101c15760203660031901126101c157335f9081525f5160206128c05f395f51905f52602052604090205460ff16156110be575b61025b60043533612031565b60653610610356576110d03336611d94565b506110b2565b346101c15760403660031901126101c15761025b6110f2611a20565b6110fa611f7c565b60243590612079565b346101c15761111136611b45565b935f5160206129005f395f51905f529391929354956001600160401b0360ff8860401c1615971680159081611579575b600114908161156f575b159081611566575b50610c1a5786611161611c72565b611536575b61116e612680565b611176612680565b61117e612680565b611186612680565b8051906001600160401b038211610ad35781906111b05f5160206128205f395f51905f5254611c3a565b601f81116114bc575b50602090601f831160011461143e575f92611433575b50508160011b915f199060031b1c1916175f5160206128205f395f51905f52555b8051906001600160401b038211610ad357819061121a5f5160206128605f395f51905f5254611c3a565b601f81116113b9575b50602090601f831160011461133b575f92611330575b50508160011b915f199060031b1c1916175f5160206128605f395f51905f52555b611262612680565b61126a612680565b80156109bd5761128f9261084e915f5160206128005f395f51905f5255610849612680565b506001600160a01b031690811561095957816001600160601b0360a01b5f5416175f55604051917f5719a5656c5cfdaafa148ecf366fd3b0a7fae06449ce2a46225977fb7417e29d5f80a26112e057005b60207fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29160ff60401b195f5160206129005f395f51905f5254165f5160206129005f395f51905f525560018152a1005b015190508780611239565b5f5160206128605f395f51905f525f9081528281209350601f198516905b8181106113a15750908460019594939210611389575b505050811b015f5160206128605f395f51905f525561125a565b01515f1960f88460031b161c1916905587808061136f565b92936020600181928786015181550195019301611359565b5f5160206128605f395f51905f525f529091507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa601f840160051c81019160208510611429575b90601f859493920160051c01905b81811061141b5750611223565b5f815584935060010161140e565b9091508190611400565b0151905088806111cf565b5f5160206128205f395f51905f525f9081528281209350601f198516905b8181106114a4575090846001959493921061148c575b505050811b015f5160206128205f395f51905f52556111f0565b01515f1960f88460031b161c19169055888080611472565b9293602060018192878601518155019501930161145c565b5f5160206128205f395f51905f525f529091507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0601f840160051c8101916020851061152c575b90601f859493920160051c01905b81811061151e57506111b9565b5f8155849350600101611511565b9091508190611503565b600160401b60ff60401b195f5160206129005f395f51905f525416175f5160206129005f395f51905f5255611166565b90501588611153565b303b15915061114b565b889150611141565b346101c1575f3660031901126101c1575f546040516001600160a01b039091168152602090f35b346101c15760403660031901126101c1576115c1611a36565b336001600160a01b038216036115dd5761025b906004356122fc565b63334bd91960e11b5f5260045ffd5b346101c1575f3660031901126101c15760205f5160206128005f395f51905f5254604051908152f35b346101c1575f3660031901126101c157602060405160128152f35b346101c15760403660031901126101c15761025b60043561164f611a36565b90611675610251825f525f5160206128e05f395f51905f52602052600160405f20015490565b612258565b346101c15760203660031901126101c15760206105776004355f525f5160206128e05f395f51905f52602052600160405f20015490565b346101c1576116bf36611a60565b335f9081525f5160206128c05f395f51905f52602052604090205490919060ff16156116fa575b61032d926116f58333836125ab565b612649565b606536106103565761032d926117103336611d94565b5092506116e6565b346101c15761172636611a60565b9061172f611f2d565b335f9081525f5160206128c05f395f51905f52602052604090205460ff16156117a2575b60207fb66c2595c5f377625ce78f02a4e5a1e17bd8e65fb805e6262a77398172989923916117818486612031565b61178b8482612079565b6040519384526001600160a01b03908116941692a3005b606536106103565760207fb66c2595c5f377625ce78f02a4e5a1e17bd8e65fb805e6262a77398172989923916117d83336611d94565b50915050611753565b346101c1575f3660031901126101c15760205f5160206128805f395f51905f5254604051908152f35b346101c15760403660031901126101c157611823611a20565b335f9081525f5160206128c05f395f51905f526020526040902054602435919060ff16156118d4575b33156118c1576001600160a01b03169081156118ae5761186b33611c02565b825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b60653610610356576118e63336611d94565b5061184c565b346101c1575f3660031901126101c1576040515f5f5160206128205f395f51905f525461191881611c3a565b8084529060018116908115610451575060011461193f576102de836103d381850382611ab5565b5f5160206128205f395f51905f525f9081527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0939250905b80821061198f575090915081016020016103d36103c3565b919260018160209254838588010152019101909291611977565b346101c15760203660031901126101c1576004359063ffffffff60e01b82168092036101c157602091637965db0b60e01b81149081156119eb575b5015158152f35b6301ffc9a760e01b149050836119e4565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036101c157565b602435906001600160a01b03821682036101c157565b35906001600160a01b03821682036101c157565b60609060031901126101c1576004356001600160a01b03811681036101c157906024356001600160a01b03811681036101c1579060443590565b60c081019081106001600160401b03821117610ad357604052565b90601f801991011681019081106001600160401b03821117610ad357604052565b6001600160401b038111610ad357601f01601f191660200190565b929192611afd82611ad6565b91611b0b6040519384611ab5565b8294818452818301116101c1578281602093845f960137010152565b9080601f830112156101c157816020611b4293359101611af1565b90565b9060c06003198301126101c1576004356001600160401b0381116101c15782611b7091600401611b27565b91602435906001600160401b0382116101c157611b8f91600401611b27565b90604435906064356001600160a01b03811681036101c157906084356001600160a01b03811681036101c1579060a4356001600160a01b03811681036101c15790565b9181601f840112156101c1578235916001600160401b0383116101c1576020808501948460051b0101116101c157565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b90600182811c92168015611c68575b6020831014611c5457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611c49565b60016001600160401b03195f5160206129005f395f51905f525416175f5160206129005f395f51905f5255565b9190811015611caf5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b15611ccb5750565b632e8e416360e21b5f9081526001600160a01b0391909116600452602490fd5b805190611d6d60a86020830151602060408501519460608101519060a06080820151910151916040519788958587019a8b52604087015260608601526001600160601b03199060601b1660808501526001600160601b03199060601b1660948401528051918291018484015e81015f838201520301601f198101835282611ab5565b51902090565b91908201809211611d8057565b634e487b7160e01b5f52601160045260245ffd5b9060618203828111611d80578281116101c157828111611d8057604019830191838311611d80578282116101c1578135938281036040190160208110611f18575b5083116101c15783431015611f0957611ef09360e07f457734c71a6a3ef35a45b3a9aed14e0158cca171cd87330ecd1de4d4d61dc8f39260018060a01b031693845f52600160205260405f2090815491600183019055611e60604051611e3a81611a9a565b46815283602082015285604082015230606082015287608082015261056d36845f611af1565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f52601c52603c5f209560405194859346855260208501526040840152306060840152608083015260c060a08301528060c0830152805f848401375f828201840152601f01601f19168101030190a15f546001600160a01b031691611eea903690604190611af1565b916124cd565b15611efa57600190565b638baa579f60e01b5f5260045ffd5b6378fd448d60e01b5f5260045ffd5b5f959195199060200360031b1b16935f611dd5565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615611f6557565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527f549fe2656c81d2947b3b913f0a53b9ea86c71e049f3a1b8aa23c09a8a05cb8d4602052604090205460ff1615611fb457565b63e2517d3f60e01b5f52336004527f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a660245260445ffd5b5f8181525f5160206128e05f395f51905f526020908152604080832033845290915290205460ff161561201b5750565b63e2517d3f60e01b5f523360045260245260445ffd5b906001600160a01b03821615612066573015612053575f61205192612398565b565b632e8e416360e21b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b6001600160a01b038116919082156120ca5761209b816120a194301415611cc3565b5f612398565b5f5160206128005f395f51905f52545f5160206128805f395f51905f5254818111610d55575050565b63ec442f0560e01b5f525f60045260245ffd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff16612187576001600160a01b03165f8181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f90565b6001600160a01b0381165f9081527f549fe2656c81d2947b3b913f0a53b9ea86c71e049f3a1b8aa23c09a8a05cb8d4602052604090205460ff16612187576001600160a01b03165f8181527f549fe2656c81d2947b3b913f0a53b9ea86c71e049f3a1b8aa23c09a8a05cb8d460205260408120805460ff191660011790553391907f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5f8181525f5160206128e05f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff166122f6575f8181525f5160206128e05f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f8181525f5160206128e05f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff16156122f6575f8181525f5160206128e05f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b6001600160a01b0316908161244e5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916123e3855f5160206128805f395f51905f5254611d73565b5f5160206128805f395f51905f52555b6001600160a01b0316938461242c57805f5160206128805f395f51905f5254035f5160206128805f395f51905f52555b604051908152a3565b845f525f5160206128405f395f51905f52825260405f20818154019055612423565b815f525f5160206128405f395f51905f5260205260405f20548381106124b2577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9184602092855f525f5160206128405f395f51905f5284520360405f20556123f3565b91905063391434e360e21b5f5260045260245260445260645ffd5b9190823b61251c57906124df916126da565b506004811015612508571591826124f557505090565b6001600160a01b03918216911614919050565b634e487b7160e01b5f52602160045260245ffd5b915f9261255261256085946040519283916020830195630b135d3f60e11b875260248401526040604484015260648301906119fc565b03601f198101835282611ab5565b51915afa61256c6126ab565b8161259d575b8161257b575090565b80516020808301935090820191909103126101c15751630b135d3f60e11b1490565b905060208151101590612572565b91906125b683611c02565b60018060a01b0382165f5260205260405f2054925f1984106125d9575b50505050565b828410612626576001600160a01b038116156118c1576001600160a01b038216156118ae5761260790611c02565b9060018060a01b03165f5260205260405f20910390555f8080806125d3565b508290637dc7a0d960e11b5f5260018060a01b031660045260245260445260645ffd5b91906001600160a01b03831615612066576001600160a01b0381169283156120ca5761267b8261205195301415611cc3565b612398565b60ff5f5160206129005f395f51905f525460401c161561269c57565b631afcd79f60e31b5f5260045ffd5b3d156126d5573d906126bc82611ad6565b916126ca6040519384611ab5565b82523d5f602084013e565b606090565b815191906041830361270a576127039250602082015190606060408401519301515f1a90612714565b9192909190565b50505f9160029190565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612796579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa1561278b575f516001600160a01b0381161561278157905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b906127c557508051156127b657805190602001fd5b63d6bda27560e01b5f5260045ffd5b815115806127f6575b6127d6575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b156127ce56fe0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0452c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b09e1c0c59fe9385b5a82c53989de8d40269d43d57b25f2a335ba398b6dc6ed02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220975927ff0ad60303a63b1bcd5b761caf365ff02241e467af41b865305d3895d664736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00";
316
+
317
+ export { erc20GatedAbi, erc20GatedBytecode };
@@ -0,0 +1,2 @@
1
+ import{a,b}from"./chunk-W2Z3E7UO.js";export{a as erc20GatedAbi,b as erc20GatedBytecode};
2
+ //# sourceMappingURL=erc20Gated.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
package/dist/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var d=Object.defineProperty;var m=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var v=Object.prototype.hasOwnProperty;var I=(a,e)=>{for(var t in e)d(a,t,{get:e[t],enumerable:!0})},x=(a,e,t,b)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of T(e))!v.call(a,n)&&n!==t&&d(a,n,{get:()=>e[n],enumerable:!(b=m(e,n))||b.enumerable});return a};var A=a=>x(d({},"__esModule",{value:!0}),a);var w={};I(w,{erc20GatedAbi:()=>p,erc20GatedBytecode:()=>y,managedErc721Abi:()=>l,managedErc721Bytecode:()=>c,managedErc721UpgradeableAbi:()=>o,managedErc721UpgradeableBytecode:()=>u,transparentUpgradeableProxyAbi:()=>i,transparentUpgradeableProxyBytecode:()=>r});module.exports=A(w);var p=[{inputs:[],stateMutability:"nonpayable",type:"constructor"},{inputs:[],name:"AccessControlBadConfirmation",type:"error"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"bytes32",name:"neededRole",type:"bytes32"}],name:"AccessControlUnauthorizedAccount",type:"error"},{inputs:[{internalType:"address",name:"target",type:"address"}],name:"AddressEmptyCode",type:"error"},{inputs:[],name:"ArrayLengthMismatch",type:"error"},{inputs:[],name:"BlockExpired",type:"error"},{inputs:[{internalType:"address",name:"implementation",type:"address"}],name:"ERC1967InvalidImplementation",type:"error"},{inputs:[],name:"ERC1967NonPayable",type:"error"},{inputs:[{internalType:"uint256",name:"increasedSupply",type:"uint256"},{internalType:"uint256",name:"cap",type:"uint256"}],name:"ERC20ExceededCap",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"allowance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientAllowance",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"},{internalType:"uint256",name:"balance",type:"uint256"},{internalType:"uint256",name:"needed",type:"uint256"}],name:"ERC20InsufficientBalance",type:"error"},{inputs:[{internalType:"address",name:"approver",type:"address"}],name:"ERC20InvalidApprover",type:"error"},{inputs:[{internalType:"uint256",name:"cap",type:"uint256"}],name:"ERC20InvalidCap",type:"error"},{inputs:[{internalType:"address",name:"receiver",type:"address"}],name:"ERC20InvalidReceiver",type:"error"},{inputs:[{internalType:"address",name:"sender",type:"address"}],name:"ERC20InvalidSender",type:"error"},{inputs:[{internalType:"address",name:"spender",type:"address"}],name:"ERC20InvalidSpender",type:"error"},{inputs:[],name:"FailedCall",type:"error"},{inputs:[{internalType:"address",name:"to",type:"address"}],name:"IncorrectTransferTarget",type:"error"},{inputs:[],name:"InvalidInitialization",type:"error"},{inputs:[],name:"InvalidSignature",type:"error"},{inputs:[],name:"MissingSignatureAndBlockNumber",type:"error"},{inputs:[],name:"NotInitializing",type:"error"},{inputs:[],name:"UUPSUnauthorizedCallContext",type:"error"},{inputs:[{internalType:"bytes32",name:"slot",type:"bytes32"}],name:"UUPSUnsupportedProxiableUUID",type:"error"},{inputs:[],name:"ZeroAddress",type:"error"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"owner",type:"address"},{indexed:!0,internalType:"address",name:"spender",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Approval",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"sender",type:"address"},{indexed:!1,internalType:"uint256",name:"totalValue",type:"uint256"}],name:"BatchMint",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint64",name:"version",type:"uint64"}],name:"Initialized",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"uint256",name:"chainID",type:"uint256"},{indexed:!1,internalType:"uint256",name:"nonce",type:"uint256"},{indexed:!1,internalType:"uint256",name:"blockExpiration",type:"uint256"},{indexed:!1,internalType:"address",name:"contractAddress",type:"address"},{indexed:!1,internalType:"address",name:"userAddress",type:"address"},{indexed:!1,internalType:"bytes",name:"functionCallData",type:"bytes"}],name:"NexeraIDSignatureVerified",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"amount",type:"uint256"}],name:"Recovery",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"previousAdminRole",type:"bytes32"},{indexed:!0,internalType:"bytes32",name:"newAdminRole",type:"bytes32"}],name:"RoleAdminChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleGranted",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"bytes32",name:"role",type:"bytes32"},{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"sender",type:"address"}],name:"RoleRevoked",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"newSigner",type:"address"}],name:"SignerChanged",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"Transfer",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"implementation",type:"address"}],name:"Upgraded",type:"event"},{inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"MINTER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[],name:"UPGRADE_INTERFACE_VERSION",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"WHITELISTED_SPENDER_ROLE",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"owner",type:"address"},{internalType:"address",name:"spender",type:"address"}],name:"allowance",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"spender",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"approve",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"recipients",type:"address[]"},{internalType:"uint256[]",name:"values",type:"uint256[]"}],name:"batchMint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"uint256",name:"amount",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"burnFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"cap",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"decimals",outputs:[{internalType:"uint8",name:"",type:"uint8"}],stateMutability:"view",type:"function"},{inputs:[{components:[{internalType:"uint256",name:"chainID",type:"uint256"},{internalType:"uint256",name:"nonce",type:"uint256"},{internalType:"uint256",name:"blockExpiration",type:"uint256"},{internalType:"address",name:"contractAddress",type:"address"},{internalType:"address",name:"userAddress",type:"address"},{internalType:"bytes",name:"functionCallData",type:"bytes"}],internalType:"struct BaseTxAuthDataVerifier.TxAuthData",name:"_txAuthData",type:"tuple"}],name:"getMessageHash",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"pure",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"}],name:"getRoleAdmin",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"hasRole",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"cap",type:"uint256"},{internalType:"address",name:"defaultAdmin",type:"address"},{internalType:"address",name:"minter",type:"address"},{internalType:"address",name:"gatingSigner",type:"address"}],name:"init",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"string",name:"name",type:"string"},{internalType:"string",name:"symbol",type:"string"},{internalType:"uint256",name:"cap",type:"uint256"},{internalType:"address",name:"defaultAdmin",type:"address"},{internalType:"address",name:"minter",type:"address"},{internalType:"address",name:"gatingSigner",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"name",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"",type:"address"}],name:"nonces",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[],name:"proxiableUUID",outputs:[{internalType:"bytes32",name:"",type:"bytes32"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"recover",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"callerConfirmation",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes32",name:"role",type:"bytes32"},{internalType:"address",name:"account",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[],name:"symbol",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"},{inputs:[],name:"totalSupply",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transfer",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"amount",type:"uint256"}],name:"transferFrom",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"nonpayable",type:"function"},{inputs:[],name:"txAuthDataSignerAddress",outputs:[{internalType:"address",name:"",type:"address"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"user",type:"address"}],name:"txAuthDataUserNonce",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"newImplementation",type:"address"},{internalType:"bytes",name:"data",type:"bytes"}],name:"upgradeToAndCall",outputs:[],stateMutability:"payable",type:"function"}],y="0x60a06040523461003c57610011610040565b3060805261001d610040565b60405161295590816100d78239608051818181610e5c0152610eed0152f35b5f80fd5b5f516020612a2c5f395f51905f525460ff8160401c166100c7576002600160401b03196001600160401b038216016100755750565b6001600160401b0319166001600160401b039081175f516020612a2c5f395f51905f52556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1565b63f92ee8a960e01b5f5260045ffdfe6080806040526004361015610012575f80fd5b5f3560e01c90816301ffc9a7146119a95750806306fdde03146118ec578063095ea7b31461180a57806318160ddd146117e157806318c718da1461057f5780631ec82cb81461171857806323b872dd146116b1578063248a9ca31461167a5780632f2ff15d14611630578063313ce56714611615578063355274ea146115ec57806336568abe146115a8578063374eb0b3146115815780633b2157801461110357806340c10f19146110d657806342966c681461107d5780634f1ef28614610eb057806352d1902d14610e4a5780636857310714610c8f5780636ef7626c1461066e57806370a082311461062a57806379cc6790146105b75780637ecebe001461057f578063801954a8146104ca57806391d148541461047557806395d89b411461037f578063a217fddf14610365578063a9059cbb146102e2578063ad3cb1cc14610297578063d53913931461025d578063d547741f1461020c578063dd62ed3e146101c55763f07110ae14610187575f80fd5b346101c1575f3660031901126101c15760206040517ff22b7eb5c001a6b83f4aca67f4a65677e68472a384450810f1b240158b7940428152f35b5f80fd5b346101c15760403660031901126101c1576101de611a20565b6101ef6101e9611a36565b91611c02565b9060018060a01b03165f52602052602060405f2054604051908152f35b346101c15760403660031901126101c15761025b60043561022b611a36565b90610256610251825f525f5160206128e05f395f51905f52602052600160405f20015490565b611feb565b6122fc565b005b346101c1575f3660031901126101c15760206040517f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a68152f35b346101c1575f3660031901126101c1576102de6040516102b8604082611ab5565b60058152640352e302e360dc1b60208201526040519182916020835260208301906119fc565b0390f35b346101c15760403660031901126101c1576102fb611a20565b335f9081525f5160206128c05f395f51905f52602052604090205460ff1615610338575b61032d906024359033612649565b602060405160018152f35b606536106103565761032d9061034e3336611d94565b50905061031f565b637687a3b960e11b5f5260045ffd5b346101c1575f3660031901126101c15760206040515f8152f35b346101c1575f3660031901126101c1576040515f5f5160206128605f395f51905f52546103ab81611c3a565b808452906001811690811561045157506001146103e7575b6102de836103d381850382611ab5565b6040519182916020835260208301906119fc565b5f5160206128605f395f51905f525f9081527f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa939250905b808210610437575090915081016020016103d36103c3565b91926001816020925483858801015201910190929161041f565b60ff191660208086019190915291151560051b840190910191506103d390506103c3565b346101c15760403660031901126101c15761048e611a36565b6004355f525f5160206128e05f395f51905f5260205260405f209060018060a01b03165f52602052602060ff60405f2054166040519015158152f35b346101c15760203660031901126101c1576004356001600160401b0381116101c15760c060031982360301126101c1576040519061050782611a9a565b80600401358252602481013560208301526044810135604083015261052e60648201611a4c565b606083015261053f60848201611a4c565b608083015260a4810135916001600160401b0383116101c15761056d61057792600460209536920101611b27565b60a0820152611ceb565b604051908152f35b346101c15760203660031901126101c1576001600160a01b036105a0611a20565b165f526001602052602060405f2054604051908152f35b346101c15760403660031901126101c1576105d0611a20565b335f9081525f5160206128c05f395f51905f5260205260409020546024359060ff161561060c575b61025b916106078233836125ab565b612031565b606536106103565761025b916106223336611d94565b5091506105f8565b346101c15760203660031901126101c1576001600160a01b0361064b611a20565b165f525f5160206128405f395f51905f52602052602060405f2054604051908152f35b346101c15761067c36611b45565b925f5160206129005f395f51905f5295949554956001600160401b0360ff8860401c1615971680159081610c87575b6001149081610c7d575b159081610c74575b50610c1a57866106cb611c72565b610c44575b5f5160206129005f395f51905f5254956001600160401b0360ff8860401c1615971680159081610c3c575b6001149081610c32575b159081610c29575b50610c1a578661071b611c72565b610bea575b610728612680565b610730612680565b610738612680565b610740612680565b8051906001600160401b038211610ad357819061076a5f5160206128205f395f51905f5254611c3a565b601f8111610b70575b50602090601f8311600114610af2575f92610ae7575b50508160011b915f199060031b1c1916175f5160206128205f395f51905f52555b8051906001600160401b038211610ad35781906107d45f5160206128605f395f51905f5254611c3a565b601f8111610a59575b50602090601f83116001146109db575f926109d0575b50508160011b915f199060031b1c1916175f5160206128605f395f51905f52555b61081c612680565b610824612680565b80156109bd576108549261084e915f5160206128005f395f51905f5255610849612680565b6120dd565b5061218c565b506001600160a01b031690811561095957816001600160601b0360a01b5f5416175f55604051917f5719a5656c5cfdaafa148ecf366fd3b0a7fae06449ce2a46225977fb7417e29d5f80a2610905575b506108ad612680565b6108b357005b60ff60401b195f5160206129005f395f51905f5254165f5160206129005f395f51905f52557fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2602060405160018152a1005b60207fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29160ff60401b195f5160206129005f395f51905f5254165f5160206129005f395f51905f525560018152a1816108a4565b60405162461bcd60e51b815260206004820152603660248201527f426173655478417574684461746156657269666965723a206e6577207369676e604482015275657220697320746865207a65726f206164647265737360501b6064820152608490fd5b63392e1e2760e01b5f525f60045260245ffd5b0151905088806107f3565b5f5160206128605f395f51905f525f9081528281209350601f198516905b818110610a415750908460019594939210610a29575b505050811b015f5160206128605f395f51905f5255610814565b01515f1960f88460031b161c19169055888080610a0f565b929360206001819287860151815501950193016109f9565b5f5160206128605f395f51905f525f529091507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa601f840160051c81019160208510610ac9575b90601f859493920160051c01905b818110610abb57506107dd565b5f8155849350600101610aae565b9091508190610aa0565b634e487b7160e01b5f52604160045260245ffd5b015190508980610789565b5f5160206128205f395f51905f525f9081528281209350601f198516905b818110610b585750908460019594939210610b40575b505050811b015f5160206128205f395f51905f52556107aa565b01515f1960f88460031b161c19169055898080610b26565b92936020600181928786015181550195019301610b10565b5f5160206128205f395f51905f525f529091507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0601f840160051c81019160208510610be0575b90601f859493920160051c01905b818110610bd25750610773565b5f8155849350600101610bc5565b9091508190610bb7565b600160401b60ff60401b195f5160206129005f395f51905f525416175f5160206129005f395f51905f5255610720565b63f92ee8a960e01b5f5260045ffd5b9050158961070d565b303b159150610705565b8891506106fb565b600160401b60ff60401b195f5160206129005f395f51905f525416175f5160206129005f395f51905f52556106d0565b905015886106bd565b303b1591506106b5565b8891506106ab565b346101c15760403660031901126101c1576004356001600160401b0381116101c157610cbf903690600401611bd2565b906024356001600160401b0381116101c157610cdf903690600401611bd2565b9190610ce9611f7c565b828403610e3b579291905f935f935b808510610d6a57855f5160206128805f395f51905f52545f5160206128005f395f51905f525490818111610d5557826040519081527f4b6dcabdeaeb0ec6121e2e093c11a74bd84844268dc1131fd8ba3b363a82d7e860203392a2005b63279e7e1560e21b5f5260045260245260445ffd5b9091929394610d7a868386611c9f565b35906001600160a01b038216908183036101c1578115610e2c57610da360019330841415611cc3565b610dae888887611c9f565b3591610dc8835f5160206128805f395f51905f5254611d73565b5f5160206128805f395f51905f5255805f525f5160206128405f395f51905f5260205260405f208381540190555f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6020604051868152a301950193929190610cf8565b63d92e233d60e01b5f5260045ffd5b63512509d360e11b5f5260045ffd5b346101c1575f3660031901126101c1577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03163003610ea15760206040515f5160206128a05f395f51905f528152f35b63703e46dd60e11b5f5260045ffd5b60403660031901126101c157610ec4611a20565b6024356001600160401b0381116101c157610ee3903690600401611b27565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630811490811561105b575b50610ea157610f25611f2d565b6040516352d1902d60e01b81526001600160a01b0383169290602081600481875afa5f9181611027575b50610f675783634c9c8ce360e01b5f5260045260245ffd5b805f5160206128a05f395f51905f528592036110155750813b15611003575f5160206128a05f395f51905f5280546001600160a01b031916821790557fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b5f80a2815115610feb575f8083602061025b95519101845af4610fe56126ab565b916127a1565b505034610ff457005b63b398979f60e01b5f5260045ffd5b634c9c8ce360e01b5f5260045260245ffd5b632a87526960e21b5f5260045260245ffd5b9091506020813d602011611053575b8161104360209383611ab5565b810103126101c157519085610f4f565b3d9150611036565b5f5160206128a05f395f51905f52546001600160a01b03161415905083610f18565b346101c15760203660031901126101c157335f9081525f5160206128c05f395f51905f52602052604090205460ff16156110be575b61025b60043533612031565b60653610610356576110d03336611d94565b506110b2565b346101c15760403660031901126101c15761025b6110f2611a20565b6110fa611f7c565b60243590612079565b346101c15761111136611b45565b935f5160206129005f395f51905f529391929354956001600160401b0360ff8860401c1615971680159081611579575b600114908161156f575b159081611566575b50610c1a5786611161611c72565b611536575b61116e612680565b611176612680565b61117e612680565b611186612680565b8051906001600160401b038211610ad35781906111b05f5160206128205f395f51905f5254611c3a565b601f81116114bc575b50602090601f831160011461143e575f92611433575b50508160011b915f199060031b1c1916175f5160206128205f395f51905f52555b8051906001600160401b038211610ad357819061121a5f5160206128605f395f51905f5254611c3a565b601f81116113b9575b50602090601f831160011461133b575f92611330575b50508160011b915f199060031b1c1916175f5160206128605f395f51905f52555b611262612680565b61126a612680565b80156109bd5761128f9261084e915f5160206128005f395f51905f5255610849612680565b506001600160a01b031690811561095957816001600160601b0360a01b5f5416175f55604051917f5719a5656c5cfdaafa148ecf366fd3b0a7fae06449ce2a46225977fb7417e29d5f80a26112e057005b60207fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29160ff60401b195f5160206129005f395f51905f5254165f5160206129005f395f51905f525560018152a1005b015190508780611239565b5f5160206128605f395f51905f525f9081528281209350601f198516905b8181106113a15750908460019594939210611389575b505050811b015f5160206128605f395f51905f525561125a565b01515f1960f88460031b161c1916905587808061136f565b92936020600181928786015181550195019301611359565b5f5160206128605f395f51905f525f529091507f46a2803e59a4de4e7a4c574b1243f25977ac4c77d5a1a4a609b5394cebb4a2aa601f840160051c81019160208510611429575b90601f859493920160051c01905b81811061141b5750611223565b5f815584935060010161140e565b9091508190611400565b0151905088806111cf565b5f5160206128205f395f51905f525f9081528281209350601f198516905b8181106114a4575090846001959493921061148c575b505050811b015f5160206128205f395f51905f52556111f0565b01515f1960f88460031b161c19169055888080611472565b9293602060018192878601518155019501930161145c565b5f5160206128205f395f51905f525f529091507f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0601f840160051c8101916020851061152c575b90601f859493920160051c01905b81811061151e57506111b9565b5f8155849350600101611511565b9091508190611503565b600160401b60ff60401b195f5160206129005f395f51905f525416175f5160206129005f395f51905f5255611166565b90501588611153565b303b15915061114b565b889150611141565b346101c1575f3660031901126101c1575f546040516001600160a01b039091168152602090f35b346101c15760403660031901126101c1576115c1611a36565b336001600160a01b038216036115dd5761025b906004356122fc565b63334bd91960e11b5f5260045ffd5b346101c1575f3660031901126101c15760205f5160206128005f395f51905f5254604051908152f35b346101c1575f3660031901126101c157602060405160128152f35b346101c15760403660031901126101c15761025b60043561164f611a36565b90611675610251825f525f5160206128e05f395f51905f52602052600160405f20015490565b612258565b346101c15760203660031901126101c15760206105776004355f525f5160206128e05f395f51905f52602052600160405f20015490565b346101c1576116bf36611a60565b335f9081525f5160206128c05f395f51905f52602052604090205490919060ff16156116fa575b61032d926116f58333836125ab565b612649565b606536106103565761032d926117103336611d94565b5092506116e6565b346101c15761172636611a60565b9061172f611f2d565b335f9081525f5160206128c05f395f51905f52602052604090205460ff16156117a2575b60207fb66c2595c5f377625ce78f02a4e5a1e17bd8e65fb805e6262a77398172989923916117818486612031565b61178b8482612079565b6040519384526001600160a01b03908116941692a3005b606536106103565760207fb66c2595c5f377625ce78f02a4e5a1e17bd8e65fb805e6262a77398172989923916117d83336611d94565b50915050611753565b346101c1575f3660031901126101c15760205f5160206128805f395f51905f5254604051908152f35b346101c15760403660031901126101c157611823611a20565b335f9081525f5160206128c05f395f51905f526020526040902054602435919060ff16156118d4575b33156118c1576001600160a01b03169081156118ae5761186b33611c02565b825f526020528060405f20556040519081527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560203392a3602060405160018152f35b634a1406b160e11b5f525f60045260245ffd5b63e602df0560e01b5f525f60045260245ffd5b60653610610356576118e63336611d94565b5061184c565b346101c1575f3660031901126101c1576040515f5f5160206128205f395f51905f525461191881611c3a565b8084529060018116908115610451575060011461193f576102de836103d381850382611ab5565b5f5160206128205f395f51905f525f9081527f2ae08a8e29253f69ac5d979a101956ab8f8d9d7ded63fa7a83b16fc47648eab0939250905b80821061198f575090915081016020016103d36103c3565b919260018160209254838588010152019101909291611977565b346101c15760203660031901126101c1576004359063ffffffff60e01b82168092036101c157602091637965db0b60e01b81149081156119eb575b5015158152f35b6301ffc9a760e01b149050836119e4565b805180835260209291819084018484015e5f828201840152601f01601f1916010190565b600435906001600160a01b03821682036101c157565b602435906001600160a01b03821682036101c157565b35906001600160a01b03821682036101c157565b60609060031901126101c1576004356001600160a01b03811681036101c157906024356001600160a01b03811681036101c1579060443590565b60c081019081106001600160401b03821117610ad357604052565b90601f801991011681019081106001600160401b03821117610ad357604052565b6001600160401b038111610ad357601f01601f191660200190565b929192611afd82611ad6565b91611b0b6040519384611ab5565b8294818452818301116101c1578281602093845f960137010152565b9080601f830112156101c157816020611b4293359101611af1565b90565b9060c06003198301126101c1576004356001600160401b0381116101c15782611b7091600401611b27565b91602435906001600160401b0382116101c157611b8f91600401611b27565b90604435906064356001600160a01b03811681036101c157906084356001600160a01b03811681036101c1579060a4356001600160a01b03811681036101c15790565b9181601f840112156101c1578235916001600160401b0383116101c1576020808501948460051b0101116101c157565b6001600160a01b03165f9081527f52c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace016020526040902090565b90600182811c92168015611c68575b6020831014611c5457565b634e487b7160e01b5f52602260045260245ffd5b91607f1691611c49565b60016001600160401b03195f5160206129005f395f51905f525416175f5160206129005f395f51905f5255565b9190811015611caf5760051b0190565b634e487b7160e01b5f52603260045260245ffd5b15611ccb5750565b632e8e416360e21b5f9081526001600160a01b0391909116600452602490fd5b805190611d6d60a86020830151602060408501519460608101519060a06080820151910151916040519788958587019a8b52604087015260608601526001600160601b03199060601b1660808501526001600160601b03199060601b1660948401528051918291018484015e81015f838201520301601f198101835282611ab5565b51902090565b91908201809211611d8057565b634e487b7160e01b5f52601160045260245ffd5b9060618203828111611d80578281116101c157828111611d8057604019830191838311611d80578282116101c1578135938281036040190160208110611f18575b5083116101c15783431015611f0957611ef09360e07f457734c71a6a3ef35a45b3a9aed14e0158cca171cd87330ecd1de4d4d61dc8f39260018060a01b031693845f52600160205260405f2090815491600183019055611e60604051611e3a81611a9a565b46815283602082015285604082015230606082015287608082015261056d36845f611af1565b7f19457468657265756d205369676e6564204d6573736167653a0a3332000000005f52601c52603c5f209560405194859346855260208501526040840152306060840152608083015260c060a08301528060c0830152805f848401375f828201840152601f01601f19168101030190a15f546001600160a01b031691611eea903690604190611af1565b916124cd565b15611efa57600190565b638baa579f60e01b5f5260045ffd5b6378fd448d60e01b5f5260045ffd5b5f959195199060200360031b1b16935f611dd5565b335f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff1615611f6557565b63e2517d3f60e01b5f52336004525f60245260445ffd5b335f9081527f549fe2656c81d2947b3b913f0a53b9ea86c71e049f3a1b8aa23c09a8a05cb8d4602052604090205460ff1615611fb457565b63e2517d3f60e01b5f52336004527f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a660245260445ffd5b5f8181525f5160206128e05f395f51905f526020908152604080832033845290915290205460ff161561201b5750565b63e2517d3f60e01b5f523360045260245260445ffd5b906001600160a01b03821615612066573015612053575f61205192612398565b565b632e8e416360e21b5f525f60045260245ffd5b634b637e8f60e11b5f525f60045260245ffd5b6001600160a01b038116919082156120ca5761209b816120a194301415611cc3565b5f612398565b5f5160206128005f395f51905f52545f5160206128805f395f51905f5254818111610d55575050565b63ec442f0560e01b5f525f60045260245ffd5b6001600160a01b0381165f9081527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d602052604090205460ff16612187576001600160a01b03165f8181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120805460ff191660011790553391907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d8180a4600190565b505f90565b6001600160a01b0381165f9081527f549fe2656c81d2947b3b913f0a53b9ea86c71e049f3a1b8aa23c09a8a05cb8d4602052604090205460ff16612187576001600160a01b03165f8181527f549fe2656c81d2947b3b913f0a53b9ea86c71e049f3a1b8aa23c09a8a05cb8d460205260408120805460ff191660011790553391907f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b5f8181525f5160206128e05f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff166122f6575f8181525f5160206128e05f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19166001179055339291907f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d9080a4600190565b50505f90565b5f8181525f5160206128e05f395f51905f52602090815260408083206001600160a01b038616845290915290205460ff16156122f6575f8181525f5160206128e05f395f51905f52602090815260408083206001600160a01b0395909516808452949091528120805460ff19169055339291907ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9080a4600190565b6001600160a01b0316908161244e5760207fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef916123e3855f5160206128805f395f51905f5254611d73565b5f5160206128805f395f51905f52555b6001600160a01b0316938461242c57805f5160206128805f395f51905f5254035f5160206128805f395f51905f52555b604051908152a3565b845f525f5160206128405f395f51905f52825260405f20818154019055612423565b815f525f5160206128405f395f51905f5260205260405f20548381106124b2577fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9184602092855f525f5160206128405f395f51905f5284520360405f20556123f3565b91905063391434e360e21b5f5260045260245260445260645ffd5b9190823b61251c57906124df916126da565b506004811015612508571591826124f557505090565b6001600160a01b03918216911614919050565b634e487b7160e01b5f52602160045260245ffd5b915f9261255261256085946040519283916020830195630b135d3f60e11b875260248401526040604484015260648301906119fc565b03601f198101835282611ab5565b51915afa61256c6126ab565b8161259d575b8161257b575090565b80516020808301935090820191909103126101c15751630b135d3f60e11b1490565b905060208151101590612572565b91906125b683611c02565b60018060a01b0382165f5260205260405f2054925f1984106125d9575b50505050565b828410612626576001600160a01b038116156118c1576001600160a01b038216156118ae5761260790611c02565b9060018060a01b03165f5260205260405f20910390555f8080806125d3565b508290637dc7a0d960e11b5f5260018060a01b031660045260245260445260645ffd5b91906001600160a01b03831615612066576001600160a01b0381169283156120ca5761267b8261205195301415611cc3565b612398565b60ff5f5160206129005f395f51905f525460401c161561269c57565b631afcd79f60e31b5f5260045ffd5b3d156126d5573d906126bc82611ad6565b916126ca6040519384611ab5565b82523d5f602084013e565b606090565b815191906041830361270a576127039250602082015190606060408401519301515f1a90612714565b9192909190565b50505f9160029190565b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08411612796579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa1561278b575f516001600160a01b0381161561278157905f905f90565b505f906001905f90565b6040513d5f823e3d90fd5b5050505f9160039190565b906127c557508051156127b657805190602001fd5b63d6bda27560e01b5f5260045ffd5b815115806127f6575b6127d6575090565b639996b31560e01b5f9081526001600160a01b0391909116600452602490fd5b50803b156127ce56fe0f070392f17d5f958cc1ac31867dabecfc5c9758b4a419a200803226d7155d0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0352c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0052c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace0452c63247e1f47db19d5ce0460030c497f067ca4cebf71ba98eeadabe20bace02360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc2b09e1c0c59fe9385b5a82c53989de8d40269d43d57b25f2a335ba398b6dc6ed02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00a2646970667358221220975927ff0ad60303a63b1bcd5b761caf365ff02241e467af41b865305d3895d664736f6c634300081c0033f0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00";var f="0x6080604052348015600e575f5ffd5b50611eef8061001c5f395ff3fe608060405234801561000f575f5ffd5b50600436106101c6575f3560e01c806355f804b3116100fe578063a217fddf1161009e578063d53913931161006e578063d5391393146103ed578063d547741f14610401578063e8a3d48514610414578063e985e9c51461041c575f5ffd5b8063a217fddf146103ad578063a22cb465146103b4578063b88d4fde146103c7578063c87b56dd146103da575f5ffd5b80637f345710116100d95780637f3457101461036b57806391d148541461037f578063938e3d7b1461039257806395d89b41146103a5575f5ffd5b806355f804b3146103325780636352211e1461034557806370a0823114610358575f5ffd5b8063248a9ca31161016957806336568abe1161014457806336568abe146102e657806340c10f19146102f957806342842e0e1461030c57806342966c681461031f575f5ffd5b8063248a9ca3146102805780632a55205a146102a15780632f2ff15d146102d3575f5ffd5b8063081812fc116101a4578063081812fc1461021c578063095ea7b314610247578063162094c41461025a57806323b872dd1461026d575f5ffd5b806301ffc9a7146101ca57806306fdde03146101f2578063077f224a14610207575b5f5ffd5b6101dd6101d8366004611881565b61042f565b60405190151581526020015b60405180910390f35b6101fa61043f565b6040516101e991906118ca565b61021a6102153660046119a0565b6104e0565b005b61022f61022a366004611a14565b610639565b6040516001600160a01b0390911681526020016101e9565b61021a610255366004611a2b565b61064d565b61021a610268366004611a53565b61065c565b61021a61027b366004611a97565b610682565b61029361028e366004611a14565b610710565b6040519081526020016101e9565b6102b46102af366004611ad1565b610730565b604080516001600160a01b0390931683526020830191909152016101e9565b61021a6102e1366004611af1565b6107f3565b61021a6102f4366004611af1565b61080f565b61021a610307366004611a2b565b610842565b61021a61031a366004611a97565b610863565b61021a61032d366004611a14565b61087d565b61021a610340366004611b1b565b6108f7565b61022f610353366004611a14565b610919565b610293610366366004611b4d565b610923565b6102935f516020611e5a5f395f51905f5281565b6101dd61038d366004611af1565b61097b565b61021a6103a0366004611b1b565b6109b1565b6101fa6109d4565b6102935f81565b61021a6103c2366004611b66565b610a12565b61021a6103d5366004611b9f565b610a1d565b6101fa6103e8366004611a14565b610a35565b6102935f516020611e7a5f395f51905f5281565b61021a61040f366004611af1565b610aaa565b6101fa610ac6565b6101dd61042a366004611c16565b610b56565b5f61043982610ba2565b92915050565b5f516020611e3a5f395f51905f52805460609190819061045e90611c3e565b80601f016020809104026020016040519081016040528092919081815260200182805461048a90611c3e565b80156104d55780601f106104ac576101008083540402835291602001916104d5565b820191905f5260205f20905b8154815290600101906020018083116104b857829003601f168201915b505050505091505090565b5f6104e9610bc6565b805490915060ff600160401b820416159067ffffffffffffffff165f811580156105105750825b90505f8267ffffffffffffffff16600114801561052c5750303b155b90508115801561053a575080155b156105585760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561058257845460ff60401b1916600160401b1785555b61058c8888610bee565b610594610c00565b61059c610c00565b6105a4610c00565b6105ae5f87610c0a565b506105c65f516020611e7a5f395f51905f5287610c0a565b506105de5f516020611e5a5f395f51905f5287610c0a565b506105e9865f610cab565b831561062f57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b5f61064382610d6d565b5061043982610da4565b610658828233610ddd565b5050565b5f516020611e5a5f395f51905f5261067381610dea565b61067d8383610df7565b505050565b6001600160a01b0382166106b057604051633250574960e11b81525f60048201526024015b60405180910390fd5b5f6106bc838333610e69565b9050836001600160a01b0316816001600160a01b03161461070a576040516364283d7b60e01b81526001600160a01b03808616600483015260248201849052821660448201526064016106a7565b50505050565b5f9081525f516020611e9a5f395f51905f52602052604090206001015490565b5f8281527fdaedc9ab023613a7caf35e703657e986ccfad7e3eb0af93a2853f8d65dd86b0160205260408120805482917fdaedc9ab023613a7caf35e703657e986ccfad7e3eb0af93a2853f8d65dd86b00916001600160a01b03811690600160a01b90046001600160601b0316816107c257505081546001600160a01b03811690600160a01b90046001600160601b03165b5f6127106107d96001600160601b0384168a611c76565b6107e39190611c99565b9299929850919650505050505050565b6107fc82610710565b61080581610dea565b61070a8383610c0a565b6001600160a01b03811633146108385760405163334bd91960e11b815260040160405180910390fd5b61067d8282610f6b565b5f516020611e7a5f395f51905f5261085981610dea565b61067d8383610fe4565b61067d83838360405180602001604052805f815250610a1d565b5f61088782611045565b905061089481338461107e565b806108b157506108b15f516020611e7a5f395f51905f523361097b565b6108ee5760405162461bcd60e51b815260206004820152600e60248201526d139bdd08185d5d1a1bdc9a5e995960921b60448201526064016106a7565b610658826110e2565b5f516020611e5a5f395f51905f5261090e81610dea565b5f61067d8382611cfc565b5f61043982610d6d565b5f5f516020611e3a5f395f51905f526001600160a01b03831661095b576040516322718ad960e21b81525f60048201526024016106a7565b6001600160a01b039092165f908152600390920160205250604090205490565b5f9182525f516020611e9a5f395f51905f52602090815260408084206001600160a01b0393909316845291905290205460ff1690565b5f516020611e5a5f395f51905f526109c881610dea565b600161067d8382611cfc565b7f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930180546060915f516020611e3a5f395f51905f529161045e90611c3e565b61065833838361111a565b610a28848484610682565b61070a33858585856111f2565b6060610a4082610d6d565b505f610a4a61131a565b90505f610a5684611328565b905081515f03610a67579392505050565b805115610a99578181604051602001610a81929190611dce565b60405160208183030381529060405292505050919050565b610aa2846113eb565b949350505050565b610ab382610710565b610abc81610dea565b61070a8383610f6b565b606060018054610ad590611c3e565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0190611c3e565b8015610b4c5780601f10610b2357610100808354040283529160200191610b4c565b820191905f5260205f20905b815481529060010190602001808311610b2f57829003601f168201915b5050505050905090565b6001600160a01b039182165f9081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793056020908152604080832093909416825291909152205460ff1690565b5f6001600160e01b03198216637965db0b60e01b1480610439575061043982611450565b5f807ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00610439565b610bf6611474565b6106588282611499565b610c08611474565b565b5f5f516020611e9a5f395f51905f52610c23848461097b565b610ca2575f848152602082815260408083206001600160a01b03871684529091529020805460ff19166001179055610c583390565b6001600160a01b0316836001600160a01b0316857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610439565b5f915050610439565b7fdaedc9ab023613a7caf35e703657e986ccfad7e3eb0af93a2853f8d65dd86b006127106001600160601b038316811015610d0b57604051636f483d0960e01b81526001600160601b0384166004820152602481018290526044016106a7565b6001600160a01b038416610d3457604051635b6cc80560e11b81525f60048201526024016106a7565b50604080518082019091526001600160a01b039093168084526001600160601b039092166020909301839052600160a01b909202179055565b5f5f610d7883611045565b90506001600160a01b03811661043957604051637e27328960e01b8152600481018490526024016106a7565b5f9081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930460205260409020546001600160a01b031690565b61067d83838360016114c9565b610df481336115dc565b50565b5f8281527f0542a41881ee128a365a727b282c86fa859579490b9bb45aab8503648c8e790060208190526040909120610e308382611cfc565b506040518381527ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce79060200160405180910390a1505050565b5f5f516020611e3a5f395f51905f5281610e8285611045565b90506001600160a01b03841615610e9e57610e9e818587611615565b6001600160a01b03811615610eda57610eb95f865f5f6114c9565b6001600160a01b0381165f908152600383016020526040902080545f190190555b6001600160a01b03861615610f0a576001600160a01b0386165f9081526003830160205260409020805460010190555b5f85815260028301602052604080822080546001600160a01b0319166001600160a01b038a811691821790925591518893918516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a495945050505050565b5f5f516020611e9a5f395f51905f52610f84848461097b565b15610ca2575f848152602082815260408083206001600160a01b0387168085529252808320805460ff1916905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610439565b6001600160a01b03821661100d57604051633250574960e11b81525f60048201526024016106a7565b5f61101983835f610e69565b90506001600160a01b0381161561067d576040516339e3563760e11b81525f60048201526024016106a7565b5f9081527f80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab007930260205260409020546001600160a01b031690565b5f6001600160a01b03831615801590610aa25750826001600160a01b0316846001600160a01b031614806110b757506110b78484610b56565b80610aa25750826001600160a01b03166110d083610da4565b6001600160a01b031614949350505050565b5f6110ee5f835f610e69565b90506001600160a01b03811661065857604051637e27328960e01b8152600481018390526024016106a7565b5f516020611e3a5f395f51905f526001600160a01b0384166111515760405163a9fbf51f60e01b81525f60048201526024016106a7565b6001600160a01b03831661118357604051630b61174360e31b81526001600160a01b03841660048201526024016106a7565b6001600160a01b038481165f818152600584016020908152604080832094881680845294825291829020805460ff191687151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a350505050565b6001600160a01b0383163b1561131357604051630a85bd0160e11b81526001600160a01b0384169063150b7a0290611234908890889087908790600401611de2565b6020604051808303815f875af192505050801561126e575060408051601f3d908101601f1916820190925261126b91810190611e1e565b60015b6112d5573d80801561129b576040519150601f19603f3d011682016040523d82523d5f602084013e6112a0565b606091505b5080515f036112cd57604051633250574960e11b81526001600160a01b03851660048201526024016106a7565b805160208201fd5b6001600160e01b03198116630a85bd0160e11b1461131157604051633250574960e11b81526001600160a01b03851660048201526024016106a7565b505b5050505050565b60605f8054610ad590611c3e565b5f8181527f0542a41881ee128a365a727b282c86fa859579490b9bb45aab8503648c8e7900602081905260409091208054606092919061136790611c3e565b80601f016020809104026020016040519081016040528092919081815260200182805461139390611c3e565b80156113de5780601f106113b5576101008083540402835291602001916113de565b820191905f5260205f20905b8154815290600101906020018083116113c157829003601f168201915b5050505050915050919050565b60606113f682610d6d565b505f61140061131a565b90505f81511161141e5760405180602001604052805f815250611449565b8061142884611679565b604051602001611439929190611dce565b6040516020818303038152906040525b9392505050565b5f6001600160e01b0319821663152a902d60e11b1480610439575061043982611709565b61147c61172d565b610c0857604051631afcd79f60e31b815260040160405180910390fd5b6114a1611474565b5f516020611e3a5f395f51905f52806114ba8482611cfc565b506001810161070a8382611cfc565b5f516020611e3a5f395f51905f5281806114eb57506001600160a01b03831615155b156115ac575f6114fa85610d6d565b90506001600160a01b038416158015906115265750836001600160a01b0316816001600160a01b031614155b801561153957506115378185610b56565b155b156115625760405163a9fbf51f60e01b81526001600160a01b03851660048201526024016106a7565b82156115aa5784866001600160a01b0316826001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45b505b5f93845260040160205250506040902080546001600160a01b0319166001600160a01b0392909216919091179055565b6115e6828261097b565b6106585760405163e2517d3f60e01b81526001600160a01b0382166004820152602481018390526044016106a7565b61162083838361107e565b61067d576001600160a01b03831661164e57604051637e27328960e01b8152600481018290526024016106a7565b60405163177e802f60e01b81526001600160a01b0383166004820152602481018290526044016106a7565b60605f61168583611746565b60010190505f8167ffffffffffffffff8111156116a4576116a46118dc565b6040519080825280601f01601f1916602001820160405280156116ce576020820181803683370190505b5090508181016020015b5f19016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a85049450846116d857509392505050565b5f6001600160e01b03198216632483248360e11b148061043957506104398261181d565b5f611736610bc6565b54600160401b900460ff16919050565b5f8072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106117845772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef810000000083106117b0576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc1000083106117ce57662386f26fc10000830492506010015b6305f5e10083106117e6576305f5e100830492506008015b61271083106117fa57612710830492506004015b6064831061180c576064830492506002015b600a83106104395760010192915050565b5f6001600160e01b031982166380ac58cd60e01b148061184d57506001600160e01b03198216635b5e139f60e01b145b8061043957506301ffc9a760e01b6001600160e01b0319831614610439565b6001600160e01b031981168114610df4575f5ffd5b5f60208284031215611891575f5ffd5b81356114498161186c565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f611449602083018461189c565b634e487b7160e01b5f52604160045260245ffd5b5f5f67ffffffffffffffff84111561190a5761190a6118dc565b50604051601f19601f85018116603f0116810181811067ffffffffffffffff82111715611939576119396118dc565b604052838152905080828401851015611950575f5ffd5b838360208301375f60208583010152509392505050565b5f82601f830112611976575f5ffd5b611449838335602085016118f0565b80356001600160a01b038116811461199b575f5ffd5b919050565b5f5f5f606084860312156119b2575f5ffd5b833567ffffffffffffffff8111156119c8575f5ffd5b6119d486828701611967565b935050602084013567ffffffffffffffff8111156119f0575f5ffd5b6119fc86828701611967565b925050611a0b60408501611985565b90509250925092565b5f60208284031215611a24575f5ffd5b5035919050565b5f5f60408385031215611a3c575f5ffd5b611a4583611985565b946020939093013593505050565b5f5f60408385031215611a64575f5ffd5b82359150602083013567ffffffffffffffff811115611a81575f5ffd5b611a8d85828601611967565b9150509250929050565b5f5f5f60608486031215611aa9575f5ffd5b611ab284611985565b9250611ac060208501611985565b929592945050506040919091013590565b5f5f60408385031215611ae2575f5ffd5b50508035926020909101359150565b5f5f60408385031215611b02575f5ffd5b82359150611b1260208401611985565b90509250929050565b5f60208284031215611b2b575f5ffd5b813567ffffffffffffffff811115611b41575f5ffd5b610aa284828501611967565b5f60208284031215611b5d575f5ffd5b61144982611985565b5f5f60408385031215611b77575f5ffd5b611b8083611985565b915060208301358015158114611b94575f5ffd5b809150509250929050565b5f5f5f5f60808587031215611bb2575f5ffd5b611bbb85611985565b9350611bc960208601611985565b925060408501359150606085013567ffffffffffffffff811115611beb575f5ffd5b8501601f81018713611bfb575f5ffd5b611c0a878235602084016118f0565b91505092959194509250565b5f5f60408385031215611c27575f5ffd5b611c3083611985565b9150611b1260208401611985565b600181811c90821680611c5257607f821691505b602082108103611c7057634e487b7160e01b5f52602260045260245ffd5b50919050565b808202811582820484141761043957634e487b7160e01b5f52601160045260245ffd5b5f82611cb357634e487b7160e01b5f52601260045260245ffd5b500490565b601f82111561067d57805f5260205f20601f840160051c81016020851015611cdd5750805b601f840160051c820191505b81811015611313575f8155600101611ce9565b815167ffffffffffffffff811115611d1657611d166118dc565b611d2a81611d248454611c3e565b84611cb8565b6020601f821160018114611d5c575f8315611d455750848201515b5f19600385901b1c1916600184901b178455611313565b5f84815260208120601f198516915b82811015611d8b5787850151825560209485019460019092019101611d6b565b5084821015611da857868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b5f81518060208401855e5f93019283525090919050565b5f610aa2611ddc8386611db7565b84611db7565b6001600160a01b03858116825284166020820152604081018390526080606082018190525f90611e149083018461189c565b9695505050505050565b5f60208284031215611e2e575f5ffd5b81516114498161186c56fe80bb2b638cc20bc4d0a60d66940f3ab4a00c1d7b313497ca82fb0b4ab00793007804d923f43a17d325d77e781528e0793b2edd9890ab45fc64efd7b4b427744c9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a602dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800a26469706673582212205147f647ce62081c0d57aef28c61976bbe6f31db3a73a72da604e6e2ed0e96b564736f6c634300081b0033",r="0x60a0604052604051610d77380380610d7783398101604081905261002291610366565b82818051610043576040516330a289cf60e21b815260040160405180910390fd5b61004d82826100ab565b50508160405161005c9061032a565b6001600160a01b039091168152602001604051809103905ff080158015610085573d5f5f3e3d5ffd5b506001600160a01b03166080526100a361009e60805190565b610109565b505050610437565b6100b482610176565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156100fd576100f882826101f4565b505050565b610105610295565b5050565b7f7e644d79422f17c01e4894b5f4f588d331ebfa28653d42ae832dc59e38c9798f6101485f516020610d575f395f51905f52546001600160a01b031690565b604080516001600160a01b03928316815291841660208301520160405180910390a1610173816102b6565b50565b806001600160a01b03163b5f036101b057604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b807f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b80546001600160a01b0319166001600160a01b039290921691909117905550565b60605f61020184846102f3565b905080801561022257505f3d118061022257505f846001600160a01b03163b115b156102375761022f610306565b91505061028f565b801561026157604051639996b31560e01b81526001600160a01b03851660048201526024016101a7565b3d156102745761026f61031f565b61028d565b60405163d6bda27560e01b815260040160405180910390fd5b505b92915050565b34156102b45760405163b398979f60e01b815260040160405180910390fd5b565b6001600160a01b0381166102df57604051633173bdd160e11b81525f60048201526024016101a7565b805f516020610d575f395f51905f526101d3565b5f5f5f835160208501865af49392505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b6104e68061087183390190565b80516001600160a01b038116811461034d575f5ffd5b919050565b634e487b7160e01b5f52604160045260245ffd5b5f5f5f60608486031215610378575f5ffd5b61038184610337565b925061038f60208501610337565b60408501519092506001600160401b038111156103aa575f5ffd5b8401601f810186136103ba575f5ffd5b80516001600160401b038111156103d3576103d3610352565b604051601f8201601f19908116603f011681016001600160401b038111828210171561040157610401610352565b604052818152828201602001881015610418575f5ffd5b8160208401602083015e5f602083830101528093505050509250925092565b60805161042361044e5f395f601001526104235ff3fe608060405261000c61000e565b005b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316330361007a575f356001600160e01b03191663278f794360e11b14610070576040516334ad5dbb60e21b815260040160405180910390fd5b610078610082565b565b6100786100b0565b5f8061009136600481846102e1565b81019061009e919061031c565b915091506100ac82826100c0565b5050565b6100786100bb61011a565b610151565b6100c98261016f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a28051156101125761010d82826101ea565b505050565b6100ac61028b565b5f61014c7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc546001600160a01b031690565b905090565b365f5f375f5f365f845af43d5f5f3e80801561016b573d5ff35b3d5ffd5b806001600160a01b03163b5f036101a957604051634c9c8ce360e01b81526001600160a01b03821660048201526024015b60405180910390fd5b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80546001600160a01b0319166001600160a01b0392909216919091179055565b60605f6101f784846102aa565b905080801561021857505f3d118061021857505f846001600160a01b03163b115b1561022d576102256102bd565b915050610285565b801561025757604051639996b31560e01b81526001600160a01b03851660048201526024016101a0565b3d1561026a576102656102d6565b610283565b60405163d6bda27560e01b815260040160405180910390fd5b505b92915050565b34156100785760405163b398979f60e01b815260040160405180910390fd5b5f5f5f835160208501865af49392505050565b6040513d81523d5f602083013e3d602001810160405290565b6040513d5f823e3d81fd5b5f5f858511156102ef575f5ffd5b838611156102fb575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52604160045260245ffd5b5f5f6040838503121561032d575f5ffd5b82356001600160a01b0381168114610343575f5ffd5b9150602083013567ffffffffffffffff81111561035e575f5ffd5b8301601f8101851361036e575f5ffd5b803567ffffffffffffffff81111561038857610388610308565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103b7576103b7610308565b6040528181528282016020018710156103ce575f5ffd5b816020840160208301375f60208383010152809350505050925092905056fea2646970667358221220389ba92973820b0bc3533754569956347c65f33467dda9a480cc32d8207b7f0064736f6c634300081b00336080604052348015600e575f5ffd5b506040516104e63803806104e6833981016040819052602b9160b4565b806001600160a01b038116605857604051631e4fbdf760e01b81525f600482015260240160405180910390fd5b605f816065565b505060df565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f6020828403121560c3575f5ffd5b81516001600160a01b038116811460d8575f5ffd5b9392505050565b6103fa806100ec5f395ff3fe608060405260043610610049575f3560e01c8063715018a61461004d5780638da5cb5b146100635780639623609d1461008e578063ad3cb1cc146100a1578063f2fde38b146100de575b5f5ffd5b348015610058575f5ffd5b506100616100fd565b005b34801561006e575f5ffd5b505f546040516001600160a01b0390911681526020015b60405180910390f35b61006161009c366004610260565b610110565b3480156100ac575f5ffd5b506100d1604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516100859190610365565b3480156100e9575f5ffd5b506100616100f836600461037e565b61017b565b6101056101bd565b61010e5f6101e9565b565b6101186101bd565b60405163278f794360e11b81526001600160a01b03841690634f1ef2869034906101489086908690600401610399565b5f604051808303818588803b15801561015f575f5ffd5b505af1158015610171573d5f5f3e3d5ffd5b5050505050505050565b6101836101bd565b6001600160a01b0381166101b157604051631e4fbdf760e01b81525f60048201526024015b60405180910390fd5b6101ba816101e9565b50565b5f546001600160a01b0316331461010e5760405163118cdaa760e01b81523360048201526024016101a8565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03811681146101ba575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b5f5f5f60608486031215610272575f5ffd5b833561027d81610238565b9250602084013561028d81610238565b9150604084013567ffffffffffffffff8111156102a8575f5ffd5b8401601f810186136102b8575f5ffd5b803567ffffffffffffffff8111156102d2576102d261024c565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156103015761030161024c565b604052818152828201602001881015610318575f5ffd5b816020840160208301375f602083830101528093505050509250925092565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b602081525f6103776020830184610337565b9392505050565b5f6020828403121561038e575f5ffd5b813561037781610238565b6001600160a01b03831681526040602082018190525f906103bc90830184610337565b94935050505056fea2646970667358221220315584d32f856f54fc4b4b0d10683ad233151cceb7859784ff684aaf5489495364736f6c634300081b0033b53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103";var s=[{type:"function",inputs:[],name:"DEFAULT_ADMIN_ROLE",outputs:[{name:"",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[],name:"MINTER_ROLE",outputs:[{name:"",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[],name:"URI_SETTER_ROLE",outputs:[{name:"",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[{name:"to",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"approve",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"owner",internalType:"address",type:"address"}],name:"balanceOf",outputs:[{name:"",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"burn",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"contractURI",outputs:[{name:"",internalType:"string",type:"string"}],stateMutability:"view"},{type:"function",inputs:[{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"getApproved",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"role",internalType:"bytes32",type:"bytes32"}],name:"getRoleAdmin",outputs:[{name:"",internalType:"bytes32",type:"bytes32"}],stateMutability:"view"},{type:"function",inputs:[{name:"role",internalType:"bytes32",type:"bytes32"},{name:"account",internalType:"address",type:"address"}],name:"grantRole",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"role",internalType:"bytes32",type:"bytes32"},{name:"account",internalType:"address",type:"address"}],name:"hasRole",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"name_",internalType:"string",type:"string"},{name:"symbol_",internalType:"string",type:"string"},{name:"admin",internalType:"address",type:"address"}],name:"initialize",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"owner",internalType:"address",type:"address"},{name:"operator",internalType:"address",type:"address"}],name:"isApprovedForAll",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[{name:"to",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"mint",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[],name:"name",outputs:[{name:"",internalType:"string",type:"string"}],stateMutability:"view"},{type:"function",inputs:[{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"ownerOf",outputs:[{name:"",internalType:"address",type:"address"}],stateMutability:"view"},{type:"function",inputs:[{name:"role",internalType:"bytes32",type:"bytes32"},{name:"callerConfirmation",internalType:"address",type:"address"}],name:"renounceRole",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"role",internalType:"bytes32",type:"bytes32"},{name:"account",internalType:"address",type:"address"}],name:"revokeRole",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"salePrice",internalType:"uint256",type:"uint256"}],name:"royaltyInfo",outputs:[{name:"receiver",internalType:"address",type:"address"},{name:"amount",internalType:"uint256",type:"uint256"}],stateMutability:"view"},{type:"function",inputs:[{name:"from",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"from",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"data",internalType:"bytes",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"operator",internalType:"address",type:"address"},{name:"approved",internalType:"bool",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"uri",internalType:"string",type:"string"}],name:"setBaseURI",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"uri",internalType:"string",type:"string"}],name:"setContractURI",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"uri",internalType:"string",type:"string"}],name:"setTokenURI",outputs:[],stateMutability:"nonpayable"},{type:"function",inputs:[{name:"interfaceId",internalType:"bytes4",type:"bytes4"}],name:"supportsInterface",outputs:[{name:"",internalType:"bool",type:"bool"}],stateMutability:"view"},{type:"function",inputs:[],name:"symbol",outputs:[{name:"",internalType:"string",type:"string"}],stateMutability:"view"},{type:"function",inputs:[{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"tokenURI",outputs:[{name:"",internalType:"string",type:"string"}],stateMutability:"view"},{type:"function",inputs:[{name:"from",internalType:"address",type:"address"},{name:"to",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"transferFrom",outputs:[],stateMutability:"nonpayable"},{type:"event",anonymous:!1,inputs:[{name:"owner",internalType:"address",type:"address",indexed:!0},{name:"approved",internalType:"address",type:"address",indexed:!0},{name:"tokenId",internalType:"uint256",type:"uint256",indexed:!0}],name:"Approval"},{type:"event",anonymous:!1,inputs:[{name:"owner",internalType:"address",type:"address",indexed:!0},{name:"operator",internalType:"address",type:"address",indexed:!0},{name:"approved",internalType:"bool",type:"bool",indexed:!1}],name:"ApprovalForAll"},{type:"event",anonymous:!1,inputs:[{name:"_fromTokenId",internalType:"uint256",type:"uint256",indexed:!1},{name:"_toTokenId",internalType:"uint256",type:"uint256",indexed:!1}],name:"BatchMetadataUpdate"},{type:"event",anonymous:!1,inputs:[{name:"version",internalType:"uint64",type:"uint64",indexed:!1}],name:"Initialized"},{type:"event",anonymous:!1,inputs:[{name:"_tokenId",internalType:"uint256",type:"uint256",indexed:!1}],name:"MetadataUpdate"},{type:"event",anonymous:!1,inputs:[{name:"role",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"previousAdminRole",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"newAdminRole",internalType:"bytes32",type:"bytes32",indexed:!0}],name:"RoleAdminChanged"},{type:"event",anonymous:!1,inputs:[{name:"role",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"account",internalType:"address",type:"address",indexed:!0},{name:"sender",internalType:"address",type:"address",indexed:!0}],name:"RoleGranted"},{type:"event",anonymous:!1,inputs:[{name:"role",internalType:"bytes32",type:"bytes32",indexed:!0},{name:"account",internalType:"address",type:"address",indexed:!0},{name:"sender",internalType:"address",type:"address",indexed:!0}],name:"RoleRevoked"},{type:"event",anonymous:!1,inputs:[{name:"from",internalType:"address",type:"address",indexed:!0},{name:"to",internalType:"address",type:"address",indexed:!0},{name:"tokenId",internalType:"uint256",type:"uint256",indexed:!0}],name:"Transfer"},{type:"error",inputs:[],name:"AccessControlBadConfirmation"},{type:"error",inputs:[{name:"account",internalType:"address",type:"address"},{name:"neededRole",internalType:"bytes32",type:"bytes32"}],name:"AccessControlUnauthorizedAccount"},{type:"error",inputs:[{name:"numerator",internalType:"uint256",type:"uint256"},{name:"denominator",internalType:"uint256",type:"uint256"}],name:"ERC2981InvalidDefaultRoyalty"},{type:"error",inputs:[{name:"receiver",internalType:"address",type:"address"}],name:"ERC2981InvalidDefaultRoyaltyReceiver"},{type:"error",inputs:[{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"numerator",internalType:"uint256",type:"uint256"},{name:"denominator",internalType:"uint256",type:"uint256"}],name:"ERC2981InvalidTokenRoyalty"},{type:"error",inputs:[{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"receiver",internalType:"address",type:"address"}],name:"ERC2981InvalidTokenRoyaltyReceiver"},{type:"error",inputs:[{name:"sender",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"},{name:"owner",internalType:"address",type:"address"}],name:"ERC721IncorrectOwner"},{type:"error",inputs:[{name:"operator",internalType:"address",type:"address"},{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"ERC721InsufficientApproval"},{type:"error",inputs:[{name:"approver",internalType:"address",type:"address"}],name:"ERC721InvalidApprover"},{type:"error",inputs:[{name:"operator",internalType:"address",type:"address"}],name:"ERC721InvalidOperator"},{type:"error",inputs:[{name:"owner",internalType:"address",type:"address"}],name:"ERC721InvalidOwner"},{type:"error",inputs:[{name:"receiver",internalType:"address",type:"address"}],name:"ERC721InvalidReceiver"},{type:"error",inputs:[{name:"sender",internalType:"address",type:"address"}],name:"ERC721InvalidSender"},{type:"error",inputs:[{name:"tokenId",internalType:"uint256",type:"uint256"}],name:"ERC721NonexistentToken"},{type:"error",inputs:[],name:"InvalidInitialization"},{type:"error",inputs:[],name:"NotInitializing"}];var i=[{type:"constructor",inputs:[{name:"_logic",internalType:"address",type:"address"},{name:"initialOwner",internalType:"address",type:"address"},{name:"_data",internalType:"bytes",type:"bytes"}],stateMutability:"payable"},{type:"fallback",stateMutability:"payable"},{type:"event",anonymous:!1,inputs:[{name:"previousAdmin",internalType:"address",type:"address",indexed:!1},{name:"newAdmin",internalType:"address",type:"address",indexed:!1}],name:"AdminChanged"},{type:"event",anonymous:!1,inputs:[{name:"implementation",internalType:"address",type:"address",indexed:!0}],name:"Upgraded"},{type:"error",inputs:[{name:"target",internalType:"address",type:"address"}],name:"AddressEmptyCode"},{type:"error",inputs:[{name:"admin",internalType:"address",type:"address"}],name:"ERC1967InvalidAdmin"},{type:"error",inputs:[{name:"implementation",internalType:"address",type:"address"}],name:"ERC1967InvalidImplementation"},{type:"error",inputs:[],name:"ERC1967NonPayable"},{type:"error",inputs:[],name:"ERC1967ProxyUninitialized"},{type:"error",inputs:[],name:"FailedCall"},{type:"error",inputs:[],name:"ProxyDeniedAdminAccess"}];var o=s,u=f,l=s,c=f;0&&(module.exports={erc20GatedAbi,erc20GatedBytecode,managedErc721Abi,managedErc721Bytecode,managedErc721UpgradeableAbi,managedErc721UpgradeableBytecode,transparentUpgradeableProxyAbi,transparentUpgradeableProxyBytecode});
2
+ //# sourceMappingURL=index.cjs.map