@mobileai/react-native 0.9.0 → 0.9.2
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/README.md +121 -0
- package/lib/module/components/AIAgent.js +248 -53
- package/lib/module/components/AIAgent.js.map +1 -1
- package/lib/module/components/AIZone.js +140 -0
- package/lib/module/components/AIZone.js.map +1 -0
- package/lib/module/components/AgentErrorBoundary.js +9 -0
- package/lib/module/components/AgentErrorBoundary.js.map +1 -1
- package/lib/module/components/HighlightOverlay.js +138 -0
- package/lib/module/components/HighlightOverlay.js.map +1 -0
- package/lib/module/components/ProactiveHint.js +138 -0
- package/lib/module/components/ProactiveHint.js.map +1 -0
- package/lib/module/components/cards/InfoCard.js +65 -0
- package/lib/module/components/cards/InfoCard.js.map +1 -0
- package/lib/module/components/cards/ReviewSummary.js +74 -0
- package/lib/module/components/cards/ReviewSummary.js.map +1 -0
- package/lib/module/core/AgentRuntime.js +16 -3
- package/lib/module/core/AgentRuntime.js.map +1 -1
- package/lib/module/core/FiberTreeWalker.js +62 -85
- package/lib/module/core/FiberTreeWalker.js.map +1 -1
- package/lib/module/core/IdleDetector.js +51 -0
- package/lib/module/core/IdleDetector.js.map +1 -0
- package/lib/module/core/ZoneRegistry.js +47 -0
- package/lib/module/core/ZoneRegistry.js.map +1 -0
- package/lib/module/core/systemPrompt.js +2 -0
- package/lib/module/core/systemPrompt.js.map +1 -1
- package/lib/module/index.js +21 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/services/AudioOutputService.js +10 -0
- package/lib/module/services/AudioOutputService.js.map +1 -1
- package/lib/module/services/flags/FlagService.js +117 -0
- package/lib/module/services/flags/FlagService.js.map +1 -0
- package/lib/module/services/telemetry/MobileAI.js +66 -0
- package/lib/module/services/telemetry/MobileAI.js.map +1 -0
- package/lib/module/services/telemetry/PiiScrubber.js +17 -0
- package/lib/module/services/telemetry/PiiScrubber.js.map +1 -0
- package/lib/module/services/telemetry/TelemetryService.js +260 -0
- package/lib/module/services/telemetry/TelemetryService.js.map +1 -0
- package/lib/module/services/telemetry/TouchAutoCapture.js +159 -0
- package/lib/module/services/telemetry/TouchAutoCapture.js.map +1 -0
- package/lib/module/services/telemetry/device.js +19 -0
- package/lib/module/services/telemetry/device.js.map +1 -0
- package/lib/module/services/telemetry/index.js +9 -0
- package/lib/module/services/telemetry/index.js.map +1 -0
- package/lib/module/services/telemetry/types.js +2 -0
- package/lib/module/services/telemetry/types.js.map +1 -0
- package/lib/module/support/CSATSurvey.js +273 -0
- package/lib/module/support/CSATSurvey.js.map +1 -0
- package/lib/module/support/EscalationSocket.js +92 -0
- package/lib/module/support/EscalationSocket.js.map +1 -0
- package/lib/module/support/SupportGreeting.js +142 -0
- package/lib/module/support/SupportGreeting.js.map +1 -0
- package/lib/module/support/escalateTool.js +120 -0
- package/lib/module/support/escalateTool.js.map +1 -0
- package/lib/module/support/index.js +18 -0
- package/lib/module/support/index.js.map +1 -0
- package/lib/module/support/supportPrompt.js +47 -0
- package/lib/module/support/supportPrompt.js.map +1 -0
- package/lib/module/support/types.js +2 -0
- package/lib/module/support/types.js.map +1 -0
- package/lib/module/tools/guideTool.js +61 -0
- package/lib/module/tools/guideTool.js.map +1 -0
- package/lib/module/tools/index.js +3 -0
- package/lib/module/tools/index.js.map +1 -1
- package/lib/module/tools/restoreTool.js +31 -0
- package/lib/module/tools/restoreTool.js.map +1 -0
- package/lib/module/tools/simplifyTool.js +31 -0
- package/lib/module/tools/simplifyTool.js.map +1 -0
- package/lib/module/types/jsx.d.js +4 -0
- package/lib/module/types/jsx.d.js.map +1 -0
- package/lib/typescript/src/components/AIAgent.d.ts +21 -2
- package/lib/typescript/src/components/AIAgent.d.ts.map +1 -1
- package/lib/typescript/src/components/AIZone.d.ts +16 -0
- package/lib/typescript/src/components/AIZone.d.ts.map +1 -0
- package/lib/typescript/src/components/AgentErrorBoundary.d.ts +1 -0
- package/lib/typescript/src/components/AgentErrorBoundary.d.ts.map +1 -1
- package/lib/typescript/src/components/HighlightOverlay.d.ts +10 -0
- package/lib/typescript/src/components/HighlightOverlay.d.ts.map +1 -0
- package/lib/typescript/src/components/ProactiveHint.d.ts +10 -0
- package/lib/typescript/src/components/ProactiveHint.d.ts.map +1 -0
- package/lib/typescript/src/components/cards/InfoCard.d.ts +19 -0
- package/lib/typescript/src/components/cards/InfoCard.d.ts.map +1 -0
- package/lib/typescript/src/components/cards/ReviewSummary.d.ts +19 -0
- package/lib/typescript/src/components/cards/ReviewSummary.d.ts.map +1 -0
- package/lib/typescript/src/core/AgentRuntime.d.ts +1 -0
- package/lib/typescript/src/core/AgentRuntime.d.ts.map +1 -1
- package/lib/typescript/src/core/FiberTreeWalker.d.ts.map +1 -1
- package/lib/typescript/src/core/IdleDetector.d.ts +27 -0
- package/lib/typescript/src/core/IdleDetector.d.ts.map +1 -0
- package/lib/typescript/src/core/ZoneRegistry.d.ts +13 -0
- package/lib/typescript/src/core/ZoneRegistry.d.ts.map +1 -0
- package/lib/typescript/src/core/systemPrompt.d.ts.map +1 -1
- package/lib/typescript/src/core/types.d.ts +54 -0
- package/lib/typescript/src/core/types.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +5 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/services/AudioOutputService.d.ts.map +1 -1
- package/lib/typescript/src/services/flags/FlagService.d.ts +25 -0
- package/lib/typescript/src/services/flags/FlagService.d.ts.map +1 -0
- package/lib/typescript/src/services/telemetry/MobileAI.d.ts +38 -0
- package/lib/typescript/src/services/telemetry/MobileAI.d.ts.map +1 -0
- package/lib/typescript/src/services/telemetry/PiiScrubber.d.ts +6 -0
- package/lib/typescript/src/services/telemetry/PiiScrubber.d.ts.map +1 -0
- package/lib/typescript/src/services/telemetry/TelemetryService.d.ts +49 -0
- package/lib/typescript/src/services/telemetry/TelemetryService.d.ts.map +1 -0
- package/lib/typescript/src/services/telemetry/TouchAutoCapture.d.ts +28 -0
- package/lib/typescript/src/services/telemetry/TouchAutoCapture.d.ts.map +1 -0
- package/lib/typescript/src/services/telemetry/device.d.ts +7 -0
- package/lib/typescript/src/services/telemetry/device.d.ts.map +1 -0
- package/lib/typescript/src/services/telemetry/index.d.ts +7 -0
- package/lib/typescript/src/services/telemetry/index.d.ts.map +1 -0
- package/lib/typescript/src/services/telemetry/types.d.ts +50 -0
- package/lib/typescript/src/services/telemetry/types.d.ts.map +1 -0
- package/lib/typescript/src/support/CSATSurvey.d.ts +20 -0
- package/lib/typescript/src/support/CSATSurvey.d.ts.map +1 -0
- package/lib/typescript/src/support/EscalationSocket.d.ts +38 -0
- package/lib/typescript/src/support/EscalationSocket.d.ts.map +1 -0
- package/lib/typescript/src/support/SupportGreeting.d.ts +19 -0
- package/lib/typescript/src/support/SupportGreeting.d.ts.map +1 -0
- package/lib/typescript/src/support/escalateTool.d.ts +25 -0
- package/lib/typescript/src/support/escalateTool.d.ts.map +1 -0
- package/lib/typescript/src/support/index.d.ts +11 -0
- package/lib/typescript/src/support/index.d.ts.map +1 -0
- package/lib/typescript/src/support/supportPrompt.d.ts +12 -0
- package/lib/typescript/src/support/supportPrompt.d.ts.map +1 -0
- package/lib/typescript/src/support/types.d.ts +114 -0
- package/lib/typescript/src/support/types.d.ts.map +1 -0
- package/lib/typescript/src/tools/guideTool.d.ts +4 -0
- package/lib/typescript/src/tools/guideTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/index.d.ts +3 -0
- package/lib/typescript/src/tools/index.d.ts.map +1 -1
- package/lib/typescript/src/tools/restoreTool.d.ts +3 -0
- package/lib/typescript/src/tools/restoreTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/simplifyTool.d.ts +3 -0
- package/lib/typescript/src/tools/simplifyTool.d.ts.map +1 -0
- package/lib/typescript/src/tools/types.d.ts +2 -0
- package/lib/typescript/src/tools/types.d.ts.map +1 -1
- package/package.json +5 -1
- package/src/components/AIAgent.tsx +253 -15
- package/src/components/AIZone.tsx +147 -0
- package/src/components/AgentErrorBoundary.tsx +10 -0
- package/src/components/HighlightOverlay.tsx +136 -0
- package/src/components/ProactiveHint.tsx +145 -0
- package/src/components/cards/InfoCard.tsx +58 -0
- package/src/components/cards/ReviewSummary.tsx +76 -0
- package/src/core/AgentRuntime.ts +18 -0
- package/src/core/FiberTreeWalker.ts +71 -93
- package/src/core/IdleDetector.ts +72 -0
- package/src/core/ZoneRegistry.ts +44 -0
- package/src/core/systemPrompt.ts +2 -0
- package/src/core/types.ts +60 -0
- package/src/index.ts +31 -0
- package/src/services/AudioOutputService.ts +13 -0
- package/src/services/flags/FlagService.ts +137 -0
- package/src/services/telemetry/MobileAI.ts +66 -0
- package/src/services/telemetry/PiiScrubber.ts +17 -0
- package/src/services/telemetry/TelemetryService.ts +291 -0
- package/src/services/telemetry/TouchAutoCapture.ts +165 -0
- package/src/services/telemetry/device.ts +16 -0
- package/src/services/telemetry/index.ts +13 -0
- package/src/services/telemetry/types.ts +75 -0
- package/src/support/CSATSurvey.tsx +304 -0
- package/src/support/EscalationSocket.ts +113 -0
- package/src/support/SupportGreeting.tsx +161 -0
- package/src/support/escalateTool.ts +134 -0
- package/src/support/index.ts +27 -0
- package/src/support/supportPrompt.ts +55 -0
- package/src/support/types.ts +141 -0
- package/src/tools/guideTool.ts +67 -0
- package/src/tools/index.ts +3 -0
- package/src/tools/restoreTool.ts +33 -0
- package/src/tools/simplifyTool.ts +33 -0
- package/src/tools/types.ts +2 -0
- package/src/types/jsx.d.ts +20 -0
package/README.md
CHANGED
|
@@ -634,6 +634,7 @@ const { send } = useAI({
|
|
|
634
634
|
|
|
635
635
|
---
|
|
636
636
|
|
|
637
|
+
|
|
637
638
|
## 🔒 Security & Production
|
|
638
639
|
|
|
639
640
|
### Backend Proxy — Keep API Keys Secure
|
|
@@ -722,6 +723,126 @@ server.on('upgrade', geminiProxy.upgrade);
|
|
|
722
723
|
|
|
723
724
|
---
|
|
724
725
|
|
|
726
|
+
## 🧩 AIZone — Declarative AI Modification Boundaries
|
|
727
|
+
|
|
728
|
+
`<AIZone>` lets you explicitly tell the AI **where it is and isn't allowed to modify the UI**. Everything outside a zone is read-only forever. Everything inside a zone gets only the permissions you grant.
|
|
729
|
+
|
|
730
|
+
**Zero visual impact** — it's a transparent boundary, not a wrapper component. No extra styles, no layout changes.
|
|
731
|
+
|
|
732
|
+
### Why Use Zones?
|
|
733
|
+
|
|
734
|
+
Without zones, the AI reads the UI but can only interact via standard taps and navigation. With zones, you unlock proactive AI-native behaviors: the AI can simplify cluttered UIs, inject contextual cards, and highlight elements to guide users — all within your declared boundaries.
|
|
735
|
+
|
|
736
|
+
### Setup
|
|
737
|
+
|
|
738
|
+
```tsx
|
|
739
|
+
import { AIZone } from '@mobileai/react-native'; // or 'react-native-agentic-ai'
|
|
740
|
+
```
|
|
741
|
+
|
|
742
|
+
### Permissions
|
|
743
|
+
|
|
744
|
+
Wrap any section with `<AIZone>` and grant only the permissions you want:
|
|
745
|
+
|
|
746
|
+
```tsx
|
|
747
|
+
<AIZone
|
|
748
|
+
id="product-detail"
|
|
749
|
+
allowHighlight // AI can draw an animated ring to draw user attention
|
|
750
|
+
allowInjectHint // AI can add a tooltip above any element in this zone
|
|
751
|
+
allowSimplify // AI can hide low-priority children to reduce clutter
|
|
752
|
+
allowInjectCard // AI can inject a built-in card template into this zone
|
|
753
|
+
templates={[InfoCard, ReviewSummary]} // required when allowInjectCard
|
|
754
|
+
>
|
|
755
|
+
<ProductImage />
|
|
756
|
+
<ProductTitle />
|
|
757
|
+
<ProductDescription aiPriority="low" /> {/* hidden when AI simplifies */}
|
|
758
|
+
<SizeSelector />
|
|
759
|
+
<AddToCartButton />
|
|
760
|
+
<AdvancedOptions aiPriority="low" /> {/* hidden when AI simplifies */}
|
|
761
|
+
</AIZone>
|
|
762
|
+
|
|
763
|
+
{/* These are never touched by the AI */}
|
|
764
|
+
<BrandHeader />
|
|
765
|
+
<PaymentSection />
|
|
766
|
+
```
|
|
767
|
+
|
|
768
|
+
### `aiPriority` Prop
|
|
769
|
+
|
|
770
|
+
Mark elements as low-priority within a `allowSimplify` zone — the AI hides them to reduce cognitive load:
|
|
771
|
+
|
|
772
|
+
```tsx
|
|
773
|
+
<AIZone id="settings" allowSimplify>
|
|
774
|
+
<PrimaryOption aiPriority="high" /> {/* always visible */}
|
|
775
|
+
<AdvancedOption aiPriority="low" /> {/* hidden when AI simplifies */}
|
|
776
|
+
</AIZone>
|
|
777
|
+
```
|
|
778
|
+
|
|
779
|
+
No extra imports needed — `aiPriority` is a typed prop on all standard React Native elements (`View`, `Pressable`, etc.).
|
|
780
|
+
|
|
781
|
+
### Built-in Card Templates
|
|
782
|
+
|
|
783
|
+
When `allowInjectCard` is set, pass an array of your pre-approved templates. The AI picks the right one and injects it with contextually relevant props:
|
|
784
|
+
|
|
785
|
+
```tsx
|
|
786
|
+
import { AIZone, InfoCard, ReviewSummary } from '@mobileai/react-native';
|
|
787
|
+
|
|
788
|
+
<AIZone
|
|
789
|
+
id="hero-banner"
|
|
790
|
+
allowInjectCard
|
|
791
|
+
templates={[InfoCard, ReviewSummary]}
|
|
792
|
+
>
|
|
793
|
+
<HeroBanner />
|
|
794
|
+
</AIZone>
|
|
795
|
+
```
|
|
796
|
+
|
|
797
|
+
| Template | Best for |
|
|
798
|
+
|----------|----------|
|
|
799
|
+
| `InfoCard` | Policy snippets, tips, FAQs |
|
|
800
|
+
| `ReviewSummary` | Average rating, review count on product screens |
|
|
801
|
+
|
|
802
|
+
You can also pass your own custom card components — just set `MyCard.displayName` explicitly (required for minification safety):
|
|
803
|
+
```tsx
|
|
804
|
+
MyCard.displayName = 'MyCard';
|
|
805
|
+
<AIZone allowInjectCard templates={[MyCard]} id="my-zone">
|
|
806
|
+
```
|
|
807
|
+
|
|
808
|
+
### User Dismissal — Always in Control
|
|
809
|
+
|
|
810
|
+
Every AI modification is reversible by the user:
|
|
811
|
+
|
|
812
|
+
| AI Action | User escape hatch |
|
|
813
|
+
|-----------|------------------|
|
|
814
|
+
| `allowHighlight` | Tap anywhere outside the ring (auto-removes after 5s) |
|
|
815
|
+
| `allowInjectHint` | Tap × on the tooltip (auto-removes after 8s) |
|
|
816
|
+
| `allowSimplify` | **"Show all options"** button always appears at zone bottom |
|
|
817
|
+
| `allowInjectCard` | **×** close button always rendered on the injected card |
|
|
818
|
+
|
|
819
|
+
The agent can also call `restore_zone(zoneId)` itself — if the user says *"show everything"*, the agent reverses all simplification.
|
|
820
|
+
|
|
821
|
+
### What the Agent Sees
|
|
822
|
+
|
|
823
|
+
Inside the system context, the agent receives a precise summary of each zone — permissions and element list — so it can never hallucinate permissions it wasn't given:
|
|
824
|
+
|
|
825
|
+
```
|
|
826
|
+
[ZONES ON SCREEN]
|
|
827
|
+
zone "product-detail":
|
|
828
|
+
permissions: highlight, simplify, card(InfoCard, ReviewSummary)
|
|
829
|
+
elements: [0]ProductTitle, [1]ProductDescription(priority=low),
|
|
830
|
+
[2]SizeSelector, [3]AddToCartButton, [4]AdvancedOptions(priority=low)
|
|
831
|
+
```
|
|
832
|
+
|
|
833
|
+
### AIZone Props
|
|
834
|
+
|
|
835
|
+
| Prop | Type | Description |
|
|
836
|
+
|------|------|-------------|
|
|
837
|
+
| `id` | `string` | Unique zone identifier on this screen |
|
|
838
|
+
| `allowHighlight` | `boolean` | AI can draw an animated ring around elements |
|
|
839
|
+
| `allowInjectHint` | `boolean` | AI can add a tooltip above elements |
|
|
840
|
+
| `allowSimplify` | `boolean` | AI can hide `aiPriority="low"` children |
|
|
841
|
+
| `allowInjectCard` | `boolean` | AI can inject a card template |
|
|
842
|
+
| `templates` | `ComponentType[]` | Pre-approved card components (required with `allowInjectCard`) |
|
|
843
|
+
|
|
844
|
+
---
|
|
845
|
+
|
|
725
846
|
## 🛠️ Built-in Tools
|
|
726
847
|
|
|
727
848
|
| Tool | What it does |
|
|
@@ -23,7 +23,13 @@ import { MCPBridge } from "../core/MCPBridge.js";
|
|
|
23
23
|
import { VoiceService } from "../services/VoiceService.js";
|
|
24
24
|
import { AudioInputService } from "../services/AudioInputService.js";
|
|
25
25
|
import { AudioOutputService } from "../services/AudioOutputService.js";
|
|
26
|
+
import { TelemetryService, bindTelemetryService } from "../services/telemetry/index.js";
|
|
27
|
+
import { extractTouchLabel, checkRageClick } from "../services/telemetry/TouchAutoCapture.js";
|
|
26
28
|
import { AgentErrorBoundary } from "./AgentErrorBoundary.js";
|
|
29
|
+
import { HighlightOverlay } from "./HighlightOverlay.js";
|
|
30
|
+
import { IdleDetector } from "../core/IdleDetector.js";
|
|
31
|
+
import { ProactiveHint } from "./ProactiveHint.js";
|
|
32
|
+
import { createEscalateTool } from "../support/escalateTool.js";
|
|
27
33
|
|
|
28
34
|
// ─── Context ───────────────────────────────────────────────────
|
|
29
35
|
|
|
@@ -69,7 +75,11 @@ export function AIAgent({
|
|
|
69
75
|
screenMap,
|
|
70
76
|
useScreenMap = true,
|
|
71
77
|
maxTokenBudget,
|
|
72
|
-
maxCostUSD
|
|
78
|
+
maxCostUSD,
|
|
79
|
+
analyticsKey,
|
|
80
|
+
analyticsProxyUrl,
|
|
81
|
+
analyticsProxyHeaders,
|
|
82
|
+
proactiveHelp
|
|
73
83
|
}) {
|
|
74
84
|
// Configure logger based on debug prop
|
|
75
85
|
React.useEffect(() => {
|
|
@@ -88,6 +98,46 @@ export function AIAgent({
|
|
|
88
98
|
setLastResult(null);
|
|
89
99
|
}, []);
|
|
90
100
|
|
|
101
|
+
// ─── Auto-create MobileAI escalation tool ─────────────────────
|
|
102
|
+
// When analyticsKey is present and consumer hasn't provided their own
|
|
103
|
+
// escalate_to_human tool, auto-wire the MobileAI platform provider.
|
|
104
|
+
// Human replies from the dashboard inbox are injected into chat messages.
|
|
105
|
+
const autoEscalateTool = useMemo(() => {
|
|
106
|
+
if (!analyticsKey) return null;
|
|
107
|
+
if (customTools?.['escalate_to_human']) return null; // consumer overrides
|
|
108
|
+
return createEscalateTool({
|
|
109
|
+
config: {
|
|
110
|
+
provider: 'mobileai'
|
|
111
|
+
},
|
|
112
|
+
analyticsKey,
|
|
113
|
+
getContext: () => ({
|
|
114
|
+
currentScreen: navRef?.getCurrentRoute?.()?.name ?? 'unknown',
|
|
115
|
+
originalQuery: '',
|
|
116
|
+
stepsBeforeEscalation: 0
|
|
117
|
+
}),
|
|
118
|
+
getHistory: () => messages.map(m => ({
|
|
119
|
+
role: m.role,
|
|
120
|
+
content: m.content
|
|
121
|
+
})),
|
|
122
|
+
onHumanReply: reply => {
|
|
123
|
+
setMessages(prev => [...prev, {
|
|
124
|
+
id: `human-${Date.now()}`,
|
|
125
|
+
role: 'assistant',
|
|
126
|
+
content: `👤 Human Agent: ${reply}`,
|
|
127
|
+
timestamp: Date.now()
|
|
128
|
+
}]);
|
|
129
|
+
}
|
|
130
|
+
});
|
|
131
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
132
|
+
}, [analyticsKey, navRef, customTools]);
|
|
133
|
+
const mergedCustomTools = useMemo(() => {
|
|
134
|
+
if (!autoEscalateTool) return customTools;
|
|
135
|
+
return {
|
|
136
|
+
escalate_to_human: autoEscalateTool,
|
|
137
|
+
...customTools
|
|
138
|
+
};
|
|
139
|
+
}, [autoEscalateTool, customTools]);
|
|
140
|
+
|
|
91
141
|
// ─── Voice/Live Mode State ──────────────────────────────────
|
|
92
142
|
const [mode, setMode] = useState('text');
|
|
93
143
|
const [isMicActive, setIsMicActive] = useState(false);
|
|
@@ -132,9 +182,9 @@ export function AIAgent({
|
|
|
132
182
|
onBeforeTask,
|
|
133
183
|
onAfterTask,
|
|
134
184
|
customTools: mode === 'voice' ? {
|
|
135
|
-
...
|
|
185
|
+
...mergedCustomTools,
|
|
136
186
|
ask_user: null
|
|
137
|
-
} :
|
|
187
|
+
} : mergedCustomTools,
|
|
138
188
|
instructions,
|
|
139
189
|
stepDelay,
|
|
140
190
|
mcpServerUrl,
|
|
@@ -161,6 +211,11 @@ export function AIAgent({
|
|
|
161
211
|
setIsThinking(false);
|
|
162
212
|
setStatusText('');
|
|
163
213
|
});
|
|
214
|
+
},
|
|
215
|
+
// Toggle isAgentActing flag on TelemetryService before/after every tool
|
|
216
|
+
// so that AI-driven taps are never tracked as user_interaction events.
|
|
217
|
+
onToolExecute: active => {
|
|
218
|
+
telemetryRef.current?.setAgentActing(active);
|
|
164
219
|
}
|
|
165
220
|
}), [mode, apiKey, proxyUrl, proxyHeaders, voiceProxyUrl, voiceProxyHeaders, model, maxSteps, interactiveBlacklist, interactiveWhitelist, onBeforeStep, onAfterStep, onBeforeTask, onAfterTask, transformScreenContent, customTools, instructions, stepDelay, mcpServerUrl, router, pathname, onTokenUsage, knowledgeBase, knowledgeMaxTokens, enableUIControl, screenMap, useScreenMap, maxTokenBudget, maxCostUSD]);
|
|
166
221
|
const provider = useMemo(() => createProvider(providerName, apiKey, model, proxyUrl, proxyHeaders), [providerName, apiKey, model, proxyUrl, proxyHeaders]);
|
|
@@ -173,6 +228,51 @@ export function AIAgent({
|
|
|
173
228
|
runtime.updateRefs(rootViewRef.current, navRef);
|
|
174
229
|
}, [runtime, navRef]);
|
|
175
230
|
|
|
231
|
+
// ─── Telemetry ─────────────────────────────────────────────
|
|
232
|
+
|
|
233
|
+
const telemetryRef = useRef(null);
|
|
234
|
+
useEffect(() => {
|
|
235
|
+
if (!analyticsKey && !analyticsProxyUrl) {
|
|
236
|
+
bindTelemetryService(null);
|
|
237
|
+
return;
|
|
238
|
+
}
|
|
239
|
+
const telemetry = new TelemetryService({
|
|
240
|
+
analyticsKey,
|
|
241
|
+
analyticsProxyUrl,
|
|
242
|
+
analyticsProxyHeaders,
|
|
243
|
+
debug
|
|
244
|
+
});
|
|
245
|
+
telemetryRef.current = telemetry;
|
|
246
|
+
bindTelemetryService(telemetry);
|
|
247
|
+
telemetry.start();
|
|
248
|
+
return () => {
|
|
249
|
+
telemetry.stop();
|
|
250
|
+
telemetryRef.current = null;
|
|
251
|
+
bindTelemetryService(null);
|
|
252
|
+
};
|
|
253
|
+
}, [analyticsKey, analyticsProxyUrl, analyticsProxyHeaders, debug]);
|
|
254
|
+
|
|
255
|
+
// ─── Security warnings ──────────────────────────────────────
|
|
256
|
+
|
|
257
|
+
useEffect(() => {
|
|
258
|
+
// @ts-ignore
|
|
259
|
+
if (typeof __DEV__ !== 'undefined' && !__DEV__ && apiKey && !proxyUrl) {
|
|
260
|
+
console.warn('[MobileAI] ⚠️ SECURITY WARNING: You are using `apiKey` directly in a production build. ' + 'This exposes your LLM provider key in the app binary. ' + 'Use `apiProxyUrl` to route requests through your backend instead. ' + 'See docs for details.');
|
|
261
|
+
}
|
|
262
|
+
}, [apiKey, proxyUrl]);
|
|
263
|
+
|
|
264
|
+
// Track screen changes via navRef
|
|
265
|
+
useEffect(() => {
|
|
266
|
+
if (!navRef?.addListener || !telemetryRef.current) return;
|
|
267
|
+
const unsubscribe = navRef.addListener('state', () => {
|
|
268
|
+
const currentRoute = navRef.getCurrentRoute?.();
|
|
269
|
+
if (currentRoute?.name) {
|
|
270
|
+
telemetryRef.current?.setScreen(currentRoute.name);
|
|
271
|
+
}
|
|
272
|
+
});
|
|
273
|
+
return () => unsubscribe?.();
|
|
274
|
+
}, [navRef]);
|
|
275
|
+
|
|
176
276
|
// ─── MCP Bridge ──────────────────────────────────────────────
|
|
177
277
|
|
|
178
278
|
useEffect(() => {
|
|
@@ -184,6 +284,38 @@ export function AIAgent({
|
|
|
184
284
|
};
|
|
185
285
|
}, [mcpServerUrl, runtime]);
|
|
186
286
|
|
|
287
|
+
// ─── Proactive Idle Agent ────────────────────────────────────
|
|
288
|
+
|
|
289
|
+
const idleDetectorRef = useRef(null);
|
|
290
|
+
const [proactiveStage, setProactiveStage] = useState('hidden');
|
|
291
|
+
const [proactiveBadgeText, setProactiveBadgeText] = useState('');
|
|
292
|
+
useEffect(() => {
|
|
293
|
+
if (proactiveHelp?.enabled === false) {
|
|
294
|
+
idleDetectorRef.current?.destroy();
|
|
295
|
+
idleDetectorRef.current = null;
|
|
296
|
+
setProactiveStage('hidden');
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
if (!idleDetectorRef.current) {
|
|
300
|
+
idleDetectorRef.current = new IdleDetector();
|
|
301
|
+
}
|
|
302
|
+
idleDetectorRef.current.start({
|
|
303
|
+
pulseAfterMs: (proactiveHelp?.pulseAfterMinutes || 2) * 60000,
|
|
304
|
+
badgeAfterMs: (proactiveHelp?.badgeAfterMinutes || 4) * 60000,
|
|
305
|
+
onPulse: () => setProactiveStage('pulse'),
|
|
306
|
+
onBadge: suggestion => {
|
|
307
|
+
setProactiveBadgeText(suggestion);
|
|
308
|
+
setProactiveStage('badge');
|
|
309
|
+
},
|
|
310
|
+
onReset: () => setProactiveStage('hidden'),
|
|
311
|
+
generateSuggestion: () => proactiveHelp?.generateSuggestion?.(telemetryRef.current?.screen || 'Home') || proactiveHelp?.badgeText || "Need help with this screen?"
|
|
312
|
+
});
|
|
313
|
+
return () => {
|
|
314
|
+
idleDetectorRef.current?.destroy();
|
|
315
|
+
idleDetectorRef.current = null;
|
|
316
|
+
};
|
|
317
|
+
}, [proactiveHelp, telemetryRef]);
|
|
318
|
+
|
|
187
319
|
// ─── Voice/Live Service Initialization ──────────────────────
|
|
188
320
|
|
|
189
321
|
// Initialize voice services when mode changes to voice or live
|
|
@@ -491,10 +623,32 @@ export function AIAgent({
|
|
|
491
623
|
setIsThinking(true);
|
|
492
624
|
setStatusText('Thinking...');
|
|
493
625
|
setLastResult(null);
|
|
626
|
+
|
|
627
|
+
// Telemetry: track agent request
|
|
628
|
+
telemetryRef.current?.track('agent_request', {
|
|
629
|
+
query: message.trim()
|
|
630
|
+
});
|
|
494
631
|
try {
|
|
495
632
|
// Ensure we have the latest Fiber tree ref
|
|
496
633
|
runtime.updateRefs(rootViewRef.current, navRef);
|
|
497
634
|
const result = await runtime.execute(message, messages);
|
|
635
|
+
|
|
636
|
+
// Telemetry: track agent completion and per-step details
|
|
637
|
+
if (telemetryRef.current) {
|
|
638
|
+
for (const step of result.steps ?? []) {
|
|
639
|
+
telemetryRef.current.track('agent_step', {
|
|
640
|
+
tool: step.action.name,
|
|
641
|
+
args: step.action.input,
|
|
642
|
+
result: typeof step.action.output === 'string' ? step.action.output.substring(0, 200) : String(step.action.output)
|
|
643
|
+
});
|
|
644
|
+
}
|
|
645
|
+
telemetryRef.current.track('agent_complete', {
|
|
646
|
+
success: result.success,
|
|
647
|
+
steps: result.steps?.length ?? 0,
|
|
648
|
+
tokens: result.tokenUsage?.totalTokens ?? 0,
|
|
649
|
+
cost: result.tokenUsage?.estimatedCostUSD ?? 0
|
|
650
|
+
});
|
|
651
|
+
}
|
|
498
652
|
setLastResult(result);
|
|
499
653
|
|
|
500
654
|
// Append assistant message
|
|
@@ -513,6 +667,12 @@ export function AIAgent({
|
|
|
513
667
|
logger.info('AIAgent', `Result: ${result.success ? '✅' : '❌'} ${result.message}`);
|
|
514
668
|
} catch (error) {
|
|
515
669
|
logger.error('AIAgent', 'Execution failed:', error);
|
|
670
|
+
|
|
671
|
+
// Telemetry: track agent failure
|
|
672
|
+
telemetryRef.current?.track('agent_complete', {
|
|
673
|
+
success: false,
|
|
674
|
+
error: error.message
|
|
675
|
+
});
|
|
516
676
|
setLastResult({
|
|
517
677
|
success: false,
|
|
518
678
|
message: `Error: ${error.message}`,
|
|
@@ -552,7 +712,37 @@ export function AIAgent({
|
|
|
552
712
|
ref: rootViewRef,
|
|
553
713
|
style: styles.root,
|
|
554
714
|
collapsable: false,
|
|
715
|
+
onStartShouldSetResponderCapture: event => {
|
|
716
|
+
// Auto-capture every tap for analytics (zero-config)
|
|
717
|
+
// Skip if the AI agent is currently executing a tool — those are
|
|
718
|
+
// already tracked as `agent_step` events with full context.
|
|
719
|
+
if (telemetryRef.current && !telemetryRef.current.isAgentActing) {
|
|
720
|
+
const label = extractTouchLabel(event.nativeEvent);
|
|
721
|
+
if (label && label !== 'Unknown Element' && label !== '[pressable]') {
|
|
722
|
+
telemetryRef.current.track('user_interaction', {
|
|
723
|
+
type: 'tap',
|
|
724
|
+
label,
|
|
725
|
+
actor: 'user',
|
|
726
|
+
x: Math.round(event.nativeEvent.pageX),
|
|
727
|
+
y: Math.round(event.nativeEvent.pageY)
|
|
728
|
+
});
|
|
729
|
+
|
|
730
|
+
// Track if user is rage-tapping this specific element
|
|
731
|
+
checkRageClick(label, telemetryRef.current);
|
|
732
|
+
} else {
|
|
733
|
+
// Tapped an unlabelled/empty area
|
|
734
|
+
telemetryRef.current.track('dead_click', {
|
|
735
|
+
x: Math.round(event.nativeEvent.pageX),
|
|
736
|
+
y: Math.round(event.nativeEvent.pageY),
|
|
737
|
+
screen: telemetryRef.current.screen
|
|
738
|
+
});
|
|
739
|
+
}
|
|
740
|
+
}
|
|
741
|
+
// IMPORTANT: return false so we don't steal the touch from the actual button
|
|
742
|
+
return false;
|
|
743
|
+
},
|
|
555
744
|
children: /*#__PURE__*/_jsx(AgentErrorBoundary, {
|
|
745
|
+
telemetryRef: telemetryRef,
|
|
556
746
|
onError: (error, componentStack) => {
|
|
557
747
|
const errorMsg = `⚠️ A rendering error occurred: ${error.message}`;
|
|
558
748
|
lastAgentErrorRef.current = errorMsg;
|
|
@@ -560,62 +750,67 @@ export function AIAgent({
|
|
|
560
750
|
},
|
|
561
751
|
children: children
|
|
562
752
|
})
|
|
563
|
-
}),
|
|
753
|
+
}), /*#__PURE__*/_jsxs(View, {
|
|
564
754
|
style: styles.floatingLayer,
|
|
565
755
|
pointerEvents: "box-none",
|
|
566
|
-
children: [/*#__PURE__*/_jsx(AgentOverlay, {
|
|
756
|
+
children: [/*#__PURE__*/_jsx(HighlightOverlay, {}), /*#__PURE__*/_jsx(AgentOverlay, {
|
|
567
757
|
visible: isThinking,
|
|
568
758
|
statusText: statusText,
|
|
569
759
|
onCancel: handleCancel
|
|
570
|
-
}), showChatBar && /*#__PURE__*/_jsx(
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
760
|
+
}), showChatBar && /*#__PURE__*/_jsx(ProactiveHint, {
|
|
761
|
+
stage: proactiveStage,
|
|
762
|
+
badgeText: proactiveBadgeText,
|
|
763
|
+
onDismiss: () => idleDetectorRef.current?.dismiss(),
|
|
764
|
+
children: /*#__PURE__*/_jsx(AgentChatBar, {
|
|
765
|
+
onSend: handleSend,
|
|
766
|
+
isThinking: isThinking,
|
|
767
|
+
lastResult: lastResult,
|
|
768
|
+
language: 'en',
|
|
769
|
+
onDismiss: () => setLastResult(null),
|
|
770
|
+
theme: accentColor || theme ? {
|
|
771
|
+
...(accentColor ? {
|
|
772
|
+
primaryColor: accentColor
|
|
773
|
+
} : {}),
|
|
774
|
+
...theme
|
|
775
|
+
} : undefined,
|
|
776
|
+
availableModes: availableModes,
|
|
777
|
+
mode: mode,
|
|
778
|
+
onModeChange: newMode => {
|
|
779
|
+
logger.info('AIAgent', `Mode change: ${mode} → ${newMode}`);
|
|
780
|
+
setMode(newMode);
|
|
781
|
+
},
|
|
782
|
+
isMicActive: isMicActive,
|
|
783
|
+
isSpeakerMuted: isSpeakerMuted,
|
|
784
|
+
isAISpeaking: isAISpeaking,
|
|
785
|
+
onStopSession: stopVoiceSession,
|
|
786
|
+
isVoiceConnected: isVoiceConnected,
|
|
787
|
+
onMicToggle: active => {
|
|
788
|
+
if (active && !isVoiceConnected) {
|
|
789
|
+
logger.warn('AIAgent', 'Cannot toggle mic — VoiceService not connected yet');
|
|
790
|
+
return;
|
|
791
|
+
}
|
|
792
|
+
logger.info('AIAgent', `Mic toggle: ${active ? 'ON' : 'OFF'}`);
|
|
793
|
+
setIsMicActive(active);
|
|
794
|
+
if (active) {
|
|
795
|
+
logger.info('AIAgent', 'Starting AudioInput...');
|
|
796
|
+
audioInputRef.current?.start().then(ok => {
|
|
797
|
+
logger.info('AIAgent', `AudioInput start result: ${ok}`);
|
|
798
|
+
});
|
|
799
|
+
} else {
|
|
800
|
+
logger.info('AIAgent', 'Stopping AudioInput...');
|
|
801
|
+
audioInputRef.current?.stop();
|
|
802
|
+
}
|
|
803
|
+
},
|
|
804
|
+
onSpeakerToggle: muted => {
|
|
805
|
+
logger.info('AIAgent', `Speaker toggle: ${muted ? 'MUTED' : 'UNMUTED'}`);
|
|
806
|
+
setIsSpeakerMuted(muted);
|
|
807
|
+
if (muted) {
|
|
808
|
+
audioOutputRef.current?.mute();
|
|
809
|
+
} else {
|
|
810
|
+
audioOutputRef.current?.unmute();
|
|
811
|
+
}
|
|
617
812
|
}
|
|
618
|
-
}
|
|
813
|
+
})
|
|
619
814
|
})]
|
|
620
815
|
})]
|
|
621
816
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","AgentRuntime","createProvider","AgentContext","AgentChatBar","AgentOverlay","logger","buildVoiceSystemPrompt","MCPBridge","VoiceService","AudioInputService","AudioOutputService","AgentErrorBoundary","jsx","_jsx","jsxs","_jsxs","AIAgent","apiKey","proxyUrl","proxyHeaders","voiceProxyUrl","voiceProxyHeaders","provider","providerName","model","navRef","maxSteps","showChatBar","children","onResult","interactiveBlacklist","interactiveWhitelist","onBeforeStep","onAfterStep","onBeforeTask","onAfterTask","transformScreenContent","customTools","instructions","stepDelay","mcpServerUrl","router","pathname","enableVoice","onTokenUsage","debug","knowledgeBase","knowledgeMaxTokens","enableUIControl","accentColor","theme","screenMap","useScreenMap","maxTokenBudget","maxCostUSD","setEnabled","info","rootViewRef","isThinking","setIsThinking","statusText","setStatusText","lastResult","setLastResult","messages","setMessages","clearMessages","mode","setMode","isMicActive","setIsMicActive","isSpeakerMuted","setIsSpeakerMuted","isAISpeaking","setIsAISpeaking","isVoiceConnected","setIsVoiceConnected","voiceServiceRef","audioInputRef","audioOutputRef","toolLockRef","userHasSpokenRef","lastScreenContextRef","screenPollIntervalRef","lastAgentErrorRef","availableModes","modes","push","join","askUserResolverRef","config","language","ask_user","onStatusUpdate","undefined","onAskUser","question","Promise","resolve","current","success","message","steps","runtime","updateRefs","bridge","destroy","audioOutputInitPromise","runtimeTools","getTools","length","map","t","name","voicePrompt","system","systemPrompt","tools","onError","err","error","initialize","then","ok","onAudioChunk","chunk","isConnected","sendAudio","onPermissionDenied","warn","connect","onAudioResponse","audio","enqueue","onStatusChange","status","connected","start","intentionalDisconnect","stop","setTimeout","lastCallbacks","onTranscript","text","isFinal","role","onSetupComplete","initialContext","getScreenContext","passiveContext","sendScreenContext","onToolCall","toolCall","JSON","stringify","args","id","sendFunctionResponse","result","executeTool","updatedContext","enrichedResult","onTurnComplete","SCREEN_POLL_INTERVAL","MIN_DIFF_RATIO","setInterval","currentContext","lastLen","diff","Math","abs","diffRatio","toFixed","passiveUpdate","clearInterval","disconnect","stopVoiceSession","handleSend","options","trim","prev","Date","now","toString","random","content","timestamp","resolver","execute","handleCancel","cancel","contextValue","send","isLoading","Provider","value","style","styles","root","ref","collapsable","componentStack","errorMsg","floatingLayer","pointerEvents","visible","onCancel","onSend","onDismiss","primaryColor","onModeChange","newMode","onStopSession","onMicToggle","active","onSpeakerToggle","muted","mute","unmute","create","flex","position","top","left","right","bottom","zIndex"],"sourceRoot":"../../../src","sources":["components/AIAgent.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","StyleSheet","AgentRuntime","createProvider","AgentContext","AgentChatBar","AgentOverlay","logger","buildVoiceSystemPrompt","MCPBridge","VoiceService","AudioInputService","AudioOutputService","TelemetryService","bindTelemetryService","extractTouchLabel","checkRageClick","AgentErrorBoundary","HighlightOverlay","IdleDetector","ProactiveHint","createEscalateTool","jsx","_jsx","jsxs","_jsxs","AIAgent","apiKey","proxyUrl","proxyHeaders","voiceProxyUrl","voiceProxyHeaders","provider","providerName","model","navRef","maxSteps","showChatBar","children","onResult","interactiveBlacklist","interactiveWhitelist","onBeforeStep","onAfterStep","onBeforeTask","onAfterTask","transformScreenContent","customTools","instructions","stepDelay","mcpServerUrl","router","pathname","enableVoice","onTokenUsage","debug","knowledgeBase","knowledgeMaxTokens","enableUIControl","accentColor","theme","screenMap","useScreenMap","maxTokenBudget","maxCostUSD","analyticsKey","analyticsProxyUrl","analyticsProxyHeaders","proactiveHelp","setEnabled","info","rootViewRef","isThinking","setIsThinking","statusText","setStatusText","lastResult","setLastResult","messages","setMessages","clearMessages","autoEscalateTool","config","getContext","currentScreen","getCurrentRoute","name","originalQuery","stepsBeforeEscalation","getHistory","map","m","role","content","onHumanReply","reply","prev","id","Date","now","timestamp","mergedCustomTools","escalate_to_human","mode","setMode","isMicActive","setIsMicActive","isSpeakerMuted","setIsSpeakerMuted","isAISpeaking","setIsAISpeaking","isVoiceConnected","setIsVoiceConnected","voiceServiceRef","audioInputRef","audioOutputRef","toolLockRef","userHasSpokenRef","lastScreenContextRef","screenPollIntervalRef","lastAgentErrorRef","availableModes","modes","push","join","askUserResolverRef","language","ask_user","onStatusUpdate","undefined","onAskUser","question","Promise","resolve","current","success","message","steps","onToolExecute","active","telemetryRef","setAgentActing","runtime","updateRefs","telemetry","start","stop","__DEV__","console","warn","addListener","unsubscribe","currentRoute","setScreen","bridge","destroy","idleDetectorRef","proactiveStage","setProactiveStage","proactiveBadgeText","setProactiveBadgeText","enabled","pulseAfterMs","pulseAfterMinutes","badgeAfterMs","badgeAfterMinutes","onPulse","onBadge","suggestion","onReset","generateSuggestion","screen","badgeText","audioOutputInitPromise","runtimeTools","getTools","length","t","voicePrompt","system","systemPrompt","tools","onError","err","error","initialize","then","ok","onAudioChunk","chunk","isConnected","sendAudio","onPermissionDenied","connect","onAudioResponse","audio","enqueue","onStatusChange","status","connected","intentionalDisconnect","setTimeout","lastCallbacks","onTranscript","text","isFinal","onSetupComplete","initialContext","getScreenContext","passiveContext","sendScreenContext","onToolCall","toolCall","JSON","stringify","args","sendFunctionResponse","result","executeTool","updatedContext","enrichedResult","onTurnComplete","SCREEN_POLL_INTERVAL","MIN_DIFF_RATIO","setInterval","currentContext","lastLen","diff","Math","abs","diffRatio","toFixed","passiveUpdate","clearInterval","disconnect","stopVoiceSession","handleSend","options","trim","toString","random","resolver","track","query","execute","step","tool","action","input","output","substring","String","tokens","tokenUsage","totalTokens","cost","estimatedCostUSD","handleCancel","cancel","contextValue","send","isLoading","Provider","value","style","styles","root","ref","collapsable","onStartShouldSetResponderCapture","event","isAgentActing","label","nativeEvent","type","actor","x","round","pageX","y","pageY","componentStack","errorMsg","floatingLayer","pointerEvents","visible","onCancel","stage","onDismiss","dismiss","onSend","primaryColor","onModeChange","newMode","onStopSession","onMicToggle","onSpeakerToggle","muted","mute","unmute","create","flex","position","top","left","right","bottom","zIndex"],"sourceRoot":"../../../src","sources":["components/AIAgent.tsx"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,KAAK,IACVC,WAAW,EACXC,SAAS,EACTC,OAAO,EACPC,MAAM,EACNC,QAAQ,QACH,OAAO;AACd,SAASC,IAAI,EAAEC,UAAU,QAAQ,cAAc;AAC/C,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,cAAc,QAAQ,iCAA8B;AAC7D,SAASC,YAAY,QAAQ,uBAAoB;AACjD,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,YAAY,QAAQ,mBAAgB;AAC7C,SAASC,MAAM,QAAQ,oBAAiB;AACxC,SAASC,sBAAsB,QAAQ,yBAAsB;AAC7D,SAASC,SAAS,QAAQ,sBAAmB;AAC7C,SAASC,YAAY,QAAQ,6BAA0B;AACvD,SAASC,iBAAiB,QAAQ,kCAA+B;AACjE,SAASC,kBAAkB,QAAQ,mCAAgC;AACnE,SAASC,gBAAgB,EAAEC,oBAAoB,QAAQ,gCAAuB;AAC9E,SAASC,iBAAiB,EAAEC,cAAc,QAAQ,2CAAwC;AAE1F,SAASC,kBAAkB,QAAQ,yBAAsB;AACzD,SAASC,gBAAgB,QAAQ,uBAAoB;AACrD,SAASC,YAAY,QAAQ,yBAAsB;AACnD,SAASC,aAAa,QAAQ,oBAAiB;AAC/C,SAASC,kBAAkB,QAAQ,4BAAyB;;AAE5D;;AAEA;AAAA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA8JA;;AAEA,OAAO,SAASC,OAAOA,CAAC;EACtBC,MAAM;EACNC,QAAQ;EACRC,YAAY;EACZC,aAAa;EACbC,iBAAiB;EACjBC,QAAQ,EAAEC,YAAY,GAAG,QAAQ;EACjCC,KAAK;EACLC,MAAM;EAENC,QAAQ,GAAG,EAAE;EACbC,WAAW,GAAG,IAAI;EAClBC,QAAQ;EACRC,QAAQ;EACR;EACAC,oBAAoB;EACpBC,oBAAoB;EACpBC,YAAY;EACZC,WAAW;EACXC,YAAY;EACZC,WAAW;EACXC,sBAAsB;EACtBC,WAAW;EACXC,YAAY;EACZC,SAAS;EACTC,YAAY;EACZC,MAAM;EACNC,QAAQ;EACRC,WAAW,GAAG,KAAK;EACnBC,YAAY;EACZC,KAAK,GAAG,KAAK;EACbC,aAAa;EACbC,kBAAkB;EAClBC,eAAe;EACfC,WAAW;EACXC,KAAK;EACLC,SAAS;EACTC,YAAY,GAAG,IAAI;EACnBC,cAAc;EACdC,UAAU;EACVC,YAAY;EACZC,iBAAiB;EACjBC,qBAAqB;EACrBC;AACY,CAAC,EAAE;EACf;EACA1E,KAAK,CAACE,SAAS,CAAC,MAAM;IACpBW,MAAM,CAAC8D,UAAU,CAACd,KAAK,CAAC;IACxB,IAAIA,KAAK,EAAE;MACThD,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC;IACpD;EACF,CAAC,EAAE,CAACf,KAAK,CAAC,CAAC;EAEX,MAAMgB,WAAW,GAAGzE,MAAM,CAAM,IAAI,CAAC;EACrC,MAAM,CAAC0E,UAAU,EAAEC,aAAa,CAAC,GAAG1E,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAAC2E,UAAU,EAAEC,aAAa,CAAC,GAAG5E,QAAQ,CAAC,EAAE,CAAC;EAChD,MAAM,CAAC6E,UAAU,EAAEC,aAAa,CAAC,GAAG9E,QAAQ,CAAyB,IAAI,CAAC;EAC1E,MAAM,CAAC+E,QAAQ,EAAEC,WAAW,CAAC,GAAGhF,QAAQ,CAAc,EAAE,CAAC;EAEzD,MAAMiF,aAAa,GAAGrF,WAAW,CAAC,MAAM;IACtCoF,WAAW,CAAC,EAAE,CAAC;IACfF,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA;EACA,MAAMI,gBAAgB,GAAGpF,OAAO,CAAC,MAAM;IACrC,IAAI,CAACoE,YAAY,EAAE,OAAO,IAAI;IAC9B,IAAIlB,WAAW,GAAG,mBAAmB,CAAC,EAAE,OAAO,IAAI,CAAC,CAAC;IACrD,OAAO1B,kBAAkB,CAAC;MACxB6D,MAAM,EAAE;QAAElD,QAAQ,EAAE;MAAW,CAAC;MAChCiC,YAAY;MACZkB,UAAU,EAAEA,CAAA,MAAO;QACjBC,aAAa,EAAGjD,MAAM,EAAUkD,eAAe,GAAG,CAAC,EAAEC,IAAI,IAAI,SAAS;QACtEC,aAAa,EAAE,EAAE;QACjBC,qBAAqB,EAAE;MACzB,CAAC,CAAC;MACFC,UAAU,EAAEA,CAAA,KACVX,QAAQ,CAACY,GAAG,CAAEC,CAAC,KAAM;QAAEC,IAAI,EAAED,CAAC,CAACC,IAAI;QAAEC,OAAO,EAAEF,CAAC,CAACE;MAAQ,CAAC,CAAC,CAAC;MAC7DC,YAAY,EAAGC,KAAa,IAAK;QAC/BhB,WAAW,CAAEiB,IAAI,IAAK,CACpB,GAAGA,IAAI,EACP;UACEC,EAAE,EAAE,SAASC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;UACzBP,IAAI,EAAE,WAAoB;UAC1BC,OAAO,EAAE,mBAAmBE,KAAK,EAAE;UACnCK,SAAS,EAAEF,IAAI,CAACC,GAAG,CAAC;QACtB,CAAC,CACF,CAAC;MACJ;IACF,CAAC,CAAC;IACF;EACF,CAAC,EAAE,CAAClC,YAAY,EAAE9B,MAAM,EAAEY,WAAW,CAAC,CAAC;EAEvC,MAAMsD,iBAAiB,GAAGxG,OAAO,CAAC,MAAM;IACtC,IAAI,CAACoF,gBAAgB,EAAE,OAAOlC,WAAW;IACzC,OAAO;MAAEuD,iBAAiB,EAAErB,gBAAgB;MAAE,GAAGlC;IAAY,CAAC;EAChE,CAAC,EAAE,CAACkC,gBAAgB,EAAElC,WAAW,CAAC,CAAC;;EAEnC;EACA,MAAM,CAACwD,IAAI,EAAEC,OAAO,CAAC,GAAGzG,QAAQ,CAAY,MAAM,CAAC;EACnD,MAAM,CAAC0G,WAAW,EAAEC,cAAc,CAAC,GAAG3G,QAAQ,CAAC,KAAK,CAAC;EACrD,MAAM,CAAC4G,cAAc,EAAEC,iBAAiB,CAAC,GAAG7G,QAAQ,CAAC,KAAK,CAAC;EAC3D,MAAM,CAAC8G,YAAY,EAAEC,eAAe,CAAC,GAAG/G,QAAQ,CAAC,KAAK,CAAC;EACvD,MAAM,CAACgH,gBAAgB,EAAEC,mBAAmB,CAAC,GAAGjH,QAAQ,CAAC,KAAK,CAAC;EAE/D,MAAMkH,eAAe,GAAGnH,MAAM,CAAsB,IAAI,CAAC;EACzD,MAAMoH,aAAa,GAAGpH,MAAM,CAA2B,IAAI,CAAC;EAC5D,MAAMqH,cAAc,GAAGrH,MAAM,CAA4B,IAAI,CAAC;EAC9D,MAAMsH,WAAW,GAAGtH,MAAM,CAAU,KAAK,CAAC;EAC1C,MAAMuH,gBAAgB,GAAGvH,MAAM,CAAU,KAAK,CAAC;EAC/C,MAAMwH,oBAAoB,GAAGxH,MAAM,CAAS,EAAE,CAAC;EAC/C,MAAMyH,qBAAqB,GAAGzH,MAAM,CAAwC,IAAI,CAAC;EACjF,MAAM0H,iBAAiB,GAAG1H,MAAM,CAAgB,IAAI,CAAC;;EAErD;EACA,MAAM2H,cAA2B,GAAG5H,OAAO,CAAC,MAAM;IAChD,MAAM6H,KAAkB,GAAG,CAAC,MAAM,CAAC;IACnC,IAAIrE,WAAW,EAAEqE,KAAK,CAACC,IAAI,CAAC,OAAO,CAAC;IACpCpH,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,oBAAoBoD,KAAK,CAACE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC9D,OAAOF,KAAK;EACd,CAAC,EAAE,CAACrE,WAAW,CAAC,CAAC;;EAEjB;EACA,MAAMwE,kBAAkB,GAAG/H,MAAM,CAAoC,IAAI,CAAC;;EAE1E;;EAEA,MAAMoF,MAAmB,GAAGrF,OAAO,CAAC,OAAO;IACzC8B,MAAM;IACNC,QAAQ;IACRC,YAAY;IACZC,aAAa;IACbC,iBAAiB;IACjBG,KAAK;IACL4F,QAAQ,EAAE,IAAI;IACd1F,QAAQ;IACRI,oBAAoB;IACpBC,oBAAoB;IACpBC,YAAY;IACZC,WAAW;IACXC,YAAY;IACZC,WAAW;IACXE,WAAW,EAAEwD,IAAI,KAAK,OAAO,GAAG;MAAE,GAAGF,iBAAiB;MAAE0B,QAAQ,EAAE;IAAK,CAAC,GAAG1B,iBAAiB;IAC5FrD,YAAY;IACZC,SAAS;IACTC,YAAY;IACZC,MAAM;IACNC,QAAQ;IACR4E,cAAc,EAAErD,aAAa;IAC7BrB,YAAY;IACZE,aAAa;IACbC,kBAAkB;IAClBC,eAAe;IACfG,SAAS,EAAEC,YAAY,GAAGD,SAAS,GAAGoE,SAAS;IAC/ClE,cAAc;IACdC,UAAU;IACV;IACAkE,SAAS,EAAE3B,IAAI,KAAK,OAAO,GAAG0B,SAAS,GAAKE,QAAgB,IAAK;MAC/D,OAAO,IAAIC,OAAO,CAAUC,OAAO,IAAK;QACtCR,kBAAkB,CAACS,OAAO,GAAGD,OAAO;QACpC;QACAxD,aAAa,CAAC;UAAE0D,OAAO,EAAE,IAAI;UAAEC,OAAO,EAAE,KAAKL,QAAQ,EAAE;UAAEM,KAAK,EAAE;QAAG,CAAC,CAAC;QACrEhE,aAAa,CAAC,KAAK,CAAC;QACpBE,aAAa,CAAC,EAAE,CAAC;MACnB,CAAC,CAAC;IACJ,CAAE;IACF;IACA;IACA+D,aAAa,EAAGC,MAAe,IAAK;MAClCC,YAAY,CAACN,OAAO,EAAEO,cAAc,CAACF,MAAM,CAAC;IAC9C;EACF,CAAC,CAAC,EAAE,CACFpC,IAAI,EAAE5E,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,aAAa,EAAEC,iBAAiB,EAAEG,KAAK,EAAEE,QAAQ,EACvFI,oBAAoB,EAAEC,oBAAoB,EAC1CC,YAAY,EAAEC,WAAW,EAAEC,YAAY,EAAEC,WAAW,EACpDC,sBAAsB,EAAEC,WAAW,EAAEC,YAAY,EAAEC,SAAS,EAC5DC,YAAY,EAAEC,MAAM,EAAEC,QAAQ,EAAEE,YAAY,EAC5CE,aAAa,EAAEC,kBAAkB,EAAEC,eAAe,EAAEG,SAAS,EAAEC,YAAY,EAC3EC,cAAc,EAAEC,UAAU,CAC3B,CAAC;EAEF,MAAMhC,QAAQ,GAAGnC,OAAO,CACtB,MAAMM,cAAc,CAAC8B,YAAY,EAAEN,MAAM,EAAEO,KAAK,EAAEN,QAAQ,EAAEC,YAAY,CAAC,EACzE,CAACI,YAAY,EAAEN,MAAM,EAAEO,KAAK,EAAEN,QAAQ,EAAEC,YAAY,CACtD,CAAC;EAED,MAAMiH,OAAO,GAAGjJ,OAAO,CACrB,MAAM,IAAIK,YAAY,CAAC8B,QAAQ,EAAEkD,MAAM,EAAEX,WAAW,CAAC+D,OAAO,EAAEnG,MAAM,CAAC;EACrE;EACA,CAACH,QAAQ,EAAEkD,MAAM,CACnB,CAAC;;EAED;EACAtF,SAAS,CAAC,MAAM;IACdkJ,OAAO,CAACC,UAAU,CAACxE,WAAW,CAAC+D,OAAO,EAAEnG,MAAM,CAAC;EACjD,CAAC,EAAE,CAAC2G,OAAO,EAAE3G,MAAM,CAAC,CAAC;;EAErB;;EAEA,MAAMyG,YAAY,GAAG9I,MAAM,CAA0B,IAAI,CAAC;EAE1DF,SAAS,CAAC,MAAM;IACd,IAAI,CAACqE,YAAY,IAAI,CAACC,iBAAiB,EAAE;MACvCpD,oBAAoB,CAAC,IAAI,CAAC;MAC1B;IACF;IAEA,MAAMkI,SAAS,GAAG,IAAInI,gBAAgB,CAAC;MACrCoD,YAAY;MACZC,iBAAiB;MACjBC,qBAAqB;MACrBZ;IACF,CAAC,CAAC;IACFqF,YAAY,CAACN,OAAO,GAAGU,SAAS;IAChClI,oBAAoB,CAACkI,SAAS,CAAC;IAC/BA,SAAS,CAACC,KAAK,CAAC,CAAC;IAEjB,OAAO,MAAM;MACXD,SAAS,CAACE,IAAI,CAAC,CAAC;MAChBN,YAAY,CAACN,OAAO,GAAG,IAAI;MAC3BxH,oBAAoB,CAAC,IAAI,CAAC;IAC5B,CAAC;EACH,CAAC,EAAE,CAACmD,YAAY,EAAEC,iBAAiB,EAAEC,qBAAqB,EAAEZ,KAAK,CAAC,CAAC;;EAEnE;;EAEA3D,SAAS,CAAC,MAAM;IACd;IACA,IAAI,OAAOuJ,OAAO,KAAK,WAAW,IAAI,CAACA,OAAO,IAAIxH,MAAM,IAAI,CAACC,QAAQ,EAAE;MACrEwH,OAAO,CAACC,IAAI,CACV,yFAAyF,GACzF,wDAAwD,GACxD,oEAAoE,GACpE,uBACF,CAAC;IACH;EACF,CAAC,EAAE,CAAC1H,MAAM,EAAEC,QAAQ,CAAC,CAAC;;EAEtB;EACAhC,SAAS,CAAC,MAAM;IACd,IAAI,CAACuC,MAAM,EAAEmH,WAAW,IAAI,CAACV,YAAY,CAACN,OAAO,EAAE;IAEnD,MAAMiB,WAAW,GAAGpH,MAAM,CAACmH,WAAW,CAAC,OAAO,EAAE,MAAM;MACpD,MAAME,YAAY,GAAGrH,MAAM,CAACkD,eAAe,GAAG,CAAC;MAC/C,IAAImE,YAAY,EAAElE,IAAI,EAAE;QACtBsD,YAAY,CAACN,OAAO,EAAEmB,SAAS,CAACD,YAAY,CAAClE,IAAI,CAAC;MACpD;IACF,CAAC,CAAC;IAEF,OAAO,MAAMiE,WAAW,GAAG,CAAC;EAC9B,CAAC,EAAE,CAACpH,MAAM,CAAC,CAAC;;EAEZ;;EAEAvC,SAAS,CAAC,MAAM;IACd,IAAI,CAACsD,YAAY,EAAE;IAEnB3C,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,4BAA4BpB,YAAY,EAAE,CAAC;IAClE,MAAMwG,MAAM,GAAG,IAAIjJ,SAAS,CAACyC,YAAY,EAAE4F,OAAO,CAAC;IAEnD,OAAO,MAAM;MACXY,MAAM,CAACC,OAAO,CAAC,CAAC;IAClB,CAAC;EACH,CAAC,EAAE,CAACzG,YAAY,EAAE4F,OAAO,CAAC,CAAC;;EAE3B;;EAEA,MAAMc,eAAe,GAAG9J,MAAM,CAAsB,IAAI,CAAC;EACzD,MAAM,CAAC+J,cAAc,EAAEC,iBAAiB,CAAC,GAAG/J,QAAQ,CAA+B,QAAQ,CAAC;EAC5F,MAAM,CAACgK,kBAAkB,EAAEC,qBAAqB,CAAC,GAAGjK,QAAQ,CAAC,EAAE,CAAC;EAEhEH,SAAS,CAAC,MAAM;IACd,IAAIwE,aAAa,EAAE6F,OAAO,KAAK,KAAK,EAAE;MACpCL,eAAe,CAACtB,OAAO,EAAEqB,OAAO,CAAC,CAAC;MAClCC,eAAe,CAACtB,OAAO,GAAG,IAAI;MAC9BwB,iBAAiB,CAAC,QAAQ,CAAC;MAC3B;IACF;IAEA,IAAI,CAACF,eAAe,CAACtB,OAAO,EAAE;MAC5BsB,eAAe,CAACtB,OAAO,GAAG,IAAInH,YAAY,CAAC,CAAC;IAC9C;IAEAyI,eAAe,CAACtB,OAAO,CAACW,KAAK,CAAC;MAC5BiB,YAAY,EAAE,CAAC9F,aAAa,EAAE+F,iBAAiB,IAAI,CAAC,IAAI,KAAK;MAC7DC,YAAY,EAAE,CAAChG,aAAa,EAAEiG,iBAAiB,IAAI,CAAC,IAAI,KAAK;MAC7DC,OAAO,EAAEA,CAAA,KAAMR,iBAAiB,CAAC,OAAO,CAAC;MACzCS,OAAO,EAAGC,UAAkB,IAAK;QAC/BR,qBAAqB,CAACQ,UAAU,CAAC;QACjCV,iBAAiB,CAAC,OAAO,CAAC;MAC5B,CAAC;MACDW,OAAO,EAAEA,CAAA,KAAMX,iBAAiB,CAAC,QAAQ,CAAC;MAC1CY,kBAAkB,EAAEA,CAAA,KAAMtG,aAAa,EAAEsG,kBAAkB,GAAG9B,YAAY,CAACN,OAAO,EAAEqC,MAAM,IAAI,MAAM,CAAC,IAAIvG,aAAa,EAAEwG,SAAS,IAAI;IACvI,CAAC,CAAC;IAEF,OAAO,MAAM;MACXhB,eAAe,CAACtB,OAAO,EAAEqB,OAAO,CAAC,CAAC;MAClCC,eAAe,CAACtB,OAAO,GAAG,IAAI;IAChC,CAAC;EACH,CAAC,EAAE,CAAClE,aAAa,EAAEwE,YAAY,CAAC,CAAC;;EAEjC;;EAEA;EACAhJ,SAAS,CAAC,MAAM;IACd,IAAI2G,IAAI,KAAK,MAAM,EAAE;MACnBhG,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,yCAAyC,CAAC;MACjE;IACF;IAEA/D,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,oBAAoBiC,IAAI,oCAAoC,CAAC;;IAEpF;IACA,IAAIsE,sBAAqC,GAAGzC,OAAO,CAACC,OAAO,CAAC,CAAC;;IAE7D;IACA,IAAI,CAACpB,eAAe,CAACqB,OAAO,EAAE;MAC5B/H,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC;MAClD,MAAMwG,YAAY,GAAGhC,OAAO,CAACiC,QAAQ,CAAC,CAAC;MACvCxK,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,eAAewG,YAAY,CAACE,MAAM,6BAA6BF,YAAY,CAACpF,GAAG,CAACuF,CAAC,IAAIA,CAAC,CAAC3F,IAAI,CAAC,CAACsC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;MACjI;MACA;MACA,MAAMsD,WAAW,GAAG1K,sBAAsB,CAAC,IAAI,EAAEwC,YAAY,EAAEmI,MAAM,EAAE,CAAC,CAAC3H,aAAa,CAAC;MACvFjD,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,2BAA2B4G,WAAW,CAACF,MAAM,aAAaE,WAAW,EAAE,CAAC;MAC/FjE,eAAe,CAACqB,OAAO,GAAG,IAAI5H,YAAY,CAAC;QACzCiB,MAAM;QACNC,QAAQ,EAAEE,aAAa,IAAIF,QAAQ;QACnCC,YAAY,EAAEE,iBAAiB,IAAIF,YAAY;QAC/CuJ,YAAY,EAAEF,WAAW;QACzBG,KAAK,EAAEP,YAAY;QACnBhD,QAAQ,EAAE;MACZ,CAAC,CAAC;MACFvH,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,6BAA6BwG,YAAY,CAACE,MAAM,WAAWF,YAAY,CAACpF,GAAG,CAACuF,CAAC,IAAIA,CAAC,CAAC3F,IAAI,CAAC,CAACsC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;IAC/H;;IAEA;IACA,IAAI,CAACT,cAAc,CAACmB,OAAO,EAAE;MAC3B/H,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC;MACxD6C,cAAc,CAACmB,OAAO,GAAG,IAAI1H,kBAAkB,CAAC;QAC9C0K,OAAO,EAAGC,GAAG,IAAKhL,MAAM,CAACiL,KAAK,CAAC,SAAS,EAAE,sBAAsBD,GAAG,EAAE;MACvE,CAAC,CAAC;MACF;MACA;MACA;MACA;MACAV,sBAAsB,GAAG1D,cAAc,CAACmB,OAAO,CAACmD,UAAU,CAAC,CAAC,CAACC,IAAI,CAAEC,EAAE,IAAK;QACxEpL,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,mCAAmCqH,EAAE,EAAE,CAAC;MACjE,CAAC,CAAC;IACJ;;IAEA;IACA,IAAI,CAACzE,aAAa,CAACoB,OAAO,EAAE;MAC1B/H,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,+BAA+B,CAAC;MACvD4C,aAAa,CAACoB,OAAO,GAAG,IAAI3H,iBAAiB,CAAC;QAC5C;QACAiL,YAAY,EAAGC,KAAK,IAAK;UACvBtL,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,oBAAoBuH,KAAK,CAACb,MAAM,wBAAwB,CAAC,CAAC/D,eAAe,CAACqB,OAAO,eAAerB,eAAe,CAACqB,OAAO,EAAEwD,WAAW,EAAE,CAAC;UAC9J7E,eAAe,CAACqB,OAAO,EAAEyD,SAAS,CAACF,KAAK,CAAC;QAC3C,CAAC;QACDP,OAAO,EAAGC,GAAG,IAAKhL,MAAM,CAACiL,KAAK,CAAC,SAAS,EAAE,qBAAqBD,GAAG,EAAE,CAAC;QACrES,kBAAkB,EAAEA,CAAA,KAAMzL,MAAM,CAAC8I,IAAI,CAAC,SAAS,EAAE,+BAA+B;MAClF,CAAC,CAAC;IACJ;;IAEA;IACA9I,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,4BAA4B,CAAC;IACpD,KAAK2C,eAAe,CAACqB,OAAO,CAAC2D,OAAO,CAAC;MACnCC,eAAe,EAAGC,KAAK,IAAK;QAC1B5L,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,sBAAsB6H,KAAK,CAACnB,MAAM,0BAA0B,CAAC,CAAC7D,cAAc,CAACmB,OAAO,EAAE,CAAC;QAC9GxB,eAAe,CAAC,IAAI,CAAC;QACrB,IAAI,CAACK,cAAc,CAACmB,OAAO,EAAE;UAC3B/H,MAAM,CAACiL,KAAK,CAAC,SAAS,EAAE,uDAAuD,CAAC;UAChF;QACF;QACArE,cAAc,CAACmB,OAAO,CAAC8D,OAAO,CAACD,KAAK,CAAC;MACvC,CAAC;MACDE,cAAc,EAAGC,MAAM,IAAK;QAC1B/L,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,iBAAiBgI,MAAM,EAAE,CAAC;QACjD,MAAMC,SAAS,GAAGD,MAAM,KAAK,WAAW;QACxCtF,mBAAmB,CAACuF,SAAS,CAAC;QAC9B,IAAIA,SAAS,EAAE;UACbhM,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,kFAAkF,CAAC;UAC1G;UACA;UACA;UACAuG,sBAAsB,CAACa,IAAI,CAAC,MAAM;YAChCnL,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,6CAA6C,CAAC;YACrE4C,aAAa,CAACoB,OAAO,EAAEW,KAAK,CAAC,CAAC,CAACyC,IAAI,CAAEC,EAAE,IAAK;cAC1C,IAAIA,EAAE,EAAE;gBACNjF,cAAc,CAAC,IAAI,CAAC;gBACpBnG,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,uCAAuC,CAAC;cACjE;YACF,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ;;QAEA;QACA,IACEgI,MAAM,KAAK,cAAc,IACzB/F,IAAI,KAAK,OAAO,IAChBU,eAAe,CAACqB,OAAO,IACvB,CAACrB,eAAe,CAACqB,OAAO,CAACkE,qBAAqB,EAC9C;UACA;UACAtF,aAAa,CAACoB,OAAO,EAAEY,IAAI,CAAC,CAAC;UAC7B/B,cAAc,CAACmB,OAAO,EAAEY,IAAI,CAAC,CAAC;UAC9BxC,cAAc,CAAC,KAAK,CAAC;UACrBI,eAAe,CAAC,KAAK,CAAC;UAEtBvG,MAAM,CAAC8I,IAAI,CAAC,SAAS,EAAE,0EAA0E,CAAC;;UAElG;UACAoD,UAAU,CAAC,MAAM;YACf,IACElG,IAAI,KAAK,OAAO,IAChBU,eAAe,CAACqB,OAAO,IACvB,CAACrB,eAAe,CAACqB,OAAO,CAACkE,qBAAqB,IAC9CvF,eAAe,CAACqB,OAAO,CAACoE,aAAa,EACrC;cACAnM,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,iCAAiC,CAAC;cACzD,KAAK2C,eAAe,CAACqB,OAAO,CAAC2D,OAAO,CAAChF,eAAe,CAACqB,OAAO,CAACoE,aAAa,CAAC;YAC7E;UACF,CAAC,EAAE,IAAI,CAAC;QACV;MACF,CAAC;MACDC,YAAY,EAAEA,CAACC,IAAI,EAAEC,OAAO,EAAEjH,IAAI,KAAK;QACrCrF,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,eAAesB,IAAI,YAAYiH,OAAO,OAAOD,IAAI,GAAG,CAAC;QAC5E,IAAIhH,IAAI,KAAK,MAAM,EAAE;UACnByB,gBAAgB,CAACiB,OAAO,GAAG,IAAI;QACjC;MACF,CAAC;MACDwE,eAAe,EAAEA,CAAA,KAAM;QACrBvM,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,2DAA2D,CAAC;QACnF+C,gBAAgB,CAACiB,OAAO,GAAG,KAAK;QAChC,MAAMyE,cAAc,GAAGjE,OAAO,CAACkE,gBAAgB,CAAC,CAAC;QACjD1F,oBAAoB,CAACgB,OAAO,GAAGyE,cAAc,CAAC,CAAC;QAC/C,MAAME,cAAc,GAAG,+OAA+OF,cAAc,EAAE;QACtRxM,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,8BAA8B2I,cAAc,CAACjC,MAAM,aAAaiC,cAAc,EAAE,CAAC;QACxGhG,eAAe,CAACqB,OAAO,EAAE4E,iBAAiB,CAACD,cAAc,CAAC;QAC1D1M,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,oDAAoD,CAAC;MAC9E,CAAC;MACD6I,UAAU,EAAE,MAAOC,QAAQ,IAAK;QAC9B7M,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,uBAAuB8I,QAAQ,CAAC9H,IAAI,IAAI+H,IAAI,CAACC,SAAS,CAACF,QAAQ,CAACG,IAAI,CAAC,SAASH,QAAQ,CAACnH,EAAE,GAAG,CAAC;;QAEpH;QACA;QACA,IAAI,CAACoB,gBAAgB,CAACiB,OAAO,EAAE;UAC7B/H,MAAM,CAAC8I,IAAI,CAAC,SAAS,EAAE,yBAAyB+D,QAAQ,CAAC9H,IAAI,2BAA2B,CAAC;UACzF2B,eAAe,CAACqB,OAAO,EAAEkF,oBAAoB,CAACJ,QAAQ,CAAC9H,IAAI,EAAE8H,QAAQ,CAACnH,EAAE,EAAE;YACxEwH,MAAM,EAAE;UACV,CAAC,CAAC;UACF;QACF;;QAEA;QACA;QACA;QACA;QACAvG,aAAa,CAACoB,OAAO,EAAEY,IAAI,CAAC,CAAC;QAC7B3I,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,qCAAqC8I,QAAQ,CAAC9H,IAAI,EAAE,CAAC;;QAE5E;QACA,IAAI8B,WAAW,CAACkB,OAAO,EAAE;UACvB/H,MAAM,CAAC8I,IAAI,CAAC,SAAS,EAAE,wEAAwE+D,QAAQ,CAAC9H,IAAI,EAAE,CAAC;UAC/G,OAAO8B,WAAW,CAACkB,OAAO,EAAE;YAC1B,MAAM,IAAIF,OAAO,CAACC,OAAO,IAAIoE,UAAU,CAACpE,OAAO,EAAE,EAAE,CAAC,CAAC;UACvD;QACF;QACAjB,WAAW,CAACkB,OAAO,GAAG,IAAI;QAE1B,IAAI;UACF;UACA,MAAMmF,MAAM,GAAG,MAAM3E,OAAO,CAAC4E,WAAW,CAACN,QAAQ,CAAC9H,IAAI,EAAE8H,QAAQ,CAACG,IAAI,CAAC;UACtEhN,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,sBAAsB8I,QAAQ,CAAC9H,IAAI,KAAKmI,MAAM,EAAE,CAAC;;UAExE;UACA,MAAM,IAAIrF,OAAO,CAACC,OAAO,IAAIoE,UAAU,CAACpE,OAAO,EAAE,GAAG,CAAC,CAAC;;UAEtD;UACA,MAAMsF,cAAc,GAAG7E,OAAO,CAACkE,gBAAgB,CAAC,CAAC;UACjD1F,oBAAoB,CAACgB,OAAO,GAAGqF,cAAc,CAAC,CAAC;UAC/CpN,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,mCAAmC8I,QAAQ,CAAC9H,IAAI,KAAKqI,cAAc,CAAC3C,MAAM,aAAa2C,cAAc,EAAE,CAAC;UAC/H,MAAMC,cAAc,GAAG,GAAGH,MAAM,yBAAyBE,cAAc,qBAAqB;UAC5FpN,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,8BAA8BsJ,cAAc,CAAC5C,MAAM,aAAa4C,cAAc,EAAE,CAAC;UAExG3G,eAAe,CAACqB,OAAO,EAAEkF,oBAAoB,CAACJ,QAAQ,CAAC9H,IAAI,EAAE8H,QAAQ,CAACnH,EAAE,EAAE;YAAEwH,MAAM,EAAEG;UAAe,CAAC,CAAC;UACrGrN,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,6BAA6B8I,QAAQ,CAAC9H,IAAI,QAAQ8H,QAAQ,CAACnH,EAAE,GAAG,CAAC;QAC1F,CAAC,SAAS;UACRmB,WAAW,CAACkB,OAAO,GAAG,KAAK;UAC3B;UACA,IAAIrB,eAAe,CAACqB,OAAO,EAAEwD,WAAW,EAAE;YACxC5E,aAAa,CAACoB,OAAO,EAAEW,KAAK,CAAC,CAAC,CAACyC,IAAI,CAAEC,EAAE,IAAK;cAC1C,IAAIA,EAAE,EAAE;gBACNjF,cAAc,CAAC,IAAI,CAAC;gBACpBnG,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,wCAAwC8I,QAAQ,CAAC9H,IAAI,EAAE,CAAC;cACjF;YACF,CAAC,CAAC;UACJ;QACF;MACF,CAAC;MACDgG,OAAO,EAAGC,GAAG,IAAK;QAChBhL,MAAM,CAACiL,KAAK,CAAC,SAAS,EAAE,uBAAuBD,GAAG,EAAE,CAAC;QACrD;QACArE,aAAa,CAACoB,OAAO,EAAEY,IAAI,CAAC,CAAC;QAC7B/B,cAAc,CAACmB,OAAO,EAAEY,IAAI,CAAC,CAAC;QAC9BxC,cAAc,CAAC,KAAK,CAAC;QACrBI,eAAe,CAAC,KAAK,CAAC;MACxB,CAAC;MACD+G,cAAc,EAAEA,CAAA,KAAM;QACpBtN,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,kBAAkB,CAAC;QAC1CwC,eAAe,CAAC,KAAK,CAAC;QACtB;QACA;MACF;IACF,CAAC,CAAC;;IAEF;IACA;IACA;IACA,MAAMgH,oBAAoB,GAAG,IAAI;IACjC,MAAMC,cAAc,GAAG,IAAI,CAAC,CAAC;;IAE7BxG,qBAAqB,CAACe,OAAO,GAAG0F,WAAW,CAAC,MAAM;MAChD,IAAI,CAAC/G,eAAe,CAACqB,OAAO,EAAEwD,WAAW,EAAE;MAC3C;MACA,IAAI1E,WAAW,CAACkB,OAAO,EAAE;QACvB/H,MAAM,CAACgD,KAAK,CAAC,SAAS,EAAE,2CAA2C,CAAC;QACpE;MACF;MAEA,IAAI;QACF,MAAM0K,cAAc,GAAGnF,OAAO,CAACkE,gBAAgB,CAAC,CAAC;QACjD,IAAIiB,cAAc,KAAK3G,oBAAoB,CAACgB,OAAO,EAAE,OAAO,CAAC;;QAE7D;QACA,MAAM4F,OAAO,GAAG5G,oBAAoB,CAACgB,OAAO,CAAC0C,MAAM;QACnD,MAAMmD,IAAI,GAAGC,IAAI,CAACC,GAAG,CAACJ,cAAc,CAACjD,MAAM,GAAGkD,OAAO,CAAC;QACtD,MAAMI,SAAS,GAAGJ,OAAO,GAAG,CAAC,GAAGC,IAAI,GAAGD,OAAO,GAAG,CAAC;QAElD,IAAII,SAAS,GAAGP,cAAc,EAAE;UAC9BxN,MAAM,CAACgD,KAAK,CAAC,SAAS,EAAE,yCAAyC4K,IAAI,WAAW,CAACG,SAAS,GAAG,GAAG,EAAEC,OAAO,CAAC,CAAC,CAAC,OAAOR,cAAc,GAAG,GAAG,cAAc,CAAC;UACtJ;QACF;QAEAxN,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,8BAA8B4J,OAAO,MAAMD,cAAc,CAACjD,MAAM,WAAW,CAACsD,SAAS,GAAG,GAAG,EAAEC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACxIjH,oBAAoB,CAACgB,OAAO,GAAG2F,cAAc;QAC7C,MAAMO,aAAa,GAAG,6IAA6IP,cAAc,EAAE;QACnLhH,eAAe,CAACqB,OAAO,EAAE4E,iBAAiB,CAACsB,aAAa,CAAC;QACzDjO,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,+CAA+C,CAAC;MACzE,CAAC,CAAC,OAAOiH,GAAG,EAAE;QACZhL,MAAM,CAAC8I,IAAI,CAAC,SAAS,EAAE,yBAAyBkC,GAAG,EAAE,CAAC;MACxD;IACF,CAAC,EAAEuC,oBAAoB,CAAC;;IAExB;IACA,OAAO,MAAM;MACXvN,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,wCAAwCiC,IAAI,SAAS,CAAC;MAC7E;MACA,IAAIgB,qBAAqB,CAACe,OAAO,EAAE;QACjCmG,aAAa,CAAClH,qBAAqB,CAACe,OAAO,CAAC;QAC5Cf,qBAAqB,CAACe,OAAO,GAAG,IAAI;QACpC/H,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC;MAClD;MACAgD,oBAAoB,CAACgB,OAAO,GAAG,EAAE;MACjCrB,eAAe,CAACqB,OAAO,EAAEoG,UAAU,CAAC,CAAC;MACrCzH,eAAe,CAACqB,OAAO,GAAG,IAAI;MAC9BpB,aAAa,CAACoB,OAAO,EAAEY,IAAI,CAAC,CAAC;MAC7BxC,cAAc,CAAC,KAAK,CAAC;MACrBI,eAAe,CAAC,KAAK,CAAC;MACtBE,mBAAmB,CAAC,KAAK,CAAC;IAC5B,CAAC;IACD;EACF,CAAC,EAAE,CAACT,IAAI,EAAE5E,MAAM,EAAEC,QAAQ,EAAEC,YAAY,EAAEC,aAAa,EAAEC,iBAAiB,EAAE+G,OAAO,EAAE9F,YAAY,CAAC,CAAC;;EAEnG;;EAEA,MAAM2L,gBAAgB,GAAGhP,WAAW,CAAC,MAAM;IACzCY,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,6CAA6C,CAAC;IACrE;IACA4C,aAAa,CAACoB,OAAO,EAAEY,IAAI,CAAC,CAAC;IAC7B;IACA/B,cAAc,CAACmB,OAAO,EAAEY,IAAI,CAAC,CAAC;IAC9B;IACAjC,eAAe,CAACqB,OAAO,EAAEoG,UAAU,CAAC,CAAC;IACrCzH,eAAe,CAACqB,OAAO,GAAG,IAAI;IAC9B;IACA5B,cAAc,CAAC,KAAK,CAAC;IACrBI,eAAe,CAAC,KAAK,CAAC;IACtBE,mBAAmB,CAAC,KAAK,CAAC;IAC1B;IACAR,OAAO,CAAC,MAAM,CAAC;IACfjG,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,gCAAgC,CAAC;EAC1D,CAAC,EAAE,CAACwE,OAAO,CAAC,CAAC;;EAEb;;EAEA,MAAM8F,UAAU,GAAGjP,WAAW,CAAC,OAC7B6I,OAAe,EACfqG,OAA0D,KACvD;IACH,IAAI,CAACrG,OAAO,CAACsG,IAAI,CAAC,CAAC,IAAItK,UAAU,EAAE;IAEnCjE,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,kBAAkBkE,OAAO,GAAG,CAAC;;IAEpD;IACAzD,WAAW,CAAEiB,IAAI,IAAK,CACpB,GAAGA,IAAI,EACP;MACEC,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC4I,QAAQ,CAAC,CAAC,GAAGX,IAAI,CAACY,MAAM,CAAC,CAAC;MACzCpJ,IAAI,EAAE,MAAM;MACZC,OAAO,EAAE2C,OAAO,CAACsG,IAAI,CAAC,CAAC;MACvB1I,SAAS,EAAEF,IAAI,CAACC,GAAG,CAAC;IACtB,CAAC,CACF,CAAC;;IAEF;IACA,IAAI0B,kBAAkB,CAACS,OAAO,EAAE;MAC9B,MAAM2G,QAAQ,GAAGpH,kBAAkB,CAACS,OAAO;MAC3CT,kBAAkB,CAACS,OAAO,GAAG,IAAI;MACjC7D,aAAa,CAAC,IAAI,CAAC;MACnBE,aAAa,CAAC,2BAA2B,CAAC;MAC1CE,aAAa,CAAC,IAAI,CAAC;MACnBoK,QAAQ,CAACzG,OAAO,CAAC;MACjB;IACF;;IAEA;IACA/D,aAAa,CAAC,IAAI,CAAC;IACnBE,aAAa,CAAC,aAAa,CAAC;IAC5BE,aAAa,CAAC,IAAI,CAAC;;IAEnB;IACA+D,YAAY,CAACN,OAAO,EAAE4G,KAAK,CAAC,eAAe,EAAE;MAC3CC,KAAK,EAAE3G,OAAO,CAACsG,IAAI,CAAC;IACtB,CAAC,CAAC;IAEF,IAAI;MACF;MACAhG,OAAO,CAACC,UAAU,CAACxE,WAAW,CAAC+D,OAAO,EAAEnG,MAAM,CAAC;MAE/C,MAAMsL,MAAM,GAAG,MAAM3E,OAAO,CAACsG,OAAO,CAAC5G,OAAO,EAAE1D,QAAQ,CAAC;;MAEvD;MACA,IAAI8D,YAAY,CAACN,OAAO,EAAE;QACxB,KAAK,MAAM+G,IAAI,IAAI5B,MAAM,CAAChF,KAAK,IAAI,EAAE,EAAE;UACrCG,YAAY,CAACN,OAAO,CAAC4G,KAAK,CAAC,YAAY,EAAE;YACvCI,IAAI,EAAED,IAAI,CAACE,MAAM,CAACjK,IAAI;YACtBiI,IAAI,EAAE8B,IAAI,CAACE,MAAM,CAACC,KAAK;YACvB/B,MAAM,EAAE,OAAO4B,IAAI,CAACE,MAAM,CAACE,MAAM,KAAK,QAAQ,GAC1CJ,IAAI,CAACE,MAAM,CAACE,MAAM,CAACC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,GACpCC,MAAM,CAACN,IAAI,CAACE,MAAM,CAACE,MAAM;UAC/B,CAAC,CAAC;QACJ;QACA7G,YAAY,CAACN,OAAO,CAAC4G,KAAK,CAAC,gBAAgB,EAAE;UAC3C3G,OAAO,EAAEkF,MAAM,CAAClF,OAAO;UACvBE,KAAK,EAAEgF,MAAM,CAAChF,KAAK,EAAEuC,MAAM,IAAI,CAAC;UAChC4E,MAAM,EAAEnC,MAAM,CAACoC,UAAU,EAAEC,WAAW,IAAI,CAAC;UAC3CC,IAAI,EAAEtC,MAAM,CAACoC,UAAU,EAAEG,gBAAgB,IAAI;QAC/C,CAAC,CAAC;MACJ;MAEAnL,aAAa,CAAC4I,MAAM,CAAC;;MAErB;MACA1I,WAAW,CAAEiB,IAAI,IAAK,CACpB,GAAGA,IAAI,EACP;QACEC,EAAE,EAAEC,IAAI,CAACC,GAAG,CAAC,CAAC,CAAC4I,QAAQ,CAAC,CAAC,GAAGX,IAAI,CAACY,MAAM,CAAC,CAAC;QACzCpJ,IAAI,EAAE,WAAW;QACjBC,OAAO,EAAE4H,MAAM,CAACjF,OAAO;QACvBpC,SAAS,EAAEF,IAAI,CAACC,GAAG,CAAC,CAAC;QACrBsH;MACF,CAAC,CACF,CAAC;MAEF,IAAIoB,OAAO,EAAEtM,QAAQ,EAAE;QACrBsM,OAAO,CAACtM,QAAQ,CAACkL,MAAM,CAAC;MAC1B,CAAC,MAAM;QACLlL,QAAQ,GAAGkL,MAAM,CAAC;MACpB;MAEAlN,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,WAAWmJ,MAAM,CAAClF,OAAO,GAAG,GAAG,GAAG,GAAG,IAAIkF,MAAM,CAACjF,OAAO,EAAE,CAAC;IACnF,CAAC,CAAC,OAAOgD,KAAU,EAAE;MACnBjL,MAAM,CAACiL,KAAK,CAAC,SAAS,EAAE,mBAAmB,EAAEA,KAAK,CAAC;;MAEnD;MACA5C,YAAY,CAACN,OAAO,EAAE4G,KAAK,CAAC,gBAAgB,EAAE;QAC5C3G,OAAO,EAAE,KAAK;QACdiD,KAAK,EAAEA,KAAK,CAAChD;MACf,CAAC,CAAC;MAEF3D,aAAa,CAAC;QACZ0D,OAAO,EAAE,KAAK;QACdC,OAAO,EAAE,UAAUgD,KAAK,CAAChD,OAAO,EAAE;QAClCC,KAAK,EAAE;MACT,CAAC,CAAC;IACJ,CAAC,SAAS;MACRhE,aAAa,CAAC,KAAK,CAAC;MACpBE,aAAa,CAAC,EAAE,CAAC;IACnB;EACF,CAAC,EAAE,CAACmE,OAAO,EAAE3G,MAAM,EAAEI,QAAQ,EAAEuC,QAAQ,EAAEN,UAAU,CAAC,CAAC;;EAErD;;EAEA,MAAMyL,YAAY,GAAGtQ,WAAW,CAAC,MAAM;IACrCmJ,OAAO,CAACoH,MAAM,CAAC,CAAC;IAChBzL,aAAa,CAAC,KAAK,CAAC;IACpBE,aAAa,CAAC,EAAE,CAAC;EACnB,CAAC,EAAE,CAACmE,OAAO,CAAC,CAAC;EAEb,MAAMqH,YAAY,GAAGtQ,OAAO,CAAC,OAAO;IAClCiJ,OAAO;IACPsH,IAAI,EAAExB,UAAU;IAChByB,SAAS,EAAE7L,UAAU;IACrB8H,MAAM,EAAE5H,UAAU;IAClBE,UAAU;IACVE,QAAQ;IACRE,aAAa;IACbkL,MAAM,EAAED;EACV,CAAC,CAAC,EAAE,CAACnH,OAAO,EAAE8F,UAAU,EAAEqB,YAAY,EAAEzL,UAAU,EAAEE,UAAU,EAAEE,UAAU,EAAEE,QAAQ,EAAEE,aAAa,CAAC,CAAC;;EAErG;;EAEA,oBACEzD,IAAA,CAACnB,YAAY,CAACkQ,QAAQ;IAACC,KAAK,EAAEJ,YAAa;IAAA7N,QAAA,eACzCb,KAAA,CAACzB,IAAI;MAACwQ,KAAK,EAAEC,MAAM,CAACC,IAAK;MAAApO,QAAA,gBAEvBf,IAAA,CAACvB,IAAI;QACH2Q,GAAG,EAAEpM,WAAY;QACjBiM,KAAK,EAAEC,MAAM,CAACC,IAAK;QACnBE,WAAW,EAAE,KAAM;QACnBC,gCAAgC,EAAGC,KAAK,IAAK;UAC3C;UACA;UACA;UACA,IAAIlI,YAAY,CAACN,OAAO,IAAI,CAACM,YAAY,CAACN,OAAO,CAACyI,aAAa,EAAE;YAC/D,MAAMC,KAAK,GAAGjQ,iBAAiB,CAAC+P,KAAK,CAACG,WAAW,CAAC;YAClD,IAAID,KAAK,IAAIA,KAAK,KAAK,iBAAiB,IAAIA,KAAK,KAAK,aAAa,EAAE;cACnEpI,YAAY,CAACN,OAAO,CAAC4G,KAAK,CAAC,kBAAkB,EAAE;gBAC7CgC,IAAI,EAAE,KAAK;gBACXF,KAAK;gBACLG,KAAK,EAAE,MAAM;gBACbC,CAAC,EAAEhD,IAAI,CAACiD,KAAK,CAACP,KAAK,CAACG,WAAW,CAACK,KAAK,CAAC;gBACtCC,CAAC,EAAEnD,IAAI,CAACiD,KAAK,CAACP,KAAK,CAACG,WAAW,CAACO,KAAK;cACvC,CAAC,CAAC;;cAEF;cACAxQ,cAAc,CAACgQ,KAAK,EAAEpI,YAAY,CAACN,OAAO,CAAC;YAC7C,CAAC,MAAM;cACL;cACAM,YAAY,CAACN,OAAO,CAAC4G,KAAK,CAAC,YAAY,EAAE;gBACvCkC,CAAC,EAAEhD,IAAI,CAACiD,KAAK,CAACP,KAAK,CAACG,WAAW,CAACK,KAAK,CAAC;gBACtCC,CAAC,EAAEnD,IAAI,CAACiD,KAAK,CAACP,KAAK,CAACG,WAAW,CAACO,KAAK,CAAC;gBACtC7G,MAAM,EAAE/B,YAAY,CAACN,OAAO,CAACqC;cAC/B,CAAC,CAAC;YACJ;UACF;UACA;UACA,OAAO,KAAK;QACd,CAAE;QAAArI,QAAA,eAEFf,IAAA,CAACN,kBAAkB;UACjB2H,YAAY,EAAEA,YAAa;UAC3B0C,OAAO,EAAEA,CAACE,KAAK,EAAEiG,cAAc,KAAK;YAClC,MAAMC,QAAQ,GAAG,kCAAkClG,KAAK,CAAChD,OAAO,EAAE;YAClEhB,iBAAiB,CAACc,OAAO,GAAGoJ,QAAQ;YACpCnR,MAAM,CAAC8I,IAAI,CAAC,SAAS,EAAE,iCAAiCmC,KAAK,CAAChD,OAAO,KAAKiJ,cAAc,IAAI,EAAE,EAAE,CAAC;UACnG,CAAE;UAAAnP,QAAA,EAEDA;QAAQ,CACS;MAAC,CACjB,CAAC,eAGPb,KAAA,CAACzB,IAAI;QAACwQ,KAAK,EAAEC,MAAM,CAACkB,aAAc;QAACC,aAAa,EAAC,UAAU;QAAAtP,QAAA,gBAEzDf,IAAA,CAACL,gBAAgB,IAAE,CAAC,eAGpBK,IAAA,CAACjB,YAAY;UAACuR,OAAO,EAAErN,UAAW;UAACE,UAAU,EAAEA,UAAW;UAACoN,QAAQ,EAAE7B;QAAa,CAAE,CAAC,EAGpF5N,WAAW,iBACVd,IAAA,CAACH,aAAa;UACZ2Q,KAAK,EAAElI,cAAe;UACtBe,SAAS,EAAEb,kBAAmB;UAC9BiI,SAAS,EAAEA,CAAA,KAAMpI,eAAe,CAACtB,OAAO,EAAE2J,OAAO,CAAC,CAAE;UAAA3P,QAAA,eAEpDf,IAAA,CAAClB,YAAY;YACX6R,MAAM,EAAEtD,UAAW;YACnBpK,UAAU,EAAEA,UAAW;YACvBI,UAAU,EAAEA,UAAW;YACvBkD,QAAQ,EAAE,IAAK;YACfkK,SAAS,EAAEA,CAAA,KAAMnN,aAAa,CAAC,IAAI,CAAE;YACrCjB,KAAK,EAAED,WAAW,IAAIC,KAAK,GAAG;cAC5B,IAAID,WAAW,GAAG;gBAAEwO,YAAY,EAAExO;cAAY,CAAC,GAAG,CAAC,CAAC,CAAC;cACrD,GAAGC;YACL,CAAC,GAAGqE,SAAU;YACdR,cAAc,EAAEA,cAAe;YAC/BlB,IAAI,EAAEA,IAAK;YACX6L,YAAY,EAAGC,OAAO,IAAK;cACzB9R,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,gBAAgBiC,IAAI,MAAM8L,OAAO,EAAE,CAAC;cAC3D7L,OAAO,CAAC6L,OAAO,CAAC;YAClB,CAAE;YACF5L,WAAW,EAAEA,WAAY;YACzBE,cAAc,EAAEA,cAAe;YAC/BE,YAAY,EAAEA,YAAa;YAC3ByL,aAAa,EAAE3D,gBAAiB;YAChC5H,gBAAgB,EAAEA,gBAAiB;YACnCwL,WAAW,EAAG5J,MAAM,IAAK;cACvB,IAAIA,MAAM,IAAI,CAAC5B,gBAAgB,EAAE;gBAC/BxG,MAAM,CAAC8I,IAAI,CAAC,SAAS,EAAE,oDAAoD,CAAC;gBAC5E;cACF;cACA9I,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,eAAeqE,MAAM,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC;cAC9DjC,cAAc,CAACiC,MAAM,CAAC;cACtB,IAAIA,MAAM,EAAE;gBACVpI,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC;gBAChD4C,aAAa,CAACoB,OAAO,EAAEW,KAAK,CAAC,CAAC,CAACyC,IAAI,CAAEC,EAAE,IAAK;kBAC1CpL,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,4BAA4BqH,EAAE,EAAE,CAAC;gBAC1D,CAAC,CAAC;cACJ,CAAC,MAAM;gBACLpL,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC;gBAChD4C,aAAa,CAACoB,OAAO,EAAEY,IAAI,CAAC,CAAC;cAC/B;YACF,CAAE;YACFsJ,eAAe,EAAGC,KAAK,IAAK;cAC1BlS,MAAM,CAAC+D,IAAI,CAAC,SAAS,EAAE,mBAAmBmO,KAAK,GAAG,OAAO,GAAG,SAAS,EAAE,CAAC;cACxE7L,iBAAiB,CAAC6L,KAAK,CAAC;cACxB,IAAIA,KAAK,EAAE;gBACTtL,cAAc,CAACmB,OAAO,EAAEoK,IAAI,CAAC,CAAC;cAChC,CAAC,MAAM;gBACLvL,cAAc,CAACmB,OAAO,EAAEqK,MAAM,CAAC,CAAC;cAClC;YACF;UAAE,CACH;QAAC,CACW,CAChB;MAAA,CACG,CAAC;IAAA,CACH;EAAC,CACc,CAAC;AAE5B;AAGA,MAAMlC,MAAM,GAAGxQ,UAAU,CAAC2S,MAAM,CAAC;EAC/BlC,IAAI,EAAE;IACJmC,IAAI,EAAE;EACR,CAAC;EACDlB,aAAa,EAAE;IACbmB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAAC;IACNC,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRC,MAAM,EAAE,CAAC;IACTC,MAAM,EAAE;EACV;AACF,CAAC,CAAC","ignoreList":[]}
|