react-native-ai-devtools 1.4.8 → 1.4.9
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/build/__tests__/unit/tap.test.js +107 -9
- package/build/__tests__/unit/tap.test.js.map +1 -1
- package/build/core/ios.d.ts +13 -0
- package/build/core/ios.d.ts.map +1 -1
- package/build/core/ios.js +49 -1
- package/build/core/ios.js.map +1 -1
- package/build/core/logbox.d.ts +1 -1
- package/build/core/logbox.d.ts.map +1 -1
- package/build/core/logbox.js +45 -5
- package/build/core/logbox.js.map +1 -1
- package/build/core/ocr.d.ts +6 -0
- package/build/core/ocr.d.ts.map +1 -1
- package/build/core/ocr.js +9 -14
- package/build/core/ocr.js.map +1 -1
- package/build/index.js +11 -6
- package/build/index.js.map +1 -1
- package/build/pro/screenshot-diff.d.ts +3 -1
- package/build/pro/screenshot-diff.d.ts.map +1 -1
- package/build/pro/screenshot-diff.js +12 -5
- package/build/pro/screenshot-diff.js.map +1 -1
- package/build/pro/tap.d.ts +16 -2
- package/build/pro/tap.d.ts.map +1 -1
- package/build/pro/tap.js +118 -48
- package/build/pro/tap.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import pixelmatch from "pixelmatch";
|
|
2
2
|
import sharp from "sharp";
|
|
3
|
-
const
|
|
3
|
+
const POSSIBLE_CHANGE = 0.001; // 0.1% — likely real (text updates, counter changes)
|
|
4
4
|
const PIXEL_THRESHOLD = 0.1; // pixelmatch per-pixel color tolerance (0-1)
|
|
5
|
-
export async function compareScreenshots(before, after) {
|
|
5
|
+
export async function compareScreenshots(before, after, options) {
|
|
6
6
|
const [imgBefore, imgAfter] = await Promise.all([
|
|
7
7
|
sharp(before).ensureAlpha().raw().toBuffer({ resolveWithObject: true }),
|
|
8
8
|
sharp(after).ensureAlpha().raw().toBuffer({ resolveWithObject: true }),
|
|
@@ -17,11 +17,18 @@ export async function compareScreenshots(before, after) {
|
|
|
17
17
|
};
|
|
18
18
|
}
|
|
19
19
|
const { width, height } = imgBefore.info;
|
|
20
|
-
|
|
21
|
-
const
|
|
20
|
+
// Crop out status bar: skip the first statusBarPx rows of pixels
|
|
21
|
+
const statusBarPx = options?.statusBarHeight ?? 0;
|
|
22
|
+
const croppedHeight = height - statusBarPx;
|
|
23
|
+
const totalPixels = width * croppedHeight;
|
|
24
|
+
const rowBytes = width * 4; // RGBA
|
|
25
|
+
const skipBytes = statusBarPx * rowBytes;
|
|
26
|
+
const beforeData = new Uint8Array(imgBefore.data.buffer, imgBefore.data.byteOffset + skipBytes, croppedHeight * rowBytes);
|
|
27
|
+
const afterData = new Uint8Array(imgAfter.data.buffer, imgAfter.data.byteOffset + skipBytes, croppedHeight * rowBytes);
|
|
28
|
+
const changedPixels = pixelmatch(beforeData, afterData, undefined, width, croppedHeight, { threshold: PIXEL_THRESHOLD });
|
|
22
29
|
const changeRate = changedPixels / totalPixels;
|
|
23
30
|
return {
|
|
24
|
-
changed: changeRate
|
|
31
|
+
changed: changeRate >= POSSIBLE_CHANGE,
|
|
25
32
|
changeRate,
|
|
26
33
|
changedPixels,
|
|
27
34
|
totalPixels,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-diff.js","sourceRoot":"","sources":["../../src/pro/screenshot-diff.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,
|
|
1
|
+
{"version":3,"file":"screenshot-diff.js","sourceRoot":"","sources":["../../src/pro/screenshot-diff.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAS1B,MAAM,eAAe,GAAG,KAAK,CAAC,CAAE,qDAAqD;AACrF,MAAM,eAAe,GAAG,GAAG,CAAC,CAAI,6CAA6C;AAE7E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACpC,MAAc,EACd,KAAa,EACb,OAAsC;IAEtC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC5C,KAAK,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;QACvE,KAAK,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;KACzE,CAAC,CAAC;IAEH,0EAA0E;IAC1E,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,KAAK,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,KAAK,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjG,OAAO;YACH,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,CAAC;YACb,aAAa,EAAE,IAAI,CAAC,GAAG,CACnB,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAC5C,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAC7C;YACD,WAAW,EAAE,IAAI,CAAC,GAAG,CACjB,SAAS,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,MAAM,EAC5C,QAAQ,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAC7C;SACJ,CAAC;IACN,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC;IAEzC,iEAAiE;IACjE,MAAM,WAAW,GAAG,OAAO,EAAE,eAAe,IAAI,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,MAAM,GAAG,WAAW,CAAC;IAC3C,MAAM,WAAW,GAAG,KAAK,GAAG,aAAa,CAAC;IAE1C,MAAM,QAAQ,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO;IACnC,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,CAAC;IAEzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAC7B,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,EAAE,aAAa,GAAG,QAAQ,CACzF,CAAC;IACF,MAAM,SAAS,GAAG,IAAI,UAAU,CAC5B,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,UAAU,GAAG,SAAS,EAAE,aAAa,GAAG,QAAQ,CACvF,CAAC;IAEF,MAAM,aAAa,GAAG,UAAU,CAC5B,UAAU,EACV,SAAS,EACT,SAAS,EACT,KAAK,EACL,aAAa,EACb,EAAE,SAAS,EAAE,eAAe,EAAE,CACjC,CAAC;IAEF,MAAM,UAAU,GAAG,aAAa,GAAG,WAAW,CAAC;IAE/C,OAAO;QACH,OAAO,EAAE,UAAU,IAAI,eAAe;QACtC,UAAU;QACV,aAAa;QACb,WAAW;KACd,CAAC;AACN,CAAC"}
|
package/build/pro/tap.d.ts
CHANGED
|
@@ -59,7 +59,9 @@ export interface BurstAnalysis {
|
|
|
59
59
|
peakFrame: number;
|
|
60
60
|
framesWithChange: number[];
|
|
61
61
|
}
|
|
62
|
-
export declare function analyzeBurstFrames(frames: Buffer[]
|
|
62
|
+
export declare function analyzeBurstFrames(frames: Buffer[], options?: {
|
|
63
|
+
statusBarHeight?: number;
|
|
64
|
+
}): Promise<BurstAnalysis>;
|
|
63
65
|
export interface TapResult {
|
|
64
66
|
success: boolean;
|
|
65
67
|
method?: string;
|
|
@@ -99,10 +101,22 @@ export declare function buildQuery(options: TapOptions): TapQuery;
|
|
|
99
101
|
*/
|
|
100
102
|
export declare function hasProblematicUnicode(text: string): boolean;
|
|
101
103
|
export declare function getAvailableStrategies(query: TapQuery, strategy: TapStrategy): string[];
|
|
102
|
-
|
|
104
|
+
/**
|
|
105
|
+
* Convert screenshot image coordinates to platform-native tap coordinates.
|
|
106
|
+
*
|
|
107
|
+
* For iOS: screenshot pixels → device pixels (undo downscale) → points (÷ DPR)
|
|
108
|
+
* For Android: screenshot pixels → device pixels (undo downscale)
|
|
109
|
+
*
|
|
110
|
+
* IMPORTANT: Only use this for EXTERNAL coordinates from screenshots.
|
|
111
|
+
* Internal strategies (OCR, accessibility, fiber) produce tap-ready coordinates
|
|
112
|
+
* and call iosTap/androidTap directly — they must NOT go through this function.
|
|
113
|
+
*/
|
|
114
|
+
export declare function convertScreenshotToTapCoords(pixelX: number, pixelY: number, platform: "ios" | "android", devicePixelRatio: number, scaleFactor?: number): {
|
|
103
115
|
x: number;
|
|
104
116
|
y: number;
|
|
105
117
|
};
|
|
118
|
+
/** @deprecated Use convertScreenshotToTapCoords instead */
|
|
119
|
+
export declare const convertPixelsToPoints: typeof convertScreenshotToTapCoords;
|
|
106
120
|
export declare function getCurrentScreen(): Promise<string | null>;
|
|
107
121
|
export declare function formatTapSuccess(data: {
|
|
108
122
|
method: string;
|
package/build/pro/tap.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"AAYA,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,OAAO,GAAG,eAAe,GAAG,KAAK,GAAG,YAAY,CAAC;AAEpF,MAAM,WAAW,QAAQ;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,UAAU;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,WAAW,CAAC;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,4BAA4B,CAAC,CAAC,EAAE;IAC5C,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,CA0BT;AAED,MAAM,WAAW,aAAa;IAC1B,UAAU,EAAE,OAAO,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,uBAAuB,EAAE,OAAO,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,EAAE,CAAC;CAC9B;AAID,wBAAsB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC,
|
|
1
|
+
{"version":3,"file":"tap.d.ts","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"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"}
|
package/build/pro/tap.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { connectedApps, imageBuffer } from "../core/state.js";
|
|
2
|
-
import { inferIOSDevicePixelRatio } from "../core/ocr.js";
|
|
3
2
|
import { executeInApp } from "../core/executor.js";
|
|
4
3
|
import { pressElement } from "../core/executor.js";
|
|
5
4
|
import { iosTap, iosFindElement, iosScreenshot, getActiveOrBootedSimulatorUdid } from "../core/ios.js";
|
|
@@ -25,7 +24,7 @@ export function buildVerificationExplanation(v) {
|
|
|
25
24
|
`The element may not respond visually or the tap may have missed.`);
|
|
26
25
|
}
|
|
27
26
|
const BURST_CHANGE_THRESHOLD = 0.005;
|
|
28
|
-
export async function analyzeBurstFrames(frames) {
|
|
27
|
+
export async function analyzeBurstFrames(frames, options) {
|
|
29
28
|
if (frames.length < 2) {
|
|
30
29
|
return {
|
|
31
30
|
meaningful: false,
|
|
@@ -40,7 +39,7 @@ export async function analyzeBurstFrames(frames) {
|
|
|
40
39
|
let peakFrame = 0;
|
|
41
40
|
const framesWithChange = [];
|
|
42
41
|
for (let i = 1; i < frames.length; i++) {
|
|
43
|
-
const diff = await compareScreenshots(frames[i - 1], frames[i]);
|
|
42
|
+
const diff = await compareScreenshots(frames[i - 1], frames[i], options);
|
|
44
43
|
if (diff.changeRate > BURST_CHANGE_THRESHOLD) {
|
|
45
44
|
framesWithChange.push(i);
|
|
46
45
|
}
|
|
@@ -49,7 +48,7 @@ export async function analyzeBurstFrames(frames) {
|
|
|
49
48
|
peakFrame = i;
|
|
50
49
|
}
|
|
51
50
|
}
|
|
52
|
-
const persistentDiff = await compareScreenshots(frames[0], frames[frames.length - 1]);
|
|
51
|
+
const persistentDiff = await compareScreenshots(frames[0], frames[frames.length - 1], options);
|
|
53
52
|
const persistentChangeRate = persistentDiff.changeRate;
|
|
54
53
|
const transientChangeDetected = !persistentDiff.changed && framesWithChange.length > 0;
|
|
55
54
|
const meaningful = persistentDiff.changed || transientChangeDetected;
|
|
@@ -114,17 +113,29 @@ export function getAvailableStrategies(query, strategy) {
|
|
|
114
113
|
}
|
|
115
114
|
return ["fiber", "accessibility", "ocr"];
|
|
116
115
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
116
|
+
/**
|
|
117
|
+
* Convert screenshot image coordinates to platform-native tap coordinates.
|
|
118
|
+
*
|
|
119
|
+
* For iOS: screenshot pixels → device pixels (undo downscale) → points (÷ DPR)
|
|
120
|
+
* For Android: screenshot pixels → device pixels (undo downscale)
|
|
121
|
+
*
|
|
122
|
+
* IMPORTANT: Only use this for EXTERNAL coordinates from screenshots.
|
|
123
|
+
* Internal strategies (OCR, accessibility, fiber) produce tap-ready coordinates
|
|
124
|
+
* and call iosTap/androidTap directly — they must NOT go through this function.
|
|
125
|
+
*/
|
|
126
|
+
export function convertScreenshotToTapCoords(pixelX, pixelY, platform, devicePixelRatio, scaleFactor = 1) {
|
|
127
|
+
const deviceX = pixelX * scaleFactor;
|
|
128
|
+
const deviceY = pixelY * scaleFactor;
|
|
120
129
|
if (platform === "android") {
|
|
121
|
-
return { x: Math.round(
|
|
130
|
+
return { x: Math.round(deviceX), y: Math.round(deviceY) };
|
|
122
131
|
}
|
|
123
132
|
return {
|
|
124
|
-
x: Math.round(
|
|
125
|
-
y: Math.round(
|
|
133
|
+
x: Math.round(deviceX / devicePixelRatio),
|
|
134
|
+
y: Math.round(deviceY / devicePixelRatio),
|
|
126
135
|
};
|
|
127
136
|
}
|
|
137
|
+
/** @deprecated Use convertScreenshotToTapCoords instead */
|
|
138
|
+
export const convertPixelsToPoints = convertScreenshotToTapCoords;
|
|
128
139
|
export async function getCurrentScreen() {
|
|
129
140
|
try {
|
|
130
141
|
// Note: Uses var instead of let/const because Hermes Runtime.evaluate
|
|
@@ -431,8 +442,6 @@ async function tryOcrStrategy(query, platform) {
|
|
|
431
442
|
}
|
|
432
443
|
let imageBuffer;
|
|
433
444
|
let scaleFactor = 1;
|
|
434
|
-
let originalWidth;
|
|
435
|
-
let originalHeight;
|
|
436
445
|
if (platform === "ios") {
|
|
437
446
|
const screenshot = await iosScreenshot();
|
|
438
447
|
if (!screenshot.success || !screenshot.data) {
|
|
@@ -440,8 +449,6 @@ async function tryOcrStrategy(query, platform) {
|
|
|
440
449
|
}
|
|
441
450
|
imageBuffer = screenshot.data;
|
|
442
451
|
scaleFactor = screenshot.scaleFactor ?? 1;
|
|
443
|
-
originalWidth = screenshot.originalWidth;
|
|
444
|
-
originalHeight = screenshot.originalHeight;
|
|
445
452
|
}
|
|
446
453
|
else {
|
|
447
454
|
const { androidScreenshot } = await import("../core/android.js");
|
|
@@ -451,17 +458,11 @@ async function tryOcrStrategy(query, platform) {
|
|
|
451
458
|
}
|
|
452
459
|
imageBuffer = screenshot.data;
|
|
453
460
|
scaleFactor = screenshot.scaleFactor ?? 1;
|
|
454
|
-
originalWidth = screenshot.originalWidth;
|
|
455
|
-
originalHeight = screenshot.originalHeight;
|
|
456
461
|
}
|
|
457
|
-
const devicePixelRatio = (platform === "ios" && originalWidth && originalHeight)
|
|
458
|
-
? inferIOSDevicePixelRatio(originalWidth, originalHeight)
|
|
459
|
-
: 3;
|
|
460
462
|
const { recognizeText } = await import("../core/ocr.js");
|
|
461
463
|
const ocrResult = await recognizeText(imageBuffer, {
|
|
462
464
|
scaleFactor,
|
|
463
465
|
platform,
|
|
464
|
-
devicePixelRatio,
|
|
465
466
|
});
|
|
466
467
|
const lowerSearch = searchText.toLowerCase();
|
|
467
468
|
const matchingWord = ocrResult.words.find((w) => w.text.toLowerCase() === lowerSearch) || ocrResult.words.find((w) => w.text.toLowerCase().includes(lowerSearch));
|
|
@@ -469,10 +470,14 @@ async function tryOcrStrategy(query, platform) {
|
|
|
469
470
|
return { success: false, reason: `OCR did not find text "${searchText}" on screen` };
|
|
470
471
|
}
|
|
471
472
|
if (platform === "ios") {
|
|
472
|
-
|
|
473
|
+
// tapCenter is in image-pixel space (downscaled) — convert to points
|
|
474
|
+
const { getDevicePixelRatio } = await import("../core/ios.js");
|
|
475
|
+
const dpr = await getDevicePixelRatio();
|
|
476
|
+
await iosTap(Math.round((matchingWord.tapCenter.x * scaleFactor) / dpr), Math.round((matchingWord.tapCenter.y * scaleFactor) / dpr));
|
|
473
477
|
}
|
|
474
478
|
else {
|
|
475
|
-
|
|
479
|
+
// Android: image-pixel → device-pixel (undo downscale), ADB accepts pixels
|
|
480
|
+
await androidTap(Math.round(matchingWord.tapCenter.x * scaleFactor), Math.round(matchingWord.tapCenter.y * scaleFactor));
|
|
476
481
|
}
|
|
477
482
|
return {
|
|
478
483
|
success: true,
|
|
@@ -481,7 +486,7 @@ async function tryOcrStrategy(query, platform) {
|
|
|
481
486
|
convertedTo: {
|
|
482
487
|
x: matchingWord.tapCenter.x,
|
|
483
488
|
y: matchingWord.tapCenter.y,
|
|
484
|
-
unit:
|
|
489
|
+
unit: "pixels",
|
|
485
490
|
},
|
|
486
491
|
};
|
|
487
492
|
}
|
|
@@ -496,12 +501,9 @@ async function tryCoordinateStrategy(pixelX, pixelY, platform, lastScreenshot) {
|
|
|
496
501
|
try {
|
|
497
502
|
if (platform === "ios") {
|
|
498
503
|
const scaleFactor = lastScreenshot?.scaleFactor ?? 1;
|
|
499
|
-
const
|
|
500
|
-
const
|
|
501
|
-
const
|
|
502
|
-
? inferIOSDevicePixelRatio(originalWidth, originalHeight)
|
|
503
|
-
: 3;
|
|
504
|
-
const converted = convertPixelsToPoints(pixelX, pixelY, "ios", devicePixelRatio, scaleFactor);
|
|
504
|
+
const { getDevicePixelRatio } = await import("../core/ios.js");
|
|
505
|
+
const devicePixelRatio = await getDevicePixelRatio();
|
|
506
|
+
const converted = convertScreenshotToTapCoords(pixelX, pixelY, "ios", devicePixelRatio, scaleFactor);
|
|
505
507
|
await iosTap(converted.x, converted.y);
|
|
506
508
|
// Best-effort: identify what was tapped via fiber tree
|
|
507
509
|
let screen = null;
|
|
@@ -520,7 +522,7 @@ async function tryCoordinateStrategy(pixelX, pixelY, platform, lastScreenshot) {
|
|
|
520
522
|
}
|
|
521
523
|
else {
|
|
522
524
|
const scaleFactor = lastScreenshot?.scaleFactor ?? 1;
|
|
523
|
-
const converted =
|
|
525
|
+
const converted = convertScreenshotToTapCoords(pixelX, pixelY, "android", 1, scaleFactor);
|
|
524
526
|
await androidTap(converted.x, converted.y);
|
|
525
527
|
// Best-effort: identify what was tapped via fiber tree
|
|
526
528
|
let screen = null;
|
|
@@ -595,7 +597,8 @@ async function verifyAndCapture(platform, shouldVerify, shouldScreenshot, before
|
|
|
595
597
|
let verification;
|
|
596
598
|
if (shouldVerify && beforeBuffer) {
|
|
597
599
|
try {
|
|
598
|
-
const
|
|
600
|
+
const statusBarHeight = platform === "ios" ? 177 : 142; // pixels in screenshot space
|
|
601
|
+
const diff = await compareScreenshots(beforeBuffer, after.buffer, { statusBarHeight });
|
|
599
602
|
verification = {
|
|
600
603
|
meaningful: diff.changed,
|
|
601
604
|
changeRate: diff.changeRate,
|
|
@@ -650,7 +653,8 @@ async function burstCaptureAndVerify(platform, beforeBuffer) {
|
|
|
650
653
|
}
|
|
651
654
|
if (frames.length < 2)
|
|
652
655
|
return {};
|
|
653
|
-
const
|
|
656
|
+
const statusBarHeight = platform === "ios" ? 177 : 142; // pixels in screenshot space
|
|
657
|
+
const analysis = await analyzeBurstFrames(frames, { statusBarHeight });
|
|
654
658
|
const groupId = `burst-${Date.now()}-${Math.random().toString(36).slice(2, 8)}`;
|
|
655
659
|
for (let i = 0; i < frames.length; i++) {
|
|
656
660
|
imageBuffer.add({
|
|
@@ -768,13 +772,36 @@ export async function tap(options) {
|
|
|
768
772
|
const nativeShouldScreenshot = options.screenshot !== false;
|
|
769
773
|
const nativeShouldVerify = nativeShouldScreenshot && options.verify !== false;
|
|
770
774
|
let nativeBeforeBuffer = null;
|
|
775
|
+
let nativeScreenshotMeta;
|
|
771
776
|
if (nativeShouldVerify) {
|
|
772
777
|
const before = await captureScreenshot(platform);
|
|
773
778
|
nativeBeforeBuffer = before?.buffer || null;
|
|
779
|
+
if (before) {
|
|
780
|
+
nativeScreenshotMeta = {
|
|
781
|
+
originalWidth: before.width,
|
|
782
|
+
originalHeight: before.height,
|
|
783
|
+
scaleFactor: before.scaleFactor,
|
|
784
|
+
};
|
|
785
|
+
}
|
|
786
|
+
}
|
|
787
|
+
// If no screenshot was taken for verification, take one just for scaleFactor
|
|
788
|
+
if (!nativeScreenshotMeta) {
|
|
789
|
+
const ref = await captureScreenshot(platform);
|
|
790
|
+
if (ref) {
|
|
791
|
+
nativeScreenshotMeta = {
|
|
792
|
+
originalWidth: ref.width,
|
|
793
|
+
originalHeight: ref.height,
|
|
794
|
+
scaleFactor: ref.scaleFactor,
|
|
795
|
+
};
|
|
796
|
+
// Also use it for verification if buffer is needed
|
|
797
|
+
if (!nativeBeforeBuffer) {
|
|
798
|
+
nativeBeforeBuffer = ref.buffer;
|
|
799
|
+
}
|
|
800
|
+
}
|
|
774
801
|
}
|
|
775
802
|
let result;
|
|
776
803
|
try {
|
|
777
|
-
result = await withTimeout(tryCoordinateStrategy(query.x, query.y, platform,
|
|
804
|
+
result = await withTimeout(tryCoordinateStrategy(query.x, query.y, platform, nativeScreenshotMeta), remainingMs(), "native-coordinate");
|
|
778
805
|
}
|
|
779
806
|
catch (err) {
|
|
780
807
|
return formatTapFailure({
|
|
@@ -808,9 +835,11 @@ export async function tap(options) {
|
|
|
808
835
|
suggestion: `Take a screenshot (${platform === "ios" ? "ios_screenshot" : "android_screenshot"}) to verify coordinates.`,
|
|
809
836
|
});
|
|
810
837
|
}
|
|
811
|
-
//
|
|
812
|
-
let
|
|
813
|
-
|
|
838
|
+
// Detect available capabilities
|
|
839
|
+
let hasMetro = Array.from(connectedApps.values()).length > 0;
|
|
840
|
+
let app = Array.from(connectedApps.values())[0];
|
|
841
|
+
// Try to auto-connect to Metro (for fiber strategy), but don't fail if it doesn't work
|
|
842
|
+
if (!hasMetro) {
|
|
814
843
|
try {
|
|
815
844
|
await withTimeout((async () => {
|
|
816
845
|
clearReconnectionSuppression();
|
|
@@ -824,24 +853,65 @@ export async function tap(options) {
|
|
|
824
853
|
}
|
|
825
854
|
}
|
|
826
855
|
})(), Math.min(remainingMs(), 3000), "auto-connect");
|
|
827
|
-
apps = Array.from(connectedApps.values());
|
|
856
|
+
const apps = Array.from(connectedApps.values());
|
|
857
|
+
hasMetro = apps.length > 0;
|
|
858
|
+
app = apps[0];
|
|
828
859
|
}
|
|
829
860
|
catch {
|
|
830
|
-
// Auto-connect failed
|
|
861
|
+
// Auto-connect failed — Metro-dependent strategies will be skipped
|
|
831
862
|
}
|
|
832
863
|
}
|
|
833
|
-
|
|
864
|
+
// Detect platform — from Metro connection or from available devices
|
|
865
|
+
let platform = options.platform;
|
|
866
|
+
if (!platform) {
|
|
867
|
+
if (app) {
|
|
868
|
+
platform = app.platform;
|
|
869
|
+
}
|
|
870
|
+
else {
|
|
871
|
+
// No Metro — detect from available devices
|
|
872
|
+
const [androidDevice, iosSimulator] = await Promise.all([
|
|
873
|
+
getDefaultAndroidDevice().catch(() => null),
|
|
874
|
+
getActiveOrBootedSimulatorUdid().catch(() => null),
|
|
875
|
+
]);
|
|
876
|
+
if (androidDevice && iosSimulator) {
|
|
877
|
+
return {
|
|
878
|
+
success: false,
|
|
879
|
+
query,
|
|
880
|
+
error: "Both iOS and Android devices detected but no Metro connection. Specify platform=\"ios\" or platform=\"android\".",
|
|
881
|
+
};
|
|
882
|
+
}
|
|
883
|
+
if (androidDevice)
|
|
884
|
+
platform = "android";
|
|
885
|
+
else if (iosSimulator)
|
|
886
|
+
platform = "ios";
|
|
887
|
+
}
|
|
888
|
+
}
|
|
889
|
+
if (!platform) {
|
|
834
890
|
return {
|
|
835
891
|
success: false,
|
|
836
892
|
query,
|
|
837
|
-
error: "No
|
|
893
|
+
error: "No devices found. Boot a simulator or connect an Android device.",
|
|
838
894
|
};
|
|
839
895
|
}
|
|
840
|
-
const app = apps[0];
|
|
841
|
-
const platform = app.platform;
|
|
842
896
|
// Determine strategies
|
|
843
897
|
const strategies = getAvailableStrategies(query, strategy);
|
|
844
898
|
const attempted = [];
|
|
899
|
+
// Filter strategies by available capabilities
|
|
900
|
+
const filteredStrategies = strategies.filter((strat) => {
|
|
901
|
+
if (strat === "fiber" && !hasMetro) {
|
|
902
|
+
attempted.push({ strategy: "fiber", reason: "Skipped — no Metro connection (required for fiber)" });
|
|
903
|
+
return false;
|
|
904
|
+
}
|
|
905
|
+
return true;
|
|
906
|
+
});
|
|
907
|
+
if (filteredStrategies.length === 0) {
|
|
908
|
+
return {
|
|
909
|
+
success: false,
|
|
910
|
+
query,
|
|
911
|
+
attempted,
|
|
912
|
+
error: "All strategies require Metro connection, which is unavailable.\n\nTo fix:\n1. Make sure your React Native app is running\n2. Run scan_metro to connect\n3. Or use tap(x, y, native=true) for coordinate-based taps",
|
|
913
|
+
};
|
|
914
|
+
}
|
|
845
915
|
// Determine screenshot and verification behavior
|
|
846
916
|
const shouldScreenshot = options.screenshot !== false;
|
|
847
917
|
// Always capture before screenshot when screenshots are enabled and verify isn't explicitly off
|
|
@@ -854,7 +924,7 @@ export async function tap(options) {
|
|
|
854
924
|
beforeBuffer = before?.buffer || null;
|
|
855
925
|
}
|
|
856
926
|
// Execute strategies in order with per-strategy caps and overall budget
|
|
857
|
-
for (const strat of
|
|
927
|
+
for (const strat of filteredStrategies) {
|
|
858
928
|
const remaining = remainingMs();
|
|
859
929
|
if (remaining < MIN_STRATEGY_BUDGET_MS) {
|
|
860
930
|
attempted.push({ strategy: strat, reason: `Skipped — only ${remaining}ms remaining (budget ${TAP_TIMEOUT_MS}ms)` });
|
|
@@ -875,7 +945,7 @@ export async function tap(options) {
|
|
|
875
945
|
result = await withTimeout(tryOcrStrategy(query, platform), budget, `ocr`);
|
|
876
946
|
break;
|
|
877
947
|
case "coordinate":
|
|
878
|
-
result = await withTimeout(tryCoordinateStrategy(query.x, query.y, platform, app
|
|
948
|
+
result = await withTimeout(tryCoordinateStrategy(query.x, query.y, platform, app?.lastScreenshot), budget, `coordinate`);
|
|
879
949
|
break;
|
|
880
950
|
default:
|
|
881
951
|
result = { success: false, reason: `Unknown strategy: ${strat}` };
|
|
@@ -894,7 +964,7 @@ export async function tap(options) {
|
|
|
894
964
|
else {
|
|
895
965
|
({ screenshot, verification } = await verifyAndCapture(platform, canVerify, shouldScreenshot, beforeBuffer));
|
|
896
966
|
}
|
|
897
|
-
if (screenshot) {
|
|
967
|
+
if (screenshot && app) {
|
|
898
968
|
app.lastScreenshot = {
|
|
899
969
|
originalWidth: screenshot.width,
|
|
900
970
|
originalHeight: screenshot.height,
|
|
@@ -941,7 +1011,7 @@ export async function tap(options) {
|
|
|
941
1011
|
else {
|
|
942
1012
|
({ screenshot, verification } = await verifyAndCapture(platform, canVerify, shouldScreenshot, beforeBuffer));
|
|
943
1013
|
}
|
|
944
|
-
if (screenshot) {
|
|
1014
|
+
if (screenshot && app) {
|
|
945
1015
|
app.lastScreenshot = {
|
|
946
1016
|
originalWidth: screenshot.width,
|
|
947
1017
|
originalHeight: screenshot.height,
|
|
@@ -970,7 +1040,7 @@ export async function tap(options) {
|
|
|
970
1040
|
const { screenshot: matchScreenshot } = shouldScreenshot
|
|
971
1041
|
? await verifyAndCapture(platform, false, true, null)
|
|
972
1042
|
: { screenshot: undefined };
|
|
973
|
-
if (matchScreenshot) {
|
|
1043
|
+
if (matchScreenshot && app) {
|
|
974
1044
|
app.lastScreenshot = {
|
|
975
1045
|
originalWidth: matchScreenshot.width,
|
|
976
1046
|
originalHeight: matchScreenshot.height,
|
|
@@ -995,7 +1065,7 @@ export async function tap(options) {
|
|
|
995
1065
|
const { screenshot: failScreenshot } = shouldScreenshot
|
|
996
1066
|
? await verifyAndCapture(platform, false, true, null)
|
|
997
1067
|
: { screenshot: undefined };
|
|
998
|
-
if (failScreenshot) {
|
|
1068
|
+
if (failScreenshot && app) {
|
|
999
1069
|
app.lastScreenshot = {
|
|
1000
1070
|
originalWidth: failScreenshot.width,
|
|
1001
1071
|
originalHeight: failScreenshot.height,
|
package/build/pro/tap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,aAAa,EAAE,8BAA8B,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAChH,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,eAAe,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAsDtF,MAAM,UAAU,4BAA4B,CAAC,CAQ5C;IACG,MAAM,GAAG,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;IAE5D,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC;QAC7C,OAAO,mCAAmC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,+CAA+C,CAAC;IAC/G,CAAC;IAED,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,uBAAuB,EAAE,CAAC;QAC5C,OAAO,CACH,+DAA+D;YAC/D,UAAU,CAAC,CAAC,SAAS,SAAS,GAAG,CAAC,CAAC,CAAC,cAAc,IAAI,CAAC,CAAC,UAAU;YAClE,sEAAsE,CACzE,CAAC;IACN,CAAC;IAED,IAAI,CAAC,CAAC,uBAAuB,KAAK,KAAK,EAAE,CAAC;QACtC,OAAO,CACH,oFAAoF;YACpF,kEAAkE,CACrE,CAAC;IACN,CAAC;IAED,OAAO,CACH,kEAAkE;QAClE,kEAAkE,CACrE,CAAC;AACN,CAAC;AAWD,MAAM,sBAAsB,GAAG,KAAK,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,MAAgB;IACrD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpB,OAAO;YACH,UAAU,EAAE,KAAK;YACjB,oBAAoB,EAAE,CAAC;YACvB,uBAAuB,EAAE,KAAK;YAC9B,cAAc,EAAE,CAAC;YACjB,SAAS,EAAE,CAAC;YACZ,gBAAgB,EAAE,EAAE;SACvB,CAAC;IACN,CAAC;IAED,IAAI,cAAc,GAAG,CAAC,CAAC;IACvB,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,UAAU,GAAG,sBAAsB,EAAE,CAAC;YAC3C,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC7B,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,GAAG,cAAc,EAAE,CAAC;YACnC,cAAc,GAAG,IAAI,CAAC,UAAU,CAAC;YACjC,SAAS,GAAG,CAAC,CAAC;QAClB,CAAC;IACL,CAAC;IAED,MAAM,cAAc,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACtF,MAAM,oBAAoB,GAAG,cAAc,CAAC,UAAU,CAAC;IACvD,MAAM,uBAAuB,GAAG,CAAC,cAAc,CAAC,OAAO,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC;IACvF,MAAM,UAAU,GAAG,cAAc,CAAC,OAAO,IAAI,uBAAuB,CAAC;IAErE,OAAO;QACH,UAAU;QACV,oBAAoB;QACpB,uBAAuB;QACvB,cAAc;QACd,SAAS;QACT,gBAAgB;KACnB,CAAC;AACN,CAAC;AAuBD,kBAAkB;AAElB,MAAM,UAAU,UAAU,CAAC,OAAmB;IAC1C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,OAAO,CAAC,IAAI,KAAK,SAAS;QAAE,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAC1D,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QAAE,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAChE,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,KAAK,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACzE,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS;QAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IACjD,IAAI,OAAO,CAAC,CAAC,KAAK,SAAS;QAAE,KAAK,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAY;IAC9C,MAAM,YAAY,GACd,wNAAwN,CAAC;IAC7N,OAAO,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAClC,KAAe,EACf,QAAqB;IAErB,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QACjD,OAAO,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,QAAQ,KAAK,MAAM,EAAE,CAAC;QACtB,oFAAoF;QACpF,IAAI,KAAK,CAAC,IAAI,IAAI,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAChE,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAC7B,CAAC;QACD,OAAO,CAAC,QAAQ,CAAC,CAAC;IACtB,CAAC;IACD,IAAI,KAAK,CAAC,SAAS,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QAClD,OAAO,CAAC,OAAO,CAAC,CAAC;IACrB,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACb,MAAM,UAAU,GAAa,EAAE,CAAC;QAChC,UAAU,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;QACjC,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC7B,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvB,OAAO,UAAU,CAAC;IACtB,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACjC,MAAc,EACd,MAAc,EACd,QAA2B,EAC3B,gBAAwB,EACxB,cAAsB,CAAC;IAEvB,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;IACvC,MAAM,SAAS,GAAG,MAAM,GAAG,WAAW,CAAC;IACvC,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC;IAClE,CAAC;IACD,OAAO;QACH,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC;QAC3C,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,GAAG,gBAAgB,CAAC;KAC9C,CAAC;AACN,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB;IAClC,IAAI,CAAC;QACD,sEAAsE;QACtE,sDAAsD;QACtD,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aA8Dd,CAAC;QAEN,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrD,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;YAC/F,OAAO,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAahC;IACG,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IACnD,OAAO;QACH,OAAO,EAAE,IAAI;QACb,GAAG,IAAI;QACP,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,CAAC;QACrC,GAAG,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,CAAC;KACpC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAShC;IACG,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7D,MAAM,OAAO,GACT,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU;QAC9C,CAAC,CAAC,mKAAmK;QACrK,CAAC,CAAC,SAAS,CAAC;IACpB,OAAO;QACH,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,GAAG,CAAC,IAAI,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC;QAC7D,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;QACvD,GAAG,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,CAAC;KAC9B,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAe;IACtC,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,KAAK,CAAC,IAAI;QAAE,KAAK,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC;IACnD,IAAI,KAAK,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,WAAW,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;IACzD,IAAI,KAAK,CAAC,SAAS;QAAE,KAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;IAClE,OAAO,6BAA6B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;AAC3D,CAAC;AAgBD,6BAA6B;AAE7B,KAAK,UAAU,gBAAgB,CAC3B,KAAe,EACf,KAAc,EACd,iBAA0B;IAE1B,qEAAqE;IACrE,MAAM,SAAS,GAAG,iBAAiB,IAAI,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,CAAC,SAAS,CAAC,CAAC;IAClC,qEAAqE;IACrE,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QAClB,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/B,CAAC;SAAM,IAAI,SAAS,IAAI,EAAE,EAAE,CAAC;QACzB,aAAa,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,IAAI,UAAU,GAA0B,IAAI,CAAC;IAE7C,KAAK,MAAM,KAAK,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,UAAU,GAAG,MAAM,CAAC;IACxB,CAAC;IAED,OAAO,UAAW,CAAC;AACvB,CAAC;AAED,KAAK,UAAU,eAAe,CAC1B,KAAe,EACf,KAAyB,EACzB,iBAAyB;IAEzB,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAC9B,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,KAAK;YACL,iBAAiB;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAClB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,qBAAqB,EAAE,CAAC;QAC7E,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,6BAA6B,EAAE,CAAC;QACrE,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEzC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,cAAc,GAAmB;gBACnC,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,MAAM,CAAC,KAAK;aACvB,CAAC;YACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;YAC5C,CAAC;YACD,OAAO,cAAc,CAAC;QAC1B,CAAC;QAED,sEAAsE;QACtE,0EAA0E;QAC1E,sEAAsE;QACtE,gEAAgE;QAChE,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,CAAC;YAC3E,IAAI,MAAM,CAAC,eAAe,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,MAAM,CAAC,eAAe,CAAC,CAAC,EAAE,CAAC;gBACjF,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,MAAM,EAAE,SAAS,MAAM,CAAC,OAAO,KAAK,WAAW,yCAAyC;oBACxF,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;oBACzB,SAAS,EAAE,MAAM,CAAC,OAAO,IAAI,IAAI;oBACjC,WAAW,EAAE;wBACT,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;wBAC3B,CAAC,EAAE,MAAM,CAAC,eAAe,CAAC,CAAC;wBAC3B,IAAI,EAAE,MAAM,CAAC,eAAe,CAAC,IAAI,IAAI,QAAQ;qBAChD;iBACJ,CAAC;YACN,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,SAAS,MAAM,CAAC,OAAO,KAAK,WAAW,wEAAwE;aAC1H,CAAC;QACN,CAAC;QAED,kEAAkE;QAClE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,gDAAgD,EAAE,CAAC;IACxF,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,yBAAyB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACtF,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,wBAAwB,CACnC,KAAe,EACf,KAAyB,EACzB,QAA2B;IAE3B,IAAI,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC;QACjC,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC;QAE7B,IAAI,CAAC,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;YACzB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,4CAA4C,EAAE,CAAC;QACpF,CAAC;QAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,4EAA4E;YAC5E,0DAA0D;YAC1D,IAAI,MAAM,CAAC;YACX,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,sEAAsE;gBACtE,MAAM,GAAG,MAAM,cAAc,CAAC;oBAC1B,UAAU,EAAE,KAAK,CAAC,MAAM;oBACxB,KAAK;iBACR,CAAC,CAAC;gBACH,uDAAuD;gBACvD,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1E,MAAM,GAAG,MAAM,cAAc,CAAC;wBAC1B,kBAAkB,EAAE,KAAK,CAAC,MAAM;wBAChC,KAAK;qBACR,CAAC,CAAC;gBACP,CAAC;gBACD,sEAAsE;gBACtE,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC1E,MAAM,GAAG,MAAM,cAAc,CAAC;wBAC1B,aAAa,EAAE,KAAK,CAAC,MAAM;wBAC3B,KAAK;qBACR,CAAC,CAAC;gBACP,CAAC;YACL,CAAC;iBAAM,CAAC;gBACJ,MAAM,UAAU,GAAG,KAAK,CAAC,IAAK,CAAC;gBAC/B,MAAM,GAAG,MAAM,cAAc,CAAC;oBAC1B,aAAa,EAAE,UAAU;oBACzB,KAAK;iBACR,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,4BAA4B,EAAE,CAAC;YACpF,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,KAAK,mBAAmB,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,EAAE,CAAC;YAC5G,CAAC;YAED,MAAM,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAE7C,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,8BAA8B;gBACtC,OAAO,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,IAAI;gBAClC,IAAI,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;gBAC9B,SAAS,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;gBAC7B,WAAW,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACxE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,iEAAiE;YACjE,MAAM,aAAa,GAKf,EAAE,KAAK,EAAE,CAAC;YAEd,IAAI,SAAS,IAAI,CAAC,OAAO,EAAE,CAAC;gBACxB,aAAa,CAAC,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5C,CAAC;iBAAM,IAAI,OAAO,EAAE,CAAC;gBACjB,aAAa,CAAC,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC;YAC5C,CAAC;YAED,IAAI,MAAM,GAAG,MAAM,kBAAkB,CAAC,aAAa,CAAC,CAAC;YAErD,kEAAkE;YAClE,wDAAwD;YACxD,IAAI,SAAS,IAAI,CAAC,OAAO;gBACrB,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC5E,MAAM,GAAG,MAAM,kBAAkB,CAAC;oBAC9B,mBAAmB,EAAE,KAAK,CAAC,MAAM;oBACjC,KAAK;iBACR,CAAC,CAAC;YACP,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1E,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,gCAAgC,EAAE,CAAC;YACxF,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YAC5C,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,KAAK,mBAAmB,MAAM,CAAC,UAAU,CAAC,MAAM,WAAW,EAAE,CAAC;YAC5G,CAAC;YAED,MAAM,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAEjD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,kCAAkC;gBAC1C,OAAO,EAAE,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,SAAS,IAAI,SAAS;gBACnD,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,SAAS;gBAC7B,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,SAAS;gBACvC,WAAW,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aACxE,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC9F,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,cAAc,CACzB,KAAe,EACf,QAA2B;IAE3B,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,EAAE,CAAC;YACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kCAAkC,EAAE,CAAC;QAC1E,CAAC;QAED,IAAI,WAAmB,CAAC;QACxB,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAiC,CAAC;QACtC,IAAI,cAAkC,CAAC;QAEvC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,UAAU,GAAG,MAAM,aAAa,EAAE,CAAC;YACzC,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,0CAA0C,EAAE,CAAC;YAClF,CAAC;YACD,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;YAC9B,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;YAC1C,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;YACzC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAC/C,CAAC;aAAM,CAAC;YACJ,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YACjE,MAAM,UAAU,GAAG,MAAM,iBAAiB,EAAE,CAAC;YAC7C,IAAI,CAAC,UAAU,CAAC,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;gBAC1C,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,8CAA8C,EAAE,CAAC;YACtF,CAAC;YACD,WAAW,GAAG,UAAU,CAAC,IAAI,CAAC;YAC9B,WAAW,GAAG,UAAU,CAAC,WAAW,IAAI,CAAC,CAAC;YAC1C,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;YACzC,cAAc,GAAG,UAAU,CAAC,cAAc,CAAC;QAC/C,CAAC;QAED,MAAM,gBAAgB,GAAG,CAAC,QAAQ,KAAK,KAAK,IAAI,aAAa,IAAI,cAAc,CAAC;YAC5E,CAAC,CAAC,wBAAwB,CAAC,aAAa,EAAE,cAAc,CAAC;YACzD,CAAC,CAAC,CAAC,CAAC;QAER,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACzD,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,WAAW,EAAE;YAC/C,WAAW;YACX,QAAQ;YACR,gBAAgB;SACnB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,WAAW,CAC9C,IAAI,SAAS,CAAC,KAAK,CAAC,IAAI,CACrB,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC,CACpD,CAAC;QAEF,IAAI,CAAC,YAAY,EAAE,CAAC;YAChB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,0BAA0B,UAAU,aAAa,EAAE,CAAC;QACzF,CAAC;QAED,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,MAAM,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACzE,CAAC;QAED,OAAO;YACH,OAAO,EAAE,IAAI;YACb,MAAM,EAAE,iCAAiC;YACzC,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,WAAW,EAAE;gBACT,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC3B,CAAC,EAAE,YAAY,CAAC,SAAS,CAAC,CAAC;gBAC3B,IAAI,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ;aACjD;SACJ,CAAC;IACN,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACpF,CAAC;IACN,CAAC;AACL,CAAC;AAED,KAAK,UAAU,qBAAqB,CAChC,MAAc,EACd,MAAc,EACd,QAA2B,EAC3B,cAAuF;IAEvF,IAAI,CAAC;QACD,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;YACrB,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,IAAI,CAAC,CAAC;YACrD,MAAM,aAAa,GAAG,cAAc,EAAE,aAAa,CAAC;YACpD,MAAM,cAAc,GAAG,cAAc,EAAE,cAAc,CAAC;YACtD,MAAM,gBAAgB,GAAG,CAAC,aAAa,IAAI,cAAc,CAAC;gBACtD,CAAC,CAAC,wBAAwB,CAAC,aAAa,EAAE,cAAc,CAAC;gBACzD,CAAC,CAAC,CAAC,CAAC;YAER,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;YAC9F,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAEvC,uDAAuD;YACvD,IAAI,MAAM,GAAkB,IAAI,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACL,kCAAkC;YACtC,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,6BAA6B;gBACrC,MAAM;gBACN,WAAW,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAClE,CAAC;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,WAAW,GAAG,cAAc,EAAE,WAAW,IAAI,CAAC,CAAC;YACrD,MAAM,SAAS,GAAG,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,CAAC,CAAC;YACnF,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;YAE3C,uDAAuD;YACvD,IAAI,MAAM,GAAkB,IAAI,CAAC;YACjC,IAAI,CAAC;gBACD,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;YACtC,CAAC;YAAC,MAAM,CAAC;gBACL,kCAAkC;YACtC,CAAC;YACD,OAAO;gBACH,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,iCAAiC;gBACzC,MAAM;gBACN,WAAW,EAAE,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE;aAClE,CAAC;QACN,CAAC;IACL,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACX,OAAO;YACH,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,8BAA8B,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SAC3F,CAAC;IACN,CAAC;AACL,CAAC;AAED,MAAM,eAAe,GAAG,GAAG,CAAC;AAC5B,MAAM,cAAc,GAAG,KAAK,CAAC;AAC7B,MAAM,sBAAsB,GAAG,GAAG,CAAC;AACnC,MAAM,eAAe,GAA2B;IAC5C,KAAK,EAAE,IAAI;IACX,aAAa,EAAE,IAAI;IACnB,GAAG,EAAE,IAAI;IACT,UAAU,EAAE,IAAI;CACnB,CAAC;AAEF,SAAS,WAAW,CAAI,OAAmB,EAAE,EAAU,EAAE,KAAa;IAClE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACnC,MAAM,KAAK,GAAG,UAAU,CACpB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,GAAG,KAAK,oBAAoB,EAAE,IAAI,CAAC,CAAC,EAC3D,EAAE,CACL,CAAC;QACF,OAAO,CAAC,IAAI,CACR,CAAC,GAAG,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAC/C,CAAC,GAAG,EAAE,EAAE,GAAG,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CACjD,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC5B,QAA2B;IAE3B,IAAI,CAAC;QACD,MAAM,MAAM,GACR,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,aAAa,EAAE,CAAC,CAAC,CAAC,MAAM,iBAAiB,EAAE,CAAC;QAC3E,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QACjD,OAAO;YACH,MAAM,EAAE,MAAM,CAAC,IAAI;YACnB,KAAK,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC;YAChC,MAAM,EAAE,MAAM,CAAC,cAAc,IAAI,CAAC;YAClC,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,CAAC;SACvC,CAAC;IACN,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,CAAC;IAChB,CAAC;AACL,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAc;IACtC,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACrC,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC3B,QAA2B,EAC3B,YAAqB,EACrB,gBAAyB,EACzB,YAA2B;IAE3B,IAAI,CAAC,gBAAgB;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC;IAErE,MAAM,KAAK,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAChD,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IAEtB,MAAM,UAAU,GAAkB;QAC9B,KAAK,EAAE,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC;QACvC,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,WAAW,EAAE,KAAK,CAAC,WAAW;KACjC,CAAC;IAEF,IAAI,YAAyC,CAAC;IAC9C,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;QAC/B,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,kBAAkB,CAAC,YAAY,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;YAClE,YAAY,GAAG;gBACX,UAAU,EAAE,IAAI,CAAC,OAAO;gBACxB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,WAAW,EAAE,4BAA4B,CAAC;oBACtC,UAAU,EAAE,IAAI,CAAC,OAAO;oBACxB,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,WAAW,EAAE,IAAI,CAAC,WAAW;iBAChC,CAAC;aACL,CAAC;QACN,CAAC;QAAC,MAAM,CAAC;YACL,4CAA4C;QAChD,CAAC;IACL,CAAC;IAED,MAAM,aAAa,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IACvF,IAAI,YAAY,EAAE,CAAC;QACf,WAAW,CAAC,GAAG,CAAC;YACZ,EAAE,EAAE,GAAG,aAAa,SAAS;YAC7B,KAAK,EAAE,YAAY;YACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,YAAY;YACpB,OAAO,EAAE,aAAa;YACtB,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE;SAChC,CAAC,CAAC;IACP,CAAC;IACD,WAAW,CAAC,GAAG,CAAC;QACZ,EAAE,EAAE,GAAG,aAAa,QAAQ;QAC5B,KAAK,EAAE,KAAK,CAAC,MAAM;QACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,aAAa;QACtB,QAAQ,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,UAAU,EAAE;KACrE,CAAC,CAAC;IAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACxC,CAAC;AAED,wBAAwB;AAExB,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAEpC,KAAK,UAAU,qBAAqB,CAChC,QAA2B,EAC3B,YAA2B;IAE3B,IAAI,CAAC,YAAY;QAAE,OAAO,EAAE,CAAC;IAE7B,MAAM,MAAM,GAAa,CAAC,YAAY,CAAC,CAAC;IAExC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAC7E,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QAClD,IAAI,OAAO,EAAE,CAAC;YACV,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;QAAE,OAAO,EAAE,CAAC;IAEjC,MAAM,QAAQ,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,OAAO,GAAG,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;IAChF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,WAAW,CAAC,GAAG,CAAC;YACZ,EAAE,EAAE,GAAG,OAAO,KAAK,CAAC,EAAE;YACtB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;YAChB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,MAAM,EAAE,WAAW;YACnB,OAAO;YACP,QAAQ,EAAE;gBACN,UAAU,EAAE,CAAC;gBACb,QAAQ,EAAE,CAAC,KAAK,CAAC;gBACjB,UAAU,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC;aAClG;SACJ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAQ,CAAC;QACjB,OAAO;QACP,MAAM,EAAE,kBAAkB;QAC1B,MAAM,EAAE,WAAW;QACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;QACrB,UAAU,EAAE,MAAM,CAAC,MAAM;QACzB,OAAO,EAAE;YACL,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,gBAAgB,EAAE,QAAQ,CAAC,gBAAgB;YAC3C,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;YACzD,oBAAoB,EAAE,QAAQ,CAAC,oBAAoB;SACtD;KACJ,CAAC,CAAC;IAEH,iDAAiD;IACjD,MAAM,KAAK,GAAG,CAAC,MAAM,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC;IAC9C,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC/D,MAAM,UAAU,GAAkB;QAC9B,KAAK,EAAE,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QACpD,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,CAAC;QACtB,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC;QACxB,WAAW,EAAE,CAAC;KACjB,CAAC;IAEF,MAAM,YAAY,GAAoB;QAClC,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,UAAU,EAAE,QAAQ,CAAC,oBAAoB;QACzC,aAAa,EAAE,CAAC;QAChB,WAAW,EAAE,CAAC;QACd,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;QACzD,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,YAAY,EAAE,OAAO;QACrB,WAAW,EAAE,4BAA4B,CAAC;YACtC,UAAU,EAAE,QAAQ,CAAC,UAAU;YAC/B,UAAU,EAAE,QAAQ,CAAC,oBAAoB;YACzC,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,CAAC;YACd,uBAAuB,EAAE,QAAQ,CAAC,uBAAuB;YACzD,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,SAAS,EAAE,QAAQ,CAAC,SAAS;SAChC,CAAC;KACL,CAAC;IAEF,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,CAAC;AACxC,CAAC;AAED,uBAAuB;AAEvB,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,OAAmB;IACzC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC5B,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,cAAc,CAAC;IAC7C,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;IAE7D,kBAAkB;IAClB,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,SAAS,CAAC;IACrE,MAAM,cAAc,GAAG,KAAK,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC;IAEtE,IAAI,CAAC,cAAc,IAAI,CAAC,cAAc,EAAE,CAAC;QACrC,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK;YACL,KAAK,EAAE,2EAA2E;SACrF,CAAC;IACN,CAAC;IAED,IAAI,cAAc,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,SAAS,IAAI,KAAK,CAAC,CAAC,KAAK,SAAS,CAAC,EAAE,CAAC;QACrE,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK;YACL,KAAK,EAAE,2CAA2C;SACrD,CAAC;IACN,CAAC;IAED,2EAA2E;IAC3E,IAAI,OAAO,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,QAAQ,GAAG,OAAO,CAAC,QAAyC,CAAC;QAEjE,wCAAwC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,MAAM,CAAC,aAAa,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACpD,uBAAuB,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBAC3C,8BAA8B,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aACrD,CAAC,CAAC;YACH,IAAI,aAAa,IAAI,YAAY,EAAE,CAAC;gBAChC,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK;oBACL,KAAK,EAAE,sIAAsI;iBAChJ,CAAC;YACN,CAAC;YACD,IAAI,aAAa,EAAE,CAAC;gBAChB,QAAQ,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,IAAI,YAAY,EAAE,CAAC;gBACtB,QAAQ,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,CAAC;gBACJ,OAAO;oBACH,OAAO,EAAE,KAAK;oBACd,KAAK;oBACL,KAAK,EAAE,kFAAkF;iBAC5F,CAAC;YACN,CAAC;QACL,CAAC;QAED,MAAM,sBAAsB,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC;QAC5D,MAAM,kBAAkB,GAAG,sBAAsB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;QAC9E,IAAI,kBAAkB,GAAkB,IAAI,CAAC;QAC7C,IAAI,kBAAkB,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;YACjD,kBAAkB,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;QAChD,CAAC;QAED,IAAI,MAAsB,CAAC;QAC3B,IAAI,CAAC;YACD,MAAM,GAAG,MAAM,WAAW,CACtB,qBAAqB,CAAC,KAAK,CAAC,CAAE,EAAE,KAAK,CAAC,CAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,EAC9D,WAAW,EAAE,EACb,mBAAmB,CACtB,CAAC;QACN,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,OAAO,gBAAgB,CAAC;gBACpB,KAAK;gBACL,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxG,UAAU,EAAE,qCAAqC,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,+BAA+B;aAC/I,CAAC,CAAC;QACP,CAAC;QACD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,UAAqC,CAAC;YAC1C,IAAI,YAAyC,CAAC;YAC9C,IAAI,OAAO,CAAC,KAAK,IAAI,kBAAkB,IAAI,kBAAkB,EAAE,CAAC;gBAC5D,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;YAC/F,CAAC;iBAAM,CAAC;gBACJ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CAClD,QAAQ,EACR,kBAAkB,EAClB,sBAAsB,EACtB,kBAAkB,CACrB,CAAC,CAAC;YACP,CAAC;YACD,OAAO,gBAAgB,CAAC;gBACpB,MAAM,EAAE,mBAAmB;gBAC3B,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,QAAQ;gBACR,UAAU;gBACV,YAAY;aACf,CAAC,CAAC;QACP,CAAC;QACD,OAAO,gBAAgB,CAAC;YACpB,KAAK;YACL,SAAS,EAAE,CAAC,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC;YACrE,UAAU,EAAE,sBAAsB,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,0BAA0B;SAC3H,CAAC,CAAC;IACP,CAAC;IAED,2CAA2C;IAC3C,IAAI,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,IAAI,CAAC;YACD,MAAM,WAAW,CAAC,CAAC,KAAK,IAAI,EAAE;gBAC1B,4BAA4B,EAAE,CAAC;gBAC/B,MAAM,SAAS,GAAG,MAAM,cAAc,EAAE,CAAC;gBACzC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC3B,MAAM,OAAO,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,CAAC;oBACzC,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;oBAC7C,IAAI,UAAU,EAAE,CAAC;wBACb,MAAM,eAAe,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;wBACxC,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,IAAI,CAAC,EAAE,cAAc,CAAC,CAAC;YACrD,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACL,qEAAqE;QACzE,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpB,OAAO;YACH,OAAO,EAAE,KAAK;YACd,KAAK;YACL,KAAK,EAAE,gSAAgS;SAC1S,CAAC;IACN,CAAC;IAED,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;IAE9B,uBAAuB;IACvB,MAAM,UAAU,GAAG,sBAAsB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC3D,MAAM,SAAS,GAAiB,EAAE,CAAC;IAEnC,iDAAiD;IACjD,MAAM,gBAAgB,GAAG,OAAO,CAAC,UAAU,KAAK,KAAK,CAAC;IACtD,gGAAgG;IAChG,oFAAoF;IACpF,MAAM,SAAS,GAAG,gBAAgB,IAAI,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;IAE/D,+CAA+C;IAC/C,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,SAAS,EAAE,CAAC;QACZ,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,CAAC;QACjD,YAAY,GAAG,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC;IAC1C,CAAC;IAED,wEAAwE;IACxE,KAAK,MAAM,KAAK,IAAI,UAAU,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,WAAW,EAAE,CAAC;QAChC,IAAI,SAAS,GAAG,sBAAsB,EAAE,CAAC;YACrC,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,SAAS,wBAAwB,cAAc,KAAK,EAAE,CAAC,CAAC;YACpH,SAAS;QACb,CAAC;QAED,MAAM,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;QAExC,IAAI,MAAsB,CAAC;QAE3B,IAAI,CAAC;YACD,QAAQ,KAAK,EAAE,CAAC;gBACZ,KAAK,OAAO;oBACR,MAAM,GAAG,MAAM,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAE,KAAK,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;oBAC/F,MAAM;gBACV,KAAK,eAAe;oBAChB,MAAM,GAAG,MAAM,WAAW,CAAC,wBAAwB,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,eAAe,CAAC,CAAC;oBACtG,MAAM;gBACV,KAAK,KAAK;oBACN,MAAM,GAAG,MAAM,WAAW,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;oBAC3E,MAAM;gBACV,KAAK,YAAY;oBACb,MAAM,GAAG,MAAM,WAAW,CACtB,qBAAqB,CAAC,KAAK,CAAC,CAAE,EAAE,KAAK,CAAC,CAAE,EAAE,QAAQ,EAAE,GAAG,CAAC,cAAc,CAAC,EACvE,MAAM,EACN,YAAY,CACf,CAAC;oBACF,MAAM;gBACV;oBACI,MAAM,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,qBAAqB,KAAK,EAAE,EAAE,CAAC;YAC1E,CAAC;QACL,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACX,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC9F,SAAS;QACb,CAAC;QAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,UAAqC,CAAC;YAC1C,IAAI,YAAyC,CAAC;YAC9C,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC7C,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;YACzF,CAAC;iBAAM,CAAC;gBACJ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CAClD,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,YAAY,CACf,CAAC,CAAC;YACP,CAAC;YACD,IAAI,UAAU,EAAE,CAAC;gBACb,GAAG,CAAC,cAAc,GAAG;oBACjB,aAAa,EAAE,UAAU,CAAC,KAAK;oBAC/B,cAAc,EAAE,UAAU,CAAC,MAAM;oBACjC,WAAW,EAAE,UAAU,CAAC,WAAW;iBACtC,CAAC;YACN,CAAC;YACD,OAAO,gBAAgB,CAAC;gBACpB,MAAM,EAAE,KAAK;gBACb,KAAK;gBACL,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW;gBAC/B,QAAQ;gBACR,UAAU;gBACV,YAAY;aACf,CAAC,CAAC;QACP,CAAC;QAED,SAAS,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;QAE3D,gFAAgF;QAChF,IAAI,KAAK,KAAK,OAAO,IAAI,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YAC5D,IAAI,CAAC;gBACD,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC;gBAClC,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;oBACrB,gDAAgD;oBAChD,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;gBACrC,CAAC;qBAAM,CAAC;oBACJ,gDAAgD;oBAChD,4CAA4C;oBAC5C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;oBACjE,MAAM,aAAa,GAAG,MAAM,iBAAiB,EAAE,CAAC;oBAChD,MAAM,YAAY,GAAG,CAAC,aAAa,CAAC,OAAO,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC;oBAC1D,MAAM,UAAU,CACZ,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,EACnC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CACtC,CAAC;gBACN,CAAC;gBACD,+CAA+C;gBAC/C,IAAI,UAAqC,CAAC;gBAC1C,IAAI,YAAyC,CAAC;gBAC9C,IAAI,OAAO,CAAC,KAAK,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;oBAC7C,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,qBAAqB,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC;gBACzF,CAAC;qBAAM,CAAC;oBACJ,CAAC,EAAE,UAAU,EAAE,YAAY,EAAE,GAAG,MAAM,gBAAgB,CAClD,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,YAAY,CACf,CAAC,CAAC;gBACP,CAAC;gBACD,IAAI,UAAU,EAAE,CAAC;oBACb,GAAG,CAAC,cAAc,GAAG;wBACjB,aAAa,EAAE,UAAU,CAAC,KAAK;wBAC/B,cAAc,EAAE,UAAU,CAAC,MAAM;wBACjC,WAAW,EAAE,UAAU,CAAC,WAAW;qBACtC,CAAC;gBACN,CAAC;gBACD,OAAO,gBAAgB,CAAC;oBACpB,MAAM,EAAE,cAAc;oBACtB,KAAK;oBACL,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,WAAW,EAAE,MAAM;oBACnB,QAAQ;oBACR,UAAU;oBACV,YAAY;iBACf,CAAC,CAAC;YACP,CAAC;YAAC,MAAM,CAAC;gBACL,qEAAqE;YACzE,CAAC;QACL,CAAC;QAED,6DAA6D;QAC7D,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,EAAE,UAAU,EAAE,eAAe,EAAE,GAAG,gBAAgB;gBACpD,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;gBACrD,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;YAChC,IAAI,eAAe,EAAE,CAAC;gBAClB,GAAG,CAAC,cAAc,GAAG;oBACjB,aAAa,EAAE,eAAe,CAAC,KAAK;oBACpC,cAAc,EAAE,eAAe,CAAC,MAAM;oBACtC,WAAW,EAAE,eAAe,CAAC,WAAW;iBAC3C,CAAC;YACN,CAAC;YACD,OAAO,gBAAgB,CAAC;gBACpB,KAAK;gBACL,SAAS;gBACT,UAAU,EAAE,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,0CAA0C;gBACpF,OAAO,EAAE,MAAM,CAAC,OAAO;gBACvB,UAAU,EAAE,eAAe;aAC9B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAED,yDAAyD;IACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,QAAQ,IAAI,OAAO,CAAC;IACvC,MAAM,OAAO,GAAG,cAAc,GAAG,WAAW,EAAE,CAAC;IAE/C,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;IAChE,MAAM,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,gBAAgB;QACnD,CAAC,CAAC,MAAM,gBAAgB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,CAAC;QACrD,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;IAChC,IAAI,cAAc,EAAE,CAAC;QACjB,GAAG,CAAC,cAAc,GAAG;YACjB,aAAa,EAAE,cAAc,CAAC,KAAK;YACnC,cAAc,EAAE,cAAc,CAAC,MAAM;YACrC,WAAW,EAAE,cAAc,CAAC,WAAW;SAC1C,CAAC;IACN,CAAC;IACD,OAAO,gBAAgB,CAAC;QACpB,KAAK;QACL,SAAS;QACT,KAAK,EAAE,UAAU;YACb,CAAC,CAAC,uBAAuB,OAAO,cAAc,cAAc,KAAK;YACjE,CAAC,CAAC,SAAS;QACf,UAAU;QACV,UAAU,EAAE,cAAc;KAC7B,CAAC,CAAC;AACP,CAAC;AAED,SAAS,eAAe,CACpB,KAAe,EACf,eAAyB,EACzB,QAAgB;IAEhB,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;QACjD,WAAW,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;IAC3E,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACvC,WAAW,CAAC,IAAI,CACZ,2EAA2E,CAC9E,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,IAAI,IAAI,qBAAqB,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QAClD,WAAW,CAAC,IAAI,CAAC,0EAA0E,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,KAAK,CAAC,SAAS,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,WAAW,CAAC,IAAI,CACZ,wIAAwI,CAC3I,CAAC;IACN,CAAC;IAED,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,WAAW,CAAC,IAAI,CACZ,8GAA8G,CACjH,CAAC;IACN,CAAC;IAED,WAAW,CAAC,IAAI,CACZ,sBAAsB,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,oBAAoB,IAAI;QACtF,4DAA4D,CAC/D,CAAC;IAEF,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAClC,CAAC"}
|
|
1
|
+
{"version":3,"file":"tap.js","sourceRoot":"","sources":["../../src/pro/tap.ts"],"names":[],"mappings":"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"}
|