react-native-agentic-ai 0.0.2 → 0.3.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.
- package/LICENSE +20 -0
- package/README.md +252 -14
- package/lib/module/components/AIAgent.js +185 -0
- package/lib/module/components/AIAgent.js.map +1 -0
- package/lib/module/components/AgentChatBar.js +268 -0
- package/lib/module/components/AgentChatBar.js.map +1 -0
- package/lib/module/components/AgentOverlay.js +53 -0
- package/lib/module/components/AgentOverlay.js.map +1 -0
- package/lib/module/core/AgentRuntime.js +640 -0
- package/lib/module/core/AgentRuntime.js.map +1 -0
- package/lib/module/core/FiberTreeWalker.js +362 -0
- package/lib/module/core/FiberTreeWalker.js.map +1 -0
- package/lib/module/core/MCPBridge.js +98 -0
- package/lib/module/core/MCPBridge.js.map +1 -0
- package/lib/module/core/ScreenDehydrator.js +46 -0
- package/lib/module/core/ScreenDehydrator.js.map +1 -0
- package/lib/module/core/systemPrompt.js +164 -0
- package/lib/module/core/systemPrompt.js.map +1 -0
- package/lib/module/core/types.js +2 -0
- package/lib/module/core/types.js.map +1 -0
- package/lib/module/hooks/useAction.js +32 -0
- package/lib/module/hooks/useAction.js.map +1 -0
- package/lib/module/index.js +17 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/providers/GeminiProvider.js +294 -0
- package/lib/module/providers/GeminiProvider.js.map +1 -0
- package/lib/module/utils/logger.js +17 -0
- package/lib/module/utils/logger.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/components/AIAgent.d.ts +65 -0
- package/lib/typescript/src/components/AIAgent.d.ts.map +1 -0
- package/lib/typescript/src/components/AgentChatBar.d.ts +15 -0
- package/lib/typescript/src/components/AgentChatBar.d.ts.map +1 -0
- package/lib/typescript/src/components/AgentOverlay.d.ts +10 -0
- package/lib/typescript/src/components/AgentOverlay.d.ts.map +1 -0
- package/lib/typescript/src/core/AgentRuntime.d.ts +53 -0
- package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -0
- package/lib/typescript/src/core/FiberTreeWalker.d.ts +31 -0
- package/lib/typescript/src/core/FiberTreeWalker.d.ts.map +1 -0
- package/lib/typescript/src/core/MCPBridge.d.ts +23 -0
- package/lib/typescript/src/core/MCPBridge.d.ts.map +1 -0
- package/lib/typescript/src/core/ScreenDehydrator.d.ts +20 -0
- package/lib/typescript/src/core/ScreenDehydrator.d.ts.map +1 -0
- package/lib/typescript/src/core/systemPrompt.d.ts +9 -0
- package/lib/typescript/src/core/systemPrompt.d.ts.map +1 -0
- package/lib/typescript/src/core/types.d.ts +176 -0
- package/lib/typescript/src/core/types.d.ts.map +1 -0
- package/lib/typescript/src/hooks/useAction.d.ts +13 -0
- package/lib/typescript/src/hooks/useAction.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +10 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/providers/GeminiProvider.d.ts +43 -0
- package/lib/typescript/src/providers/GeminiProvider.d.ts.map +1 -0
- package/lib/typescript/src/utils/logger.d.ts +7 -0
- package/lib/typescript/src/utils/logger.d.ts.map +1 -0
- package/package.json +135 -12
- package/src/components/AIAgent.tsx +262 -0
- package/src/components/AgentChatBar.tsx +258 -0
- package/src/components/AgentOverlay.tsx +48 -0
- package/src/core/AgentRuntime.ts +661 -0
- package/src/core/FiberTreeWalker.ts +404 -0
- package/src/core/MCPBridge.ts +110 -0
- package/src/core/ScreenDehydrator.ts +53 -0
- package/src/core/systemPrompt.ts +162 -0
- package/src/core/types.ts +233 -0
- package/src/hooks/useAction.ts +40 -0
- package/src/index.ts +22 -0
- package/src/providers/GeminiProvider.ts +283 -0
- package/src/utils/logger.ts +21 -0
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* AgentChatBar — Floating, draggable, compressible chat widget.
|
|
5
|
+
* Does not block underlying UI natively.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import { useState, useRef } from 'react';
|
|
9
|
+
import { View, TextInput, Pressable, Text, StyleSheet, Animated, PanResponder, useWindowDimensions } from 'react-native';
|
|
10
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
11
|
+
export function AgentChatBar({
|
|
12
|
+
onSend,
|
|
13
|
+
isThinking,
|
|
14
|
+
lastResult,
|
|
15
|
+
language,
|
|
16
|
+
onDismiss
|
|
17
|
+
}) {
|
|
18
|
+
const [text, setText] = useState('');
|
|
19
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
20
|
+
const {
|
|
21
|
+
height
|
|
22
|
+
} = useWindowDimensions();
|
|
23
|
+
const isArabic = language === 'ar';
|
|
24
|
+
|
|
25
|
+
// Initial position: Bottom right for FAB, Bottom center for Expanded
|
|
26
|
+
// For simplicity, we just initialize to a safe generic spot on screen.
|
|
27
|
+
const pan = useRef(new Animated.ValueXY({
|
|
28
|
+
x: 10,
|
|
29
|
+
y: height - 200
|
|
30
|
+
})).current;
|
|
31
|
+
|
|
32
|
+
// PanResponder for dragging the widget
|
|
33
|
+
const panResponder = useRef(PanResponder.create({
|
|
34
|
+
onMoveShouldSetPanResponder: (_, gestureState) => {
|
|
35
|
+
// Only trigger drag if moving more than 5px (allows taps to register inside)
|
|
36
|
+
return Math.abs(gestureState.dx) > 5 || Math.abs(gestureState.dy) > 5;
|
|
37
|
+
},
|
|
38
|
+
onPanResponderGrant: () => {
|
|
39
|
+
pan.setOffset({
|
|
40
|
+
x: pan.x._value,
|
|
41
|
+
y: pan.y._value
|
|
42
|
+
});
|
|
43
|
+
pan.setValue({
|
|
44
|
+
x: 0,
|
|
45
|
+
y: 0
|
|
46
|
+
});
|
|
47
|
+
},
|
|
48
|
+
onPanResponderMove: Animated.event([null, {
|
|
49
|
+
dx: pan.x,
|
|
50
|
+
dy: pan.y
|
|
51
|
+
}], {
|
|
52
|
+
useNativeDriver: false
|
|
53
|
+
}),
|
|
54
|
+
onPanResponderRelease: () => {
|
|
55
|
+
pan.flattenOffset();
|
|
56
|
+
}
|
|
57
|
+
})).current;
|
|
58
|
+
const handleSend = () => {
|
|
59
|
+
if (text.trim() && !isThinking) {
|
|
60
|
+
onSend(text.trim());
|
|
61
|
+
setText('');
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
// ─── Compressed State (FAB) ───
|
|
66
|
+
if (!isExpanded) {
|
|
67
|
+
return /*#__PURE__*/_jsx(Animated.View, {
|
|
68
|
+
style: [styles.fabContainer, pan.getLayout()],
|
|
69
|
+
...panResponder.panHandlers,
|
|
70
|
+
children: /*#__PURE__*/_jsx(Pressable, {
|
|
71
|
+
style: styles.fab,
|
|
72
|
+
onPress: () => setIsExpanded(true),
|
|
73
|
+
accessibilityLabel: "Open AI Agent Chat",
|
|
74
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
75
|
+
style: styles.fabIcon,
|
|
76
|
+
children: isThinking ? '⏳' : '🤖'
|
|
77
|
+
})
|
|
78
|
+
})
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
// ─── Expanded State (Widget) ───
|
|
83
|
+
return /*#__PURE__*/_jsxs(Animated.View, {
|
|
84
|
+
style: [styles.expandedContainer, pan.getLayout()],
|
|
85
|
+
children: [/*#__PURE__*/_jsxs(View, {
|
|
86
|
+
...panResponder.panHandlers,
|
|
87
|
+
style: styles.dragHandleArea,
|
|
88
|
+
accessibilityLabel: "Drag AI Agent",
|
|
89
|
+
children: [/*#__PURE__*/_jsx(View, {
|
|
90
|
+
style: styles.dragGrip
|
|
91
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
92
|
+
onPress: () => setIsExpanded(false),
|
|
93
|
+
style: styles.minimizeBtn,
|
|
94
|
+
accessibilityLabel: "Minimize AI Agent",
|
|
95
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
96
|
+
style: styles.minimizeText,
|
|
97
|
+
children: "\u2014"
|
|
98
|
+
})
|
|
99
|
+
})]
|
|
100
|
+
}), lastResult && /*#__PURE__*/_jsxs(View, {
|
|
101
|
+
style: [styles.resultBubble, lastResult.success ? styles.resultSuccess : styles.resultError],
|
|
102
|
+
children: [/*#__PURE__*/_jsx(Text, {
|
|
103
|
+
style: styles.resultText,
|
|
104
|
+
children: lastResult.message
|
|
105
|
+
}), onDismiss && /*#__PURE__*/_jsx(Pressable, {
|
|
106
|
+
style: styles.dismissButton,
|
|
107
|
+
onPress: onDismiss,
|
|
108
|
+
hitSlop: 12,
|
|
109
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
110
|
+
style: styles.dismissText,
|
|
111
|
+
children: "\u2715"
|
|
112
|
+
})
|
|
113
|
+
})]
|
|
114
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
115
|
+
style: styles.inputRow,
|
|
116
|
+
children: [/*#__PURE__*/_jsx(TextInput, {
|
|
117
|
+
style: [styles.input, isArabic && styles.inputRTL],
|
|
118
|
+
placeholder: isArabic ? 'اكتب طلبك...' : 'Ask AI...',
|
|
119
|
+
placeholderTextColor: "#999",
|
|
120
|
+
value: text,
|
|
121
|
+
onChangeText: setText,
|
|
122
|
+
onSubmitEditing: handleSend,
|
|
123
|
+
returnKeyType: "send",
|
|
124
|
+
editable: !isThinking,
|
|
125
|
+
multiline: false
|
|
126
|
+
}), /*#__PURE__*/_jsx(Pressable, {
|
|
127
|
+
style: [styles.sendButton, isThinking && styles.sendButtonDisabled],
|
|
128
|
+
onPress: handleSend,
|
|
129
|
+
disabled: isThinking || !text.trim(),
|
|
130
|
+
accessibilityLabel: "Send request to AI Agent",
|
|
131
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
132
|
+
style: styles.sendButtonText,
|
|
133
|
+
children: isThinking ? '⏳' : '🚀'
|
|
134
|
+
})
|
|
135
|
+
})]
|
|
136
|
+
})]
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
const styles = StyleSheet.create({
|
|
140
|
+
// FAB Styles
|
|
141
|
+
fabContainer: {
|
|
142
|
+
position: 'absolute',
|
|
143
|
+
zIndex: 9999
|
|
144
|
+
},
|
|
145
|
+
fab: {
|
|
146
|
+
width: 60,
|
|
147
|
+
height: 60,
|
|
148
|
+
borderRadius: 30,
|
|
149
|
+
backgroundColor: '#1a1a2e',
|
|
150
|
+
justifyContent: 'center',
|
|
151
|
+
alignItems: 'center',
|
|
152
|
+
elevation: 5,
|
|
153
|
+
shadowColor: '#000',
|
|
154
|
+
shadowOffset: {
|
|
155
|
+
width: 0,
|
|
156
|
+
height: 4
|
|
157
|
+
},
|
|
158
|
+
shadowOpacity: 0.3,
|
|
159
|
+
shadowRadius: 6
|
|
160
|
+
},
|
|
161
|
+
fabIcon: {
|
|
162
|
+
fontSize: 28
|
|
163
|
+
},
|
|
164
|
+
// Expanded Styles
|
|
165
|
+
expandedContainer: {
|
|
166
|
+
position: 'absolute',
|
|
167
|
+
zIndex: 9999,
|
|
168
|
+
width: 340,
|
|
169
|
+
backgroundColor: 'rgba(26, 26, 46, 0.95)',
|
|
170
|
+
borderRadius: 24,
|
|
171
|
+
padding: 16,
|
|
172
|
+
paddingTop: 8,
|
|
173
|
+
elevation: 8,
|
|
174
|
+
shadowColor: '#000',
|
|
175
|
+
shadowOffset: {
|
|
176
|
+
width: 0,
|
|
177
|
+
height: 8
|
|
178
|
+
},
|
|
179
|
+
shadowOpacity: 0.4,
|
|
180
|
+
shadowRadius: 10
|
|
181
|
+
},
|
|
182
|
+
dragHandleArea: {
|
|
183
|
+
width: '100%',
|
|
184
|
+
height: 30,
|
|
185
|
+
justifyContent: 'center',
|
|
186
|
+
alignItems: 'center',
|
|
187
|
+
marginBottom: 8
|
|
188
|
+
},
|
|
189
|
+
dragGrip: {
|
|
190
|
+
width: 40,
|
|
191
|
+
height: 5,
|
|
192
|
+
backgroundColor: 'rgba(255, 255, 255, 0.3)',
|
|
193
|
+
borderRadius: 4
|
|
194
|
+
},
|
|
195
|
+
minimizeBtn: {
|
|
196
|
+
position: 'absolute',
|
|
197
|
+
right: 0,
|
|
198
|
+
top: 0,
|
|
199
|
+
padding: 8
|
|
200
|
+
},
|
|
201
|
+
minimizeText: {
|
|
202
|
+
color: '#fff',
|
|
203
|
+
fontSize: 18,
|
|
204
|
+
fontWeight: 'bold'
|
|
205
|
+
},
|
|
206
|
+
// Results & Input
|
|
207
|
+
resultBubble: {
|
|
208
|
+
borderRadius: 12,
|
|
209
|
+
padding: 12,
|
|
210
|
+
marginBottom: 12,
|
|
211
|
+
flexDirection: 'row',
|
|
212
|
+
alignItems: 'flex-start'
|
|
213
|
+
},
|
|
214
|
+
resultSuccess: {
|
|
215
|
+
backgroundColor: 'rgba(40, 167, 69, 0.2)'
|
|
216
|
+
},
|
|
217
|
+
resultError: {
|
|
218
|
+
backgroundColor: 'rgba(220, 53, 69, 0.2)'
|
|
219
|
+
},
|
|
220
|
+
resultText: {
|
|
221
|
+
color: '#fff',
|
|
222
|
+
fontSize: 14,
|
|
223
|
+
lineHeight: 20,
|
|
224
|
+
flex: 1
|
|
225
|
+
},
|
|
226
|
+
dismissButton: {
|
|
227
|
+
marginLeft: 8,
|
|
228
|
+
padding: 2
|
|
229
|
+
},
|
|
230
|
+
dismissText: {
|
|
231
|
+
color: 'rgba(255, 255, 255, 0.6)',
|
|
232
|
+
fontSize: 14,
|
|
233
|
+
fontWeight: 'bold'
|
|
234
|
+
},
|
|
235
|
+
inputRow: {
|
|
236
|
+
flexDirection: 'row',
|
|
237
|
+
alignItems: 'center',
|
|
238
|
+
gap: 8
|
|
239
|
+
},
|
|
240
|
+
input: {
|
|
241
|
+
flex: 1,
|
|
242
|
+
backgroundColor: 'rgba(255, 255, 255, 0.1)',
|
|
243
|
+
borderRadius: 20,
|
|
244
|
+
paddingHorizontal: 16,
|
|
245
|
+
paddingVertical: 10,
|
|
246
|
+
color: '#fff',
|
|
247
|
+
fontSize: 16
|
|
248
|
+
},
|
|
249
|
+
inputRTL: {
|
|
250
|
+
textAlign: 'right',
|
|
251
|
+
writingDirection: 'rtl'
|
|
252
|
+
},
|
|
253
|
+
sendButton: {
|
|
254
|
+
width: 40,
|
|
255
|
+
height: 40,
|
|
256
|
+
borderRadius: 20,
|
|
257
|
+
backgroundColor: 'rgba(255, 255, 255, 0.15)',
|
|
258
|
+
justifyContent: 'center',
|
|
259
|
+
alignItems: 'center'
|
|
260
|
+
},
|
|
261
|
+
sendButtonDisabled: {
|
|
262
|
+
opacity: 0.5
|
|
263
|
+
},
|
|
264
|
+
sendButtonText: {
|
|
265
|
+
fontSize: 18
|
|
266
|
+
}
|
|
267
|
+
});
|
|
268
|
+
//# sourceMappingURL=AgentChatBar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["useState","useRef","View","TextInput","Pressable","Text","StyleSheet","Animated","PanResponder","useWindowDimensions","jsx","_jsx","jsxs","_jsxs","AgentChatBar","onSend","isThinking","lastResult","language","onDismiss","text","setText","isExpanded","setIsExpanded","height","isArabic","pan","ValueXY","x","y","current","panResponder","create","onMoveShouldSetPanResponder","_","gestureState","Math","abs","dx","dy","onPanResponderGrant","setOffset","_value","setValue","onPanResponderMove","event","useNativeDriver","onPanResponderRelease","flattenOffset","handleSend","trim","style","styles","fabContainer","getLayout","panHandlers","children","fab","onPress","accessibilityLabel","fabIcon","expandedContainer","dragHandleArea","dragGrip","minimizeBtn","minimizeText","resultBubble","success","resultSuccess","resultError","resultText","message","dismissButton","hitSlop","dismissText","inputRow","input","inputRTL","placeholder","placeholderTextColor","value","onChangeText","onSubmitEditing","returnKeyType","editable","multiline","sendButton","sendButtonDisabled","disabled","sendButtonText","position","zIndex","width","borderRadius","backgroundColor","justifyContent","alignItems","elevation","shadowColor","shadowOffset","shadowOpacity","shadowRadius","fontSize","padding","paddingTop","marginBottom","right","top","color","fontWeight","flexDirection","lineHeight","flex","marginLeft","gap","paddingHorizontal","paddingVertical","textAlign","writingDirection","opacity"],"sourceRoot":"../../../src","sources":["components/AgentChatBar.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* AgentOverlay — Subtle thinking indicator shown while the AI agent is processing.
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import { View, Text, StyleSheet, ActivityIndicator } from 'react-native';
|
|
8
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
9
|
+
export function AgentOverlay({
|
|
10
|
+
visible,
|
|
11
|
+
statusText
|
|
12
|
+
}) {
|
|
13
|
+
if (!visible) return null;
|
|
14
|
+
return /*#__PURE__*/_jsx(View, {
|
|
15
|
+
style: styles.overlay,
|
|
16
|
+
pointerEvents: "none",
|
|
17
|
+
children: /*#__PURE__*/_jsxs(View, {
|
|
18
|
+
style: styles.pill,
|
|
19
|
+
children: [/*#__PURE__*/_jsx(ActivityIndicator, {
|
|
20
|
+
size: "small",
|
|
21
|
+
color: "#fff"
|
|
22
|
+
}), /*#__PURE__*/_jsx(Text, {
|
|
23
|
+
style: styles.text,
|
|
24
|
+
children: statusText || 'Thinking...'
|
|
25
|
+
})]
|
|
26
|
+
})
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
const styles = StyleSheet.create({
|
|
30
|
+
overlay: {
|
|
31
|
+
position: 'absolute',
|
|
32
|
+
top: 60,
|
|
33
|
+
left: 0,
|
|
34
|
+
right: 0,
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
zIndex: 9999
|
|
37
|
+
},
|
|
38
|
+
pill: {
|
|
39
|
+
flexDirection: 'row',
|
|
40
|
+
alignItems: 'center',
|
|
41
|
+
gap: 8,
|
|
42
|
+
backgroundColor: 'rgba(26, 26, 46, 0.9)',
|
|
43
|
+
paddingHorizontal: 16,
|
|
44
|
+
paddingVertical: 10,
|
|
45
|
+
borderRadius: 20
|
|
46
|
+
},
|
|
47
|
+
text: {
|
|
48
|
+
color: '#fff',
|
|
49
|
+
fontSize: 14,
|
|
50
|
+
fontWeight: '500'
|
|
51
|
+
}
|
|
52
|
+
});
|
|
53
|
+
//# sourceMappingURL=AgentOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["View","Text","StyleSheet","ActivityIndicator","jsx","_jsx","jsxs","_jsxs","AgentOverlay","visible","statusText","style","styles","overlay","pointerEvents","children","pill","size","color","text","create","position","top","left","right","alignItems","zIndex","flexDirection","gap","backgroundColor","paddingHorizontal","paddingVertical","borderRadius","fontSize","fontWeight"],"sourceRoot":"../../../src","sources":["components/AgentOverlay.tsx"],"mappings":";;AAAA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,IAAI,EAAEC,UAAU,EAAEC,iBAAiB,QAAQ,cAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAOzE,OAAO,SAASC,YAAYA,CAAC;EAAEC,OAAO;EAAEC;AAA8B,CAAC,EAAE;EACvE,IAAI,CAACD,OAAO,EAAE,OAAO,IAAI;EAEzB,oBACEJ,IAAA,CAACL,IAAI;IAACW,KAAK,EAAEC,MAAM,CAACC,OAAQ;IAACC,aAAa,EAAC,MAAM;IAAAC,QAAA,eAC/CR,KAAA,CAACP,IAAI;MAACW,KAAK,EAAEC,MAAM,CAACI,IAAK;MAAAD,QAAA,gBACvBV,IAAA,CAACF,iBAAiB;QAACc,IAAI,EAAC,OAAO;QAACC,KAAK,EAAC;MAAM,CAAE,CAAC,eAC/Cb,IAAA,CAACJ,IAAI;QAACU,KAAK,EAAEC,MAAM,CAACO,IAAK;QAAAJ,QAAA,EAAEL,UAAU,IAAI;MAAa,CAAO,CAAC;IAAA,CAC1D;EAAC,CACH,CAAC;AAEX;AAEA,MAAME,MAAM,GAAGV,UAAU,CAACkB,MAAM,CAAC;EAC/BP,OAAO,EAAE;IACPQ,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,EAAE;IACPC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,UAAU,EAAE,QAAQ;IACpBC,MAAM,EAAE;EACV,CAAC;EACDV,IAAI,EAAE;IACJW,aAAa,EAAE,KAAK;IACpBF,UAAU,EAAE,QAAQ;IACpBG,GAAG,EAAE,CAAC;IACNC,eAAe,EAAE,uBAAuB;IACxCC,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,EAAE;IACnBC,YAAY,EAAE;EAChB,CAAC;EACDb,IAAI,EAAE;IACJD,KAAK,EAAE,MAAM;IACbe,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd;AACF,CAAC,CAAC","ignoreList":[]}
|