@oxyhq/bloom 0.33.0 → 0.34.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/command/Command.js +49 -2
- package/lib/commonjs/command/Command.js.map +1 -1
- package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js +375 -20
- package/lib/commonjs/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
- package/lib/commonjs/zoomable-image-gallery/constants.js +16 -1
- package/lib/commonjs/zoomable-image-gallery/constants.js.map +1 -1
- package/lib/commonjs/zoomable-image-gallery/index.js +15 -0
- package/lib/commonjs/zoomable-image-gallery/index.js.map +1 -1
- package/lib/module/command/Command.js +50 -3
- package/lib/module/command/Command.js.map +1 -1
- package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js +368 -13
- package/lib/module/zoomable-image-gallery/ZoomableImageGallery.js.map +1 -1
- package/lib/module/zoomable-image-gallery/constants.js +15 -0
- package/lib/module/zoomable-image-gallery/constants.js.map +1 -1
- package/lib/module/zoomable-image-gallery/index.js +1 -0
- package/lib/module/zoomable-image-gallery/index.js.map +1 -1
- package/lib/typescript/commonjs/command/Command.d.ts +14 -0
- package/lib/typescript/commonjs/command/Command.d.ts.map +1 -1
- package/lib/typescript/commonjs/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
- package/lib/typescript/commonjs/zoomable-image-gallery/constants.d.ts +14 -0
- package/lib/typescript/commonjs/zoomable-image-gallery/constants.d.ts.map +1 -1
- package/lib/typescript/commonjs/zoomable-image-gallery/index.d.ts +1 -0
- package/lib/typescript/commonjs/zoomable-image-gallery/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/zoomable-image-gallery/types.d.ts +6 -0
- package/lib/typescript/commonjs/zoomable-image-gallery/types.d.ts.map +1 -1
- package/lib/typescript/module/command/Command.d.ts +14 -0
- package/lib/typescript/module/command/Command.d.ts.map +1 -1
- package/lib/typescript/module/zoomable-image-gallery/ZoomableImageGallery.d.ts.map +1 -1
- package/lib/typescript/module/zoomable-image-gallery/constants.d.ts +14 -0
- package/lib/typescript/module/zoomable-image-gallery/constants.d.ts.map +1 -1
- package/lib/typescript/module/zoomable-image-gallery/index.d.ts +1 -0
- package/lib/typescript/module/zoomable-image-gallery/index.d.ts.map +1 -1
- package/lib/typescript/module/zoomable-image-gallery/types.d.ts +6 -0
- package/lib/typescript/module/zoomable-image-gallery/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/__tests__/Command.test.tsx +122 -1
- package/src/command/Command.tsx +50 -3
- package/src/zoomable-image-gallery/ZoomableImageGallery.tsx +420 -19
- package/src/zoomable-image-gallery/constants.ts +15 -0
- package/src/zoomable-image-gallery/index.ts +1 -0
- package/src/zoomable-image-gallery/types.ts +6 -0
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
import React, { useCallback, useMemo, useRef, useState } from 'react';
|
|
4
|
-
import { View, Text, StyleSheet, Pressable, Platform, ScrollView, useWindowDimensions } from 'react-native';
|
|
3
|
+
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
4
|
+
import { View, Text, StyleSheet, Pressable, Platform, ScrollView, Share, useWindowDimensions } from 'react-native';
|
|
5
5
|
import { Image } from 'expo-image';
|
|
6
6
|
import { BlurView } from 'expo-blur';
|
|
7
7
|
import Animated, { useSharedValue, useAnimatedStyle, withSpring, withTiming, runOnJS, Easing } from 'react-native-reanimated';
|
|
8
8
|
import { GestureHandlerRootView, Gesture, GestureDetector } from 'react-native-gesture-handler';
|
|
9
9
|
import { useTheme } from "../theme/use-theme.js";
|
|
10
10
|
import { Portal } from '../portal';
|
|
11
|
+
import { PressableWithHover } from "../pressable-with-hover/index.js";
|
|
12
|
+
import { ArrowLeft_Stroke2_Corner0_Rounded, ArrowRight_Stroke2_Corner0_Rounded, ArrowOutOfBox_Stroke2_Corner0_Rounded } from "../icons/index.js";
|
|
11
13
|
import { Z_INDEX } from "../styles/z-index.js";
|
|
12
14
|
import { getAspectRatio, fetchAspectRatio, DEFAULT_ASPECT_RATIO } from "../image-aspect-ratio-cache/index.js";
|
|
13
|
-
import { FIT_FRACTION, MAX_DRAG_FRACTION, SCALE_DRAG_FRACTION, MIN_DRAG_SCALE, DISMISS_FRACTION, AXIS_DECISION_OFFSET, OPEN_DURATION_WEB, CLOSE_DURATION_WEB, OPACITY_DURATION, OPEN_SPRING, CLOSE_SPRING, SNAP_BACK_SPRING, DEFAULT_CORNER_RADIUS } from "./constants.js";
|
|
15
|
+
import { FIT_FRACTION, MAX_DRAG_FRACTION, SCALE_DRAG_FRACTION, MIN_DRAG_SCALE, DISMISS_FRACTION, AXIS_DECISION_OFFSET, OPEN_DURATION_WEB, CLOSE_DURATION_WEB, OPACITY_DURATION, OPEN_SPRING, CLOSE_SPRING, SNAP_BACK_SPRING, DEFAULT_CORNER_RADIUS, MIN_ZOOM_SCALE, MAX_ZOOM_SCALE, ZOOM_SNAP_THRESHOLD, DOUBLE_TAP_ZOOM_SCALE, ZOOM_PAN_DAMPING, ZOOM_PAN_MAX_BASE, THUMBNAIL_STRIP_TILE_SIZE } from "./constants.js";
|
|
14
16
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
15
17
|
const AnimatedBlurView = Animated.createAnimatedComponent(BlurView);
|
|
16
18
|
const AnimatedImage = Animated.createAnimatedComponent(Image);
|
|
@@ -51,7 +53,8 @@ const webUserSelectNoneStyle = Platform.select({
|
|
|
51
53
|
*/
|
|
52
54
|
const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
53
55
|
measureThumb,
|
|
54
|
-
cornerRadius = DEFAULT_CORNER_RADIUS
|
|
56
|
+
cornerRadius = DEFAULT_CORNER_RADIUS,
|
|
57
|
+
indicatorVariant = 'dots'
|
|
55
58
|
}, ref) => {
|
|
56
59
|
const theme = useTheme();
|
|
57
60
|
const {
|
|
@@ -63,15 +66,37 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
63
66
|
const [pagerReady, setPagerReady] = useState(false);
|
|
64
67
|
const [images, setImages] = useState([]);
|
|
65
68
|
const [activeIndex, setActiveIndex] = useState(0);
|
|
69
|
+
// Whether the active image is currently pinched/double-tapped past its base
|
|
70
|
+
// size. Drives the pan-while-zoomed gesture, disables the pager's horizontal
|
|
71
|
+
// paging + the dismiss drag so a pan moves the zoomed image instead.
|
|
72
|
+
const [isZoomed, setIsZoomed] = useState(false);
|
|
66
73
|
// Aspect ratio of the OPENING image (drives the open-animation fit box).
|
|
67
74
|
const [openRatio, setOpenRatio] = useState(DEFAULT_ASPECT_RATIO);
|
|
68
75
|
// Per-image aspect ratios for the pager pages (index-aligned with `images`).
|
|
69
76
|
const [pageRatios, setPageRatios] = useState({});
|
|
77
|
+
|
|
78
|
+
// Native `Share` is always available; web exposes a share button only when the
|
|
79
|
+
// browser implements `navigator.share`. Computed once (capability is static).
|
|
80
|
+
const [canShare] = useState(() => {
|
|
81
|
+
if (Platform.OS !== 'web') return true;
|
|
82
|
+
return typeof navigator !== 'undefined' && typeof navigator.share === 'function';
|
|
83
|
+
});
|
|
70
84
|
const scale = useSharedValue(1);
|
|
71
85
|
const translateX = useSharedValue(0);
|
|
72
86
|
const translateY = useSharedValue(0);
|
|
73
87
|
const opacity = useSharedValue(0);
|
|
74
88
|
|
|
89
|
+
// Zoom transform of the active image, kept SEPARATE from the open/close +
|
|
90
|
+
// dismiss-drag transform above (reusing those would collide two meanings).
|
|
91
|
+
// `zoom*` are the live/persisted values; `baseZoomScale` is captured at pinch
|
|
92
|
+
// start and `savedZoomTranslate*` at pan start for incremental bookkeeping.
|
|
93
|
+
const zoomScale = useSharedValue(1);
|
|
94
|
+
const zoomTranslateX = useSharedValue(0);
|
|
95
|
+
const zoomTranslateY = useSharedValue(0);
|
|
96
|
+
const baseZoomScale = useSharedValue(1);
|
|
97
|
+
const savedZoomTranslateX = useSharedValue(0);
|
|
98
|
+
const savedZoomTranslateY = useSharedValue(0);
|
|
99
|
+
|
|
75
100
|
// Origin (offset from screen center) of the tapped image.
|
|
76
101
|
const originX = useSharedValue(0);
|
|
77
102
|
const originY = useSharedValue(0);
|
|
@@ -98,6 +123,19 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
98
123
|
setActiveIndex(prev => prev === next ? prev : next);
|
|
99
124
|
}, []);
|
|
100
125
|
|
|
126
|
+
// Snap the active image back to its un-zoomed baseline (no animation) and clear
|
|
127
|
+
// all zoom bookkeeping. Called on every path that changes the active page so a
|
|
128
|
+
// freshly-viewed image always starts un-zoomed.
|
|
129
|
+
const resetZoom = useCallback(() => {
|
|
130
|
+
zoomScale.value = 1;
|
|
131
|
+
zoomTranslateX.value = 0;
|
|
132
|
+
zoomTranslateY.value = 0;
|
|
133
|
+
savedZoomTranslateX.value = 0;
|
|
134
|
+
savedZoomTranslateY.value = 0;
|
|
135
|
+
baseZoomScale.value = 1;
|
|
136
|
+
setIsZoomed(false);
|
|
137
|
+
}, [baseZoomScale, savedZoomTranslateX, savedZoomTranslateY, zoomScale, zoomTranslateX, zoomTranslateY]);
|
|
138
|
+
|
|
101
139
|
// Box the fitted image must fit inside.
|
|
102
140
|
const fitBox = useMemo(() => ({
|
|
103
141
|
width: SCREEN_WIDTH * FIT_FRACTION,
|
|
@@ -341,7 +379,10 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
341
379
|
React.useImperativeHandle(ref, () => ({
|
|
342
380
|
open
|
|
343
381
|
}), [open]);
|
|
344
|
-
const panGesture = useMemo(() => Gesture.Pan()
|
|
382
|
+
const panGesture = useMemo(() => Gesture.Pan()
|
|
383
|
+
// Disabled while zoomed so a drag pans the zoomed image (via the
|
|
384
|
+
// per-page pan gesture) instead of trying to dismiss the whole viewer.
|
|
385
|
+
.enabled(isOpen && !isZoomed)
|
|
345
386
|
// Only claim drags that are decided to be vertical; horizontal drags
|
|
346
387
|
// fall through to the pager's ScrollView so swiping changes pages.
|
|
347
388
|
.activeOffsetY([-AXIS_DECISION_OFFSET, AXIS_DECISION_OFFSET]).failOffsetX([-AXIS_DECISION_OFFSET, AXIS_DECISION_OFFSET]).onStart(() => {
|
|
@@ -368,7 +409,7 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
368
409
|
duration: OPACITY_DURATION
|
|
369
410
|
});
|
|
370
411
|
}
|
|
371
|
-
}), [handleDismiss, isOpen, SCREEN_HEIGHT, opacity, scale, startScale, startX, startY, translateX, translateY]);
|
|
412
|
+
}), [handleDismiss, isOpen, isZoomed, SCREEN_HEIGHT, opacity, scale, startScale, startX, startY, translateX, translateY]);
|
|
372
413
|
const backdropStyle = useAnimatedStyle(() => ({
|
|
373
414
|
opacity: opacity.value
|
|
374
415
|
}));
|
|
@@ -396,6 +437,18 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
396
437
|
}]
|
|
397
438
|
}));
|
|
398
439
|
|
|
440
|
+
// Pinch/double-tap zoom transform, layered on TOP of the active page image's
|
|
441
|
+
// `fit`-based sizing (composed, never replacing it).
|
|
442
|
+
const zoomImageStyle = useAnimatedStyle(() => ({
|
|
443
|
+
transform: [{
|
|
444
|
+
scale: zoomScale.value
|
|
445
|
+
}, {
|
|
446
|
+
translateX: zoomTranslateX.value
|
|
447
|
+
}, {
|
|
448
|
+
translateY: zoomTranslateY.value
|
|
449
|
+
}]
|
|
450
|
+
}));
|
|
451
|
+
|
|
399
452
|
// Derive the current page from the scroll offset, clamp into range, and update
|
|
400
453
|
// `activeIndex` only when it actually changes (drives the live indicator + the
|
|
401
454
|
// close fly-back target). Shared by `onMomentumScrollEnd` (native) and `onScroll`
|
|
@@ -405,10 +458,29 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
405
458
|
if (lastIndex < 0) return;
|
|
406
459
|
const next = Math.min(Math.max(Math.round(offsetX / SCREEN_WIDTH), 0), lastIndex);
|
|
407
460
|
if (next === activeIndexRef.current) return;
|
|
461
|
+
// Swiping to a new page always starts it un-zoomed (and clears the zoom on
|
|
462
|
+
// the page scrolling away).
|
|
463
|
+
resetZoom();
|
|
408
464
|
setActiveIndexBoth(next);
|
|
409
465
|
const img = images[next];
|
|
410
466
|
if (img) ensureRatio(next, img.uri);
|
|
411
|
-
}, [ensureRatio, images, setActiveIndexBoth, SCREEN_WIDTH]);
|
|
467
|
+
}, [ensureRatio, images, resetZoom, setActiveIndexBoth, SCREEN_WIDTH]);
|
|
468
|
+
|
|
469
|
+
// Programmatically page to `index` (arrow buttons, keyboard, thumbnail taps).
|
|
470
|
+
// Clamps into range and lets the existing scroll handlers own the index/ratio
|
|
471
|
+
// state-sync — this only triggers the scroll. No-op until the pager is mounted.
|
|
472
|
+
const pageTo = useCallback(index => {
|
|
473
|
+
if (!pagerReady) return;
|
|
474
|
+
const lastIndex = images.length - 1;
|
|
475
|
+
if (lastIndex < 0) return;
|
|
476
|
+
const clamped = Math.min(Math.max(index, 0), lastIndex);
|
|
477
|
+
resetZoom();
|
|
478
|
+
pagerRef.current?.scrollTo({
|
|
479
|
+
x: clamped * SCREEN_WIDTH,
|
|
480
|
+
y: 0,
|
|
481
|
+
animated: true
|
|
482
|
+
});
|
|
483
|
+
}, [images.length, pagerReady, resetZoom, SCREEN_WIDTH]);
|
|
412
484
|
const onPagerScroll = useCallback(event => {
|
|
413
485
|
updateIndexFromOffset(event.nativeEvent.contentOffset.x);
|
|
414
486
|
}, [updateIndexFromOffset]);
|
|
@@ -424,6 +496,124 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
424
496
|
});
|
|
425
497
|
}
|
|
426
498
|
}, [SCREEN_WIDTH]);
|
|
499
|
+
|
|
500
|
+
// Double-tap toggles zoom: reset when already zoomed, else zoom to the tapped
|
|
501
|
+
// point (biased toward it, clamped near the image center). `x`/`y` are local
|
|
502
|
+
// to the active image, so its own fitted box gives the center + clamp bounds.
|
|
503
|
+
const zoomToPoint = useCallback((x, y) => {
|
|
504
|
+
if (zoomScale.value > 1) {
|
|
505
|
+
resetZoom();
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
const centerX = activeFit.width / 2;
|
|
509
|
+
const centerY = activeFit.height / 2;
|
|
510
|
+
const maxOffset = Math.max(activeFit.width, activeFit.height) * 0.2;
|
|
511
|
+
const offsetX = Math.max(-maxOffset, Math.min(maxOffset, (centerX - x) * 0.5));
|
|
512
|
+
const offsetY = Math.max(-maxOffset, Math.min(maxOffset, (centerY - y) * 0.5));
|
|
513
|
+
zoomScale.value = withSpring(DOUBLE_TAP_ZOOM_SCALE);
|
|
514
|
+
zoomTranslateX.value = withSpring(offsetX);
|
|
515
|
+
zoomTranslateY.value = withSpring(offsetY);
|
|
516
|
+
savedZoomTranslateX.value = offsetX;
|
|
517
|
+
savedZoomTranslateY.value = offsetY;
|
|
518
|
+
baseZoomScale.value = DOUBLE_TAP_ZOOM_SCALE;
|
|
519
|
+
setIsZoomed(true);
|
|
520
|
+
}, [activeFit, baseZoomScale, resetZoom, savedZoomTranslateX, savedZoomTranslateY, zoomScale, zoomTranslateX, zoomTranslateY]);
|
|
521
|
+
const doubleTapGesture = useMemo(() => Gesture.Tap().numberOfTaps(2).onEnd(event => {
|
|
522
|
+
runOnJS(zoomToPoint)(event.x, event.y);
|
|
523
|
+
}), [zoomToPoint]);
|
|
524
|
+
|
|
525
|
+
// Single tap dismisses — but only when un-zoomed (a tap while zoomed is inert;
|
|
526
|
+
// double-tap/pinch own un-zooming). Made exclusive with the double-tap below so
|
|
527
|
+
// the first tap of a double-tap never dismisses.
|
|
528
|
+
const singleTapDismissGesture = useMemo(() => Gesture.Tap().numberOfTaps(1).onEnd(() => {
|
|
529
|
+
if (zoomScale.value > 1) return;
|
|
530
|
+
runOnJS(handleDismiss)();
|
|
531
|
+
}), [handleDismiss, zoomScale]);
|
|
532
|
+
const pinchGesture = useMemo(() => Gesture.Pinch().onStart(() => {
|
|
533
|
+
baseZoomScale.value = zoomScale.value;
|
|
534
|
+
runOnJS(setIsZoomed)(true);
|
|
535
|
+
}).onUpdate(event => {
|
|
536
|
+
zoomScale.value = Math.max(MIN_ZOOM_SCALE, Math.min(MAX_ZOOM_SCALE, baseZoomScale.value * (event.scale || 1)));
|
|
537
|
+
}).onEnd(() => {
|
|
538
|
+
if (zoomScale.value < ZOOM_SNAP_THRESHOLD) {
|
|
539
|
+
zoomScale.value = withSpring(1);
|
|
540
|
+
zoomTranslateX.value = withSpring(0);
|
|
541
|
+
zoomTranslateY.value = withSpring(0);
|
|
542
|
+
savedZoomTranslateX.value = 0;
|
|
543
|
+
savedZoomTranslateY.value = 0;
|
|
544
|
+
baseZoomScale.value = 1;
|
|
545
|
+
runOnJS(setIsZoomed)(false);
|
|
546
|
+
} else {
|
|
547
|
+
runOnJS(setIsZoomed)(true);
|
|
548
|
+
}
|
|
549
|
+
}), [baseZoomScale, savedZoomTranslateX, savedZoomTranslateY, zoomScale, zoomTranslateX, zoomTranslateY]);
|
|
550
|
+
const panWhileZoomedGesture = useMemo(() => Gesture.Pan().enabled(isZoomed).minPointers(1).maxPointers(1).onStart(() => {
|
|
551
|
+
if (zoomScale.value <= 1) return;
|
|
552
|
+
savedZoomTranslateX.value = zoomTranslateX.value;
|
|
553
|
+
savedZoomTranslateY.value = zoomTranslateY.value;
|
|
554
|
+
}).onUpdate(event => {
|
|
555
|
+
if (zoomScale.value <= 1) return;
|
|
556
|
+
const nextX = savedZoomTranslateX.value + event.translationX * ZOOM_PAN_DAMPING;
|
|
557
|
+
const nextY = savedZoomTranslateY.value + event.translationY * ZOOM_PAN_DAMPING;
|
|
558
|
+
const maxTranslation = ZOOM_PAN_MAX_BASE * zoomScale.value;
|
|
559
|
+
zoomTranslateX.value = Math.max(-maxTranslation, Math.min(maxTranslation, nextX));
|
|
560
|
+
zoomTranslateY.value = Math.max(-maxTranslation, Math.min(maxTranslation, nextY));
|
|
561
|
+
}).onEnd(() => {
|
|
562
|
+
if (zoomScale.value <= 1) return;
|
|
563
|
+
savedZoomTranslateX.value = zoomTranslateX.value;
|
|
564
|
+
savedZoomTranslateY.value = zoomTranslateY.value;
|
|
565
|
+
}), [isZoomed, savedZoomTranslateX, savedZoomTranslateY, zoomScale, zoomTranslateX, zoomTranslateY]);
|
|
566
|
+
|
|
567
|
+
// Active page gesture: double-tap zoom + single-tap dismiss are mutually
|
|
568
|
+
// exclusive (single waits for the double to fail); both run simultaneously
|
|
569
|
+
// with pinch + pan-while-zoomed.
|
|
570
|
+
const activePageGesture = useMemo(() => Gesture.Simultaneous(Gesture.Exclusive(doubleTapGesture, singleTapDismissGesture), pinchGesture, panWhileZoomedGesture), [doubleTapGesture, singleTapDismissGesture, pinchGesture, panWhileZoomedGesture]);
|
|
571
|
+
|
|
572
|
+
// Share the active image's URI: the OS share sheet on native; the Web Share API
|
|
573
|
+
// on supporting browsers (the button is only rendered where it exists).
|
|
574
|
+
const handleShare = useCallback(async () => {
|
|
575
|
+
const uri = images[activeIndexRef.current]?.uri;
|
|
576
|
+
if (!uri) return;
|
|
577
|
+
try {
|
|
578
|
+
if (Platform.OS === 'web') {
|
|
579
|
+
if (typeof navigator !== 'undefined' && typeof navigator.share === 'function') {
|
|
580
|
+
await navigator.share({
|
|
581
|
+
url: uri
|
|
582
|
+
});
|
|
583
|
+
}
|
|
584
|
+
return;
|
|
585
|
+
}
|
|
586
|
+
await Share.share({
|
|
587
|
+
url: uri
|
|
588
|
+
});
|
|
589
|
+
} catch (err) {
|
|
590
|
+
// A user-cancelled share sheet rejects (AbortError on web) — that's
|
|
591
|
+
// expected, not a failure. Anything else is a real error worth surfacing.
|
|
592
|
+
if (err instanceof Error && err.name === 'AbortError') return;
|
|
593
|
+
if (typeof console !== 'undefined' && console.error) console.error('Image share failed:', err);
|
|
594
|
+
}
|
|
595
|
+
}, [images]);
|
|
596
|
+
|
|
597
|
+
// Keyboard navigation (web only), scoped to the open lifetime like Dialog.web's
|
|
598
|
+
// Escape handler. Reads the live index from the ref so it need not re-subscribe
|
|
599
|
+
// on every page change. Escape flies back via `handleDismiss` (not a raw close).
|
|
600
|
+
useEffect(() => {
|
|
601
|
+
if (!isOpen || Platform.OS !== 'web' || typeof document === 'undefined') return;
|
|
602
|
+
const handler = e => {
|
|
603
|
+
if (e.key === 'Escape') {
|
|
604
|
+
e.stopPropagation();
|
|
605
|
+
handleDismiss();
|
|
606
|
+
} else if (e.key === 'ArrowLeft') {
|
|
607
|
+
e.stopPropagation();
|
|
608
|
+
pageTo(activeIndexRef.current - 1);
|
|
609
|
+
} else if (e.key === 'ArrowRight') {
|
|
610
|
+
e.stopPropagation();
|
|
611
|
+
pageTo(activeIndexRef.current + 1);
|
|
612
|
+
}
|
|
613
|
+
};
|
|
614
|
+
document.addEventListener('keydown', handler);
|
|
615
|
+
return () => document.removeEventListener('keydown', handler);
|
|
616
|
+
}, [handleDismiss, isOpen, pageTo]);
|
|
427
617
|
const renderContent = () => /*#__PURE__*/_jsxs(GestureHandlerRootView, {
|
|
428
618
|
style: styles.modalContainer,
|
|
429
619
|
children: [/*#__PURE__*/_jsx(Pressable, {
|
|
@@ -472,7 +662,11 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
472
662
|
children: /*#__PURE__*/_jsx(ScrollView, {
|
|
473
663
|
ref: pagerRef,
|
|
474
664
|
horizontal: true,
|
|
475
|
-
pagingEnabled: true
|
|
665
|
+
pagingEnabled: true
|
|
666
|
+
// Frozen while zoomed so a horizontal drag pans the zoomed image
|
|
667
|
+
// instead of paging away from it.
|
|
668
|
+
,
|
|
669
|
+
scrollEnabled: !isZoomed,
|
|
476
670
|
showsHorizontalScrollIndicator: false,
|
|
477
671
|
contentOffset: {
|
|
478
672
|
x: pendingIndexRef.current * SCREEN_WIDTH,
|
|
@@ -488,12 +682,41 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
488
682
|
children: images.map((img, idx) => {
|
|
489
683
|
const ratio = pageRatios[idx] ?? getAspectRatio(img.uri) ?? DEFAULT_ASPECT_RATIO;
|
|
490
684
|
const fit = fitForRatio(ratio);
|
|
491
|
-
|
|
492
|
-
|
|
685
|
+
// Only the active page is zoomable + gesture-wrapped (double-tap
|
|
686
|
+
// / single-tap dismiss / pinch / pan). Off-screen pages stay a
|
|
687
|
+
// plain image; the active image handles its own tap-to-dismiss
|
|
688
|
+
// through the gesture, so it isn't wrapped in a Pressable.
|
|
689
|
+
if (idx === activeIndex) {
|
|
690
|
+
return /*#__PURE__*/_jsx(View, {
|
|
691
|
+
style: [styles.page, {
|
|
692
|
+
width: SCREEN_WIDTH,
|
|
693
|
+
height: SCREEN_HEIGHT
|
|
694
|
+
}, webPointerStyle],
|
|
695
|
+
children: /*#__PURE__*/_jsx(GestureDetector, {
|
|
696
|
+
gesture: activePageGesture,
|
|
697
|
+
children: /*#__PURE__*/_jsx(AnimatedImage, {
|
|
698
|
+
source: {
|
|
699
|
+
uri: img.uri
|
|
700
|
+
},
|
|
701
|
+
contentFit: "contain",
|
|
702
|
+
style: [{
|
|
703
|
+
width: fit.width,
|
|
704
|
+
height: fit.height,
|
|
705
|
+
borderRadius: cornerRadius
|
|
706
|
+
}, zoomImageStyle],
|
|
707
|
+
transition: 0,
|
|
708
|
+
...(Platform.OS === 'web' ? {
|
|
709
|
+
draggable: false
|
|
710
|
+
} : {})
|
|
711
|
+
})
|
|
712
|
+
})
|
|
713
|
+
}, `${img.uri}-${idx}`);
|
|
714
|
+
}
|
|
715
|
+
return /*#__PURE__*/_jsx(View, {
|
|
493
716
|
style: [styles.page, {
|
|
494
717
|
width: SCREEN_WIDTH,
|
|
495
718
|
height: SCREEN_HEIGHT
|
|
496
|
-
}
|
|
719
|
+
}],
|
|
497
720
|
children: /*#__PURE__*/_jsx(Image, {
|
|
498
721
|
source: {
|
|
499
722
|
uri: img.uri
|
|
@@ -514,19 +737,75 @@ const ZoomableImageGalleryInner = /*#__PURE__*/React.forwardRef(({
|
|
|
514
737
|
})
|
|
515
738
|
}), pagerReady && images.length > 1 && /*#__PURE__*/_jsxs(Animated.View, {
|
|
516
739
|
style: [styles.indicatorWrap, backdropStyle],
|
|
517
|
-
pointerEvents: "none",
|
|
740
|
+
pointerEvents: "box-none",
|
|
518
741
|
children: [/*#__PURE__*/_jsx(View, {
|
|
519
742
|
style: styles.counterPill,
|
|
743
|
+
pointerEvents: "none",
|
|
520
744
|
children: /*#__PURE__*/_jsx(Text, {
|
|
521
745
|
style: styles.counterText,
|
|
522
746
|
children: `${activeIndex + 1} / ${images.length}`
|
|
523
747
|
})
|
|
524
|
-
}), /*#__PURE__*/_jsx(
|
|
748
|
+
}), indicatorVariant === 'thumbnails' ? /*#__PURE__*/_jsx(ScrollView, {
|
|
749
|
+
horizontal: true,
|
|
750
|
+
showsHorizontalScrollIndicator: false,
|
|
751
|
+
style: styles.thumbStripScroll,
|
|
752
|
+
contentContainerStyle: styles.thumbStripContent,
|
|
753
|
+
children: images.map((img, idx) => /*#__PURE__*/_jsx(Pressable, {
|
|
754
|
+
onPress: () => pageTo(idx),
|
|
755
|
+
accessibilityRole: "button",
|
|
756
|
+
accessibilityLabel: `Go to image ${idx + 1} of ${images.length}`,
|
|
757
|
+
style: [styles.thumbTile, idx === activeIndex ? styles.thumbTileActive : styles.thumbTileInactive, webPointerStyle],
|
|
758
|
+
children: /*#__PURE__*/_jsx(Image, {
|
|
759
|
+
source: {
|
|
760
|
+
uri: img.uri
|
|
761
|
+
},
|
|
762
|
+
contentFit: "cover",
|
|
763
|
+
style: styles.thumbTileImage,
|
|
764
|
+
transition: 0,
|
|
765
|
+
...(Platform.OS === 'web' ? {
|
|
766
|
+
draggable: false
|
|
767
|
+
} : {})
|
|
768
|
+
})
|
|
769
|
+
}, `thumb-${img.uri}-${idx}`))
|
|
770
|
+
}) : /*#__PURE__*/_jsx(View, {
|
|
525
771
|
style: styles.dotsRow,
|
|
772
|
+
pointerEvents: "none",
|
|
526
773
|
children: images.map((img, idx) => /*#__PURE__*/_jsx(View, {
|
|
527
774
|
style: [styles.dot, idx === activeIndex ? styles.dotActive : styles.dotInactive]
|
|
528
775
|
}, `dot-${img.uri}-${idx}`))
|
|
529
776
|
})]
|
|
777
|
+
}), Platform.OS === 'web' && pagerReady && images.length > 1 && activeIndex > 0 && /*#__PURE__*/_jsx(PressableWithHover, {
|
|
778
|
+
onPress: () => pageTo(activeIndex - 1),
|
|
779
|
+
accessibilityRole: "button",
|
|
780
|
+
accessibilityLabel: "Previous image",
|
|
781
|
+
hitSlop: 8,
|
|
782
|
+
style: [styles.navArrow, styles.navArrowLeft, webPointerStyle],
|
|
783
|
+
hoverStyle: styles.navArrowHoverLeft,
|
|
784
|
+
children: /*#__PURE__*/_jsx(ArrowLeft_Stroke2_Corner0_Rounded, {
|
|
785
|
+
fill: "#fff",
|
|
786
|
+
size: "lg"
|
|
787
|
+
})
|
|
788
|
+
}), Platform.OS === 'web' && pagerReady && images.length > 1 && activeIndex < images.length - 1 && /*#__PURE__*/_jsx(PressableWithHover, {
|
|
789
|
+
onPress: () => pageTo(activeIndex + 1),
|
|
790
|
+
accessibilityRole: "button",
|
|
791
|
+
accessibilityLabel: "Next image",
|
|
792
|
+
hitSlop: 8,
|
|
793
|
+
style: [styles.navArrow, styles.navArrowRight, webPointerStyle],
|
|
794
|
+
hoverStyle: styles.navArrowHoverRight,
|
|
795
|
+
children: /*#__PURE__*/_jsx(ArrowRight_Stroke2_Corner0_Rounded, {
|
|
796
|
+
fill: "#fff",
|
|
797
|
+
size: "lg"
|
|
798
|
+
})
|
|
799
|
+
}), canShare && pagerReady && /*#__PURE__*/_jsx(Pressable, {
|
|
800
|
+
onPress: handleShare,
|
|
801
|
+
accessibilityRole: "button",
|
|
802
|
+
accessibilityLabel: "Share image",
|
|
803
|
+
hitSlop: 8,
|
|
804
|
+
style: [styles.shareButton, webPointerStyle],
|
|
805
|
+
children: /*#__PURE__*/_jsx(ArrowOutOfBox_Stroke2_Corner0_Rounded, {
|
|
806
|
+
fill: "#fff",
|
|
807
|
+
size: "md"
|
|
808
|
+
})
|
|
530
809
|
}), activeAlt ? /*#__PURE__*/_jsx(Animated.View, {
|
|
531
810
|
style: [styles.altCaptionWrap, images.length > 1 && styles.altCaptionWrapWithIndicator, backdropStyle],
|
|
532
811
|
pointerEvents: "none",
|
|
@@ -630,6 +909,82 @@ const styles = StyleSheet.create({
|
|
|
630
909
|
dotInactive: {
|
|
631
910
|
backgroundColor: 'rgba(255,255,255,0.4)'
|
|
632
911
|
},
|
|
912
|
+
thumbStripScroll: {
|
|
913
|
+
maxWidth: '100%',
|
|
914
|
+
flexGrow: 0
|
|
915
|
+
},
|
|
916
|
+
// Centers the tiles when they don't fill the width, scrolls when they overflow.
|
|
917
|
+
thumbStripContent: {
|
|
918
|
+
flexGrow: 1,
|
|
919
|
+
justifyContent: 'center',
|
|
920
|
+
alignItems: 'center',
|
|
921
|
+
gap: 8,
|
|
922
|
+
paddingHorizontal: 16
|
|
923
|
+
},
|
|
924
|
+
thumbTile: {
|
|
925
|
+
width: THUMBNAIL_STRIP_TILE_SIZE,
|
|
926
|
+
height: THUMBNAIL_STRIP_TILE_SIZE,
|
|
927
|
+
borderRadius: 8,
|
|
928
|
+
overflow: 'hidden',
|
|
929
|
+
borderWidth: 2
|
|
930
|
+
},
|
|
931
|
+
thumbTileActive: {
|
|
932
|
+
borderColor: '#fff'
|
|
933
|
+
},
|
|
934
|
+
thumbTileInactive: {
|
|
935
|
+
borderColor: 'rgba(255,255,255,0.25)'
|
|
936
|
+
},
|
|
937
|
+
thumbTileImage: {
|
|
938
|
+
width: '100%',
|
|
939
|
+
height: '100%'
|
|
940
|
+
},
|
|
941
|
+
navArrow: {
|
|
942
|
+
position: 'absolute',
|
|
943
|
+
top: '50%',
|
|
944
|
+
width: 44,
|
|
945
|
+
height: 44,
|
|
946
|
+
borderRadius: 999,
|
|
947
|
+
alignItems: 'center',
|
|
948
|
+
justifyContent: 'center',
|
|
949
|
+
backgroundColor: 'rgba(0,0,0,0.45)',
|
|
950
|
+
transform: [{
|
|
951
|
+
translateY: -22
|
|
952
|
+
}]
|
|
953
|
+
},
|
|
954
|
+
navArrowLeft: {
|
|
955
|
+
left: 16
|
|
956
|
+
},
|
|
957
|
+
navArrowRight: {
|
|
958
|
+
right: 16
|
|
959
|
+
},
|
|
960
|
+
// Hover styles fully replace the base `transform`, so they repeat `translateY`.
|
|
961
|
+
navArrowHoverLeft: {
|
|
962
|
+
backgroundColor: 'rgba(0,0,0,0.7)',
|
|
963
|
+
transform: [{
|
|
964
|
+
translateY: -22
|
|
965
|
+
}, {
|
|
966
|
+
scale: 1.08
|
|
967
|
+
}]
|
|
968
|
+
},
|
|
969
|
+
navArrowHoverRight: {
|
|
970
|
+
backgroundColor: 'rgba(0,0,0,0.7)',
|
|
971
|
+
transform: [{
|
|
972
|
+
translateY: -22
|
|
973
|
+
}, {
|
|
974
|
+
scale: 1.08
|
|
975
|
+
}]
|
|
976
|
+
},
|
|
977
|
+
shareButton: {
|
|
978
|
+
position: 'absolute',
|
|
979
|
+
top: 16,
|
|
980
|
+
right: 16,
|
|
981
|
+
width: 40,
|
|
982
|
+
height: 40,
|
|
983
|
+
borderRadius: 999,
|
|
984
|
+
alignItems: 'center',
|
|
985
|
+
justifyContent: 'center',
|
|
986
|
+
backgroundColor: 'rgba(0,0,0,0.45)'
|
|
987
|
+
},
|
|
633
988
|
altCaptionWrap: {
|
|
634
989
|
position: 'absolute',
|
|
635
990
|
bottom: 48,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useMemo","useRef","useState","View","Text","StyleSheet","Pressable","Platform","ScrollView","useWindowDimensions","Image","BlurView","Animated","useSharedValue","useAnimatedStyle","withSpring","withTiming","runOnJS","Easing","GestureHandlerRootView","Gesture","GestureDetector","useTheme","Portal","Z_INDEX","getAspectRatio","fetchAspectRatio","DEFAULT_ASPECT_RATIO","FIT_FRACTION","MAX_DRAG_FRACTION","SCALE_DRAG_FRACTION","MIN_DRAG_SCALE","DISMISS_FRACTION","AXIS_DECISION_OFFSET","OPEN_DURATION_WEB","CLOSE_DURATION_WEB","OPACITY_DURATION","OPEN_SPRING","CLOSE_SPRING","SNAP_BACK_SPRING","DEFAULT_CORNER_RADIUS","jsx","_jsx","jsxs","_jsxs","AnimatedBlurView","createAnimatedComponent","AnimatedImage","webPointerStyle","select","web","userSelect","cursor","default","undefined","webUserSelectNoneStyle","ZoomableImageGalleryInner","forwardRef","measureThumb","cornerRadius","ref","theme","width","SCREEN_WIDTH","height","SCREEN_HEIGHT","isOpen","setIsOpen","pagerReady","setPagerReady","images","setImages","activeIndex","setActiveIndex","openRatio","setOpenRatio","pageRatios","setPageRatios","scale","translateX","translateY","opacity","originX","originY","startX","startY","startScale","originScale","pagerRef","pendingIndexRef","activeIndexRef","setActiveIndexBoth","next","current","prev","fitBox","fitForRatio","ratio","safeRatio","Number","isFinite","activeRatio","activeFit","activeAlt","alt","trim","ensureRatio","index","uri","cached","then","finalizeDismiss","value","flyBackTo","target","OS","duration","easing","in","cubic","x","y","setTimeout","fadeOutCenter","handleDismiss","centerX","centerY","rect","revealPager","open","nextImages","length","safeIndex","Math","min","max","knownRatio","aspectRatio","initialRatios","forEach","img","i","r","resolved","fitted","requestAnimationFrame","out","useImperativeHandle","panGesture","Pan","enabled","activeOffsetY","failOffsetX","onStart","onUpdate","event","translationX","translationY","dragDistance","sqrt","maxDrag","scaleReduction","onEnd","backdropStyle","openImageStyle","transform","pagerContainerStyle","updateIndexFromOffset","offsetX","lastIndex","round","onPagerScroll","nativeEvent","contentOffset","onPagerLayout","idx","scrollTo","animated","renderContent","style","styles","modalContainer","children","absoluteFill","onPress","hitSlop","intensity","tint","isDark","experimentalBlurMethod","backgroundColor","colors","overlay","gesture","zoomContainer","pointerEvents","source","contentFit","borderRadius","transition","draggable","horizontal","pagingEnabled","showsHorizontalScrollIndicator","onLayout","onMomentumScrollEnd","onScroll","scrollEventThrottle","map","fit","page","indicatorWrap","counterPill","counterText","dotsRow","dot","dotActive","dotInactive","altCaptionWrap","altCaptionWrapWithIndicator","altCaptionPill","altCaptionText","numberOfLines","displayName","ZoomableImageGallery","create","justifyContent","alignItems","position","top","left","right","bottom","zIndex","fullscreen","gap","paddingHorizontal","paddingVertical","color","fontSize","fontWeight","flexDirection","maxWidth","lineHeight"],"sourceRoot":"../../../src","sources":["zoomable-image-gallery/ZoomableImageGallery.tsx"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useEffect","useMemo","useRef","useState","View","Text","StyleSheet","Pressable","Platform","ScrollView","Share","useWindowDimensions","Image","BlurView","Animated","useSharedValue","useAnimatedStyle","withSpring","withTiming","runOnJS","Easing","GestureHandlerRootView","Gesture","GestureDetector","useTheme","Portal","PressableWithHover","ArrowLeft_Stroke2_Corner0_Rounded","ArrowRight_Stroke2_Corner0_Rounded","ArrowOutOfBox_Stroke2_Corner0_Rounded","Z_INDEX","getAspectRatio","fetchAspectRatio","DEFAULT_ASPECT_RATIO","FIT_FRACTION","MAX_DRAG_FRACTION","SCALE_DRAG_FRACTION","MIN_DRAG_SCALE","DISMISS_FRACTION","AXIS_DECISION_OFFSET","OPEN_DURATION_WEB","CLOSE_DURATION_WEB","OPACITY_DURATION","OPEN_SPRING","CLOSE_SPRING","SNAP_BACK_SPRING","DEFAULT_CORNER_RADIUS","MIN_ZOOM_SCALE","MAX_ZOOM_SCALE","ZOOM_SNAP_THRESHOLD","DOUBLE_TAP_ZOOM_SCALE","ZOOM_PAN_DAMPING","ZOOM_PAN_MAX_BASE","THUMBNAIL_STRIP_TILE_SIZE","jsx","_jsx","jsxs","_jsxs","AnimatedBlurView","createAnimatedComponent","AnimatedImage","webPointerStyle","select","web","userSelect","cursor","default","undefined","webUserSelectNoneStyle","ZoomableImageGalleryInner","forwardRef","measureThumb","cornerRadius","indicatorVariant","ref","theme","width","SCREEN_WIDTH","height","SCREEN_HEIGHT","isOpen","setIsOpen","pagerReady","setPagerReady","images","setImages","activeIndex","setActiveIndex","isZoomed","setIsZoomed","openRatio","setOpenRatio","pageRatios","setPageRatios","canShare","OS","navigator","share","scale","translateX","translateY","opacity","zoomScale","zoomTranslateX","zoomTranslateY","baseZoomScale","savedZoomTranslateX","savedZoomTranslateY","originX","originY","startX","startY","startScale","originScale","pagerRef","pendingIndexRef","activeIndexRef","setActiveIndexBoth","next","current","prev","resetZoom","value","fitBox","fitForRatio","ratio","safeRatio","Number","isFinite","activeRatio","activeFit","activeAlt","alt","trim","ensureRatio","index","uri","cached","then","finalizeDismiss","flyBackTo","target","duration","easing","in","cubic","x","y","setTimeout","fadeOutCenter","handleDismiss","centerX","centerY","rect","revealPager","open","nextImages","length","safeIndex","Math","min","max","knownRatio","aspectRatio","initialRatios","forEach","img","i","r","resolved","fitted","requestAnimationFrame","out","useImperativeHandle","panGesture","Pan","enabled","activeOffsetY","failOffsetX","onStart","onUpdate","event","translationX","translationY","dragDistance","sqrt","maxDrag","scaleReduction","onEnd","backdropStyle","openImageStyle","transform","pagerContainerStyle","zoomImageStyle","updateIndexFromOffset","offsetX","lastIndex","round","pageTo","clamped","scrollTo","animated","onPagerScroll","nativeEvent","contentOffset","onPagerLayout","idx","zoomToPoint","maxOffset","offsetY","doubleTapGesture","Tap","numberOfTaps","singleTapDismissGesture","pinchGesture","Pinch","panWhileZoomedGesture","minPointers","maxPointers","nextX","nextY","maxTranslation","activePageGesture","Simultaneous","Exclusive","handleShare","url","err","Error","name","console","error","document","handler","e","key","stopPropagation","addEventListener","removeEventListener","renderContent","style","styles","modalContainer","children","absoluteFill","onPress","hitSlop","intensity","tint","isDark","experimentalBlurMethod","backgroundColor","colors","overlay","gesture","zoomContainer","pointerEvents","source","contentFit","borderRadius","transition","draggable","horizontal","pagingEnabled","scrollEnabled","showsHorizontalScrollIndicator","onLayout","onMomentumScrollEnd","onScroll","scrollEventThrottle","map","fit","page","indicatorWrap","counterPill","counterText","thumbStripScroll","contentContainerStyle","thumbStripContent","accessibilityRole","accessibilityLabel","thumbTile","thumbTileActive","thumbTileInactive","thumbTileImage","dotsRow","dot","dotActive","dotInactive","navArrow","navArrowLeft","hoverStyle","navArrowHoverLeft","fill","size","navArrowRight","navArrowHoverRight","shareButton","altCaptionWrap","altCaptionWrapWithIndicator","altCaptionPill","altCaptionText","numberOfLines","displayName","ZoomableImageGallery","create","justifyContent","alignItems","position","top","left","right","bottom","zIndex","fullscreen","gap","paddingHorizontal","paddingVertical","color","fontSize","fontWeight","flexDirection","maxWidth","flexGrow","overflow","borderWidth","borderColor","lineHeight"],"sourceRoot":"../../../src","sources":["zoomable-image-gallery/ZoomableImageGallery.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAIC,WAAW,EAAEC,SAAS,EAAEC,OAAO,EAAEC,MAAM,EAAEC,QAAQ,QAAQ,OAAO;AAChF,SACEC,IAAI,EACJC,IAAI,EACJC,UAAU,EACVC,SAAS,EACTC,QAAQ,EACRC,UAAU,EACVC,KAAK,EACLC,mBAAmB,QAId,cAAc;AACrB,SAASC,KAAK,QAAQ,YAAY;AAClC,SAASC,QAAQ,QAAQ,WAAW;AACpC,OAAOC,QAAQ,IACbC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,UAAU,EACVC,OAAO,EACPC,MAAM,QACD,yBAAyB;AAChC,SACEC,sBAAsB,EACtBC,OAAO,EACPC,eAAe,QACV,8BAA8B;AACrC,SAASC,QAAQ,QAAQ,uBAAoB;AAC7C,SAASC,MAAM,QAAQ,WAAW;AAClC,SAASC,kBAAkB,QAAQ,kCAAyB;AAC5D,SACEC,iCAAiC,EACjCC,kCAAkC,EAClCC,qCAAqC,QAChC,mBAAU;AACjB,SAASC,OAAO,QAAQ,sBAAmB;AAC3C,SACEC,cAAc,EACdC,gBAAgB,EAChBC,oBAAoB,QACf,sCAA6B;AACpC,SACEC,YAAY,EACZC,iBAAiB,EACjBC,mBAAmB,EACnBC,cAAc,EACdC,gBAAgB,EAChBC,oBAAoB,EACpBC,iBAAiB,EACjBC,kBAAkB,EAClBC,gBAAgB,EAChBC,WAAW,EACXC,YAAY,EACZC,gBAAgB,EAChBC,qBAAqB,EACrBC,cAAc,EACdC,cAAc,EACdC,mBAAmB,EACnBC,qBAAqB,EACrBC,gBAAgB,EAChBC,iBAAiB,EACjBC,yBAAyB,QACpB,gBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQrB,MAAMC,gBAAgB,GAAG5C,QAAQ,CAAC6C,uBAAuB,CAAC9C,QAAQ,CAAC;AACnE,MAAM+C,aAAa,GAAG9C,QAAQ,CAAC6C,uBAAuB,CAAC/C,KAAK,CAAC;;AAE7D;AACA;AACA;AACA;AACA,MAAMiD,eAAe,GAAGrD,QAAQ,CAACsD,MAAM,CAAC;EACtCC,GAAG,EAAE;IAAEC,UAAU,EAAE,MAAM;IAAEC,MAAM,EAAE;EAAU,CAAc;EAC3DC,OAAO,EAAEC;AACX,CAAC,CAAC;AACF,MAAMC,sBAAsB,GAAG5D,QAAQ,CAACsD,MAAM,CAAC;EAC7CC,GAAG,EAAE;IAAEC,UAAU,EAAE;EAAO,CAAc;EACxCE,OAAO,EAAEC;AACX,CAAC,CAAC;AAOF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAME,yBAAyB,gBAAGvE,KAAK,CAACwE,UAAU,CAAwD,CAAC;EAAEC,YAAY;EAAEC,YAAY,GAAG1B,qBAAqB;EAAE2B,gBAAgB,GAAG;AAAO,CAAC,EAAEC,GAAG,KAAK;EACpM,MAAMC,KAAK,GAAGnD,QAAQ,CAAC,CAAC;EACxB,MAAM;IAAEoD,KAAK,EAAEC,YAAY;IAAEC,MAAM,EAAEC;EAAc,CAAC,GAAGpE,mBAAmB,CAAC,CAAC;EAE5E,MAAM,CAACqE,MAAM,EAAEC,SAAS,CAAC,GAAG9E,QAAQ,CAAC,KAAK,CAAC;EAC3C;EACA,MAAM,CAAC+E,UAAU,EAAEC,aAAa,CAAC,GAAGhF,QAAQ,CAAC,KAAK,CAAC;EACnD,MAAM,CAACiF,MAAM,EAAEC,SAAS,CAAC,GAAGlF,QAAQ,CAAiB,EAAE,CAAC;EACxD,MAAM,CAACmF,WAAW,EAAEC,cAAc,CAAC,GAAGpF,QAAQ,CAAC,CAAC,CAAC;EACjD;EACA;EACA;EACA,MAAM,CAACqF,QAAQ,EAAEC,WAAW,CAAC,GAAGtF,QAAQ,CAAC,KAAK,CAAC;EAC/C;EACA,MAAM,CAACuF,SAAS,EAAEC,YAAY,CAAC,GAAGxF,QAAQ,CAAS8B,oBAAoB,CAAC;EACxE;EACA,MAAM,CAAC2D,UAAU,EAAEC,aAAa,CAAC,GAAG1F,QAAQ,CAAyB,CAAC,CAAC,CAAC;;EAExE;EACA;EACA,MAAM,CAAC2F,QAAQ,CAAC,GAAG3F,QAAQ,CAAC,MAAM;IAChC,IAAIK,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE,OAAO,IAAI;IACtC,OAAO,OAAOC,SAAS,KAAK,WAAW,IAAI,OAAOA,SAAS,CAACC,KAAK,KAAK,UAAU;EAClF,CAAC,CAAC;EAEF,MAAMC,KAAK,GAAGnF,cAAc,CAAC,CAAC,CAAC;EAC/B,MAAMoF,UAAU,GAAGpF,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMqF,UAAU,GAAGrF,cAAc,CAAC,CAAC,CAAC;EACpC,MAAMsF,OAAO,GAAGtF,cAAc,CAAC,CAAC,CAAC;;EAEjC;EACA;EACA;EACA;EACA,MAAMuF,SAAS,GAAGvF,cAAc,CAAC,CAAC,CAAC;EACnC,MAAMwF,cAAc,GAAGxF,cAAc,CAAC,CAAC,CAAC;EACxC,MAAMyF,cAAc,GAAGzF,cAAc,CAAC,CAAC,CAAC;EACxC,MAAM0F,aAAa,GAAG1F,cAAc,CAAC,CAAC,CAAC;EACvC,MAAM2F,mBAAmB,GAAG3F,cAAc,CAAC,CAAC,CAAC;EAC7C,MAAM4F,mBAAmB,GAAG5F,cAAc,CAAC,CAAC,CAAC;;EAE7C;EACA,MAAM6F,OAAO,GAAG7F,cAAc,CAAC,CAAC,CAAC;EACjC,MAAM8F,OAAO,GAAG9F,cAAc,CAAC,CAAC,CAAC;EAEjC,MAAM+F,MAAM,GAAG/F,cAAc,CAAC,CAAC,CAAC;EAChC,MAAMgG,MAAM,GAAGhG,cAAc,CAAC,CAAC,CAAC;EAChC;EACA,MAAMiG,UAAU,GAAGjG,cAAc,CAAC,CAAC,CAAC;EACpC;EACA;EACA;EACA,MAAMkG,WAAW,GAAGlG,cAAc,CAAC,CAAC,CAAC;EAErC,MAAMmG,QAAQ,GAAGhH,MAAM,CAAa,IAAI,CAAC;EACzC;EACA,MAAMiH,eAAe,GAAGjH,MAAM,CAAC,CAAC,CAAC;EACjC;EACA;EACA;EACA,MAAMkH,cAAc,GAAGlH,MAAM,CAAC,CAAC,CAAC;;EAEhC;EACA;EACA,MAAMmH,kBAAkB,GAAGtH,WAAW,CAAEuH,IAAY,IAAK;IACvDF,cAAc,CAACG,OAAO,GAAGD,IAAI;IAC7B/B,cAAc,CAAEiC,IAAI,IAAMA,IAAI,KAAKF,IAAI,GAAGE,IAAI,GAAGF,IAAK,CAAC;EACzD,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA;EACA,MAAMG,SAAS,GAAG1H,WAAW,CAAC,MAAM;IAClCuG,SAAS,CAACoB,KAAK,GAAG,CAAC;IACnBnB,cAAc,CAACmB,KAAK,GAAG,CAAC;IACxBlB,cAAc,CAACkB,KAAK,GAAG,CAAC;IACxBhB,mBAAmB,CAACgB,KAAK,GAAG,CAAC;IAC7Bf,mBAAmB,CAACe,KAAK,GAAG,CAAC;IAC7BjB,aAAa,CAACiB,KAAK,GAAG,CAAC;IACvBjC,WAAW,CAAC,KAAK,CAAC;EACpB,CAAC,EAAE,CAACgB,aAAa,EAAEC,mBAAmB,EAAEC,mBAAmB,EAAEL,SAAS,EAAEC,cAAc,EAAEC,cAAc,CAAC,CAAC;;EAExG;EACA,MAAMmB,MAAM,GAAG1H,OAAO,CACpB,OAAO;IAAE2E,KAAK,EAAEC,YAAY,GAAG3C,YAAY;IAAE4C,MAAM,EAAEC,aAAa,GAAG7C;EAAa,CAAC,CAAC,EACpF,CAAC2C,YAAY,EAAEE,aAAa,CAC9B,CAAC;;EAED;EACA;EACA,MAAM6C,WAAW,GAAG7H,WAAW,CAAE8H,KAAa,IAAiB;IAC7D,MAAMC,SAAS,GAAGD,KAAK,GAAG,CAAC,IAAIE,MAAM,CAACC,QAAQ,CAACH,KAAK,CAAC,GAAGA,KAAK,GAAG5F,oBAAoB;IACpF,IAAI2C,KAAK,GAAG+C,MAAM,CAAC/C,KAAK;IACxB,IAAIE,MAAM,GAAGF,KAAK,GAAGkD,SAAS;IAC9B,IAAIhD,MAAM,GAAG6C,MAAM,CAAC7C,MAAM,EAAE;MAC1BA,MAAM,GAAG6C,MAAM,CAAC7C,MAAM;MACtBF,KAAK,GAAGE,MAAM,GAAGgD,SAAS;IAC5B;IACA,OAAO;MAAElD,KAAK;MAAEE;IAAO,CAAC;EAC1B,CAAC,EAAE,CAAC6C,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACA;EACA,MAAMM,WAAW,GAAGrC,UAAU,CAACN,WAAW,CAAC,IAAII,SAAS;EACxD,MAAMwC,SAAS,GAAGjI,OAAO,CAAC,MAAM2H,WAAW,CAACK,WAAW,CAAC,EAAE,CAACL,WAAW,EAAEK,WAAW,CAAC,CAAC;;EAErF;EACA;EACA,MAAME,SAAS,GAAG/C,MAAM,CAACE,WAAW,CAAC,EAAE8C,GAAG,EAAEC,IAAI,CAAC,CAAC,IAAIlE,SAAS;EAE/D,MAAMmE,WAAW,GAAGvI,WAAW,CAAC,CAACwI,KAAa,EAAEC,GAAW,KAAK;IAC9D,MAAMC,MAAM,GAAG1G,cAAc,CAACyG,GAAG,CAAC;IAClC,IAAIC,MAAM,KAAKtE,SAAS,EAAE;MACxB0B,aAAa,CAAE2B,IAAI,IAAMA,IAAI,CAACe,KAAK,CAAC,KAAKE,MAAM,GAAGjB,IAAI,GAAG;QAAE,GAAGA,IAAI;QAAE,CAACe,KAAK,GAAGE;MAAO,CAAE,CAAC;MACvF;IACF;IACA,KAAKzG,gBAAgB,CAACwG,GAAG,CAAC,CAACE,IAAI,CAAEb,KAAK,IAAK;MACzChC,aAAa,CAAE2B,IAAI,IAAMA,IAAI,CAACe,KAAK,CAAC,KAAKV,KAAK,GAAGL,IAAI,GAAG;QAAE,GAAGA,IAAI;QAAE,CAACe,KAAK,GAAGV;MAAM,CAAE,CAAC;IACvF,CAAC,CAAC;EACJ,CAAC,EAAE,EAAE,CAAC;;EAEN;EACA;EACA,MAAMc,eAAe,GAAG5I,WAAW,CAAC,MAAM;IACxCkF,SAAS,CAAC,KAAK,CAAC;IAChBiB,KAAK,CAACwB,KAAK,GAAG,CAAC;IACfvB,UAAU,CAACuB,KAAK,GAAG,CAAC;IACpBtB,UAAU,CAACsB,KAAK,GAAG,CAAC;IACpBrB,OAAO,CAACqB,KAAK,GAAG,CAAC;EACnB,CAAC,EAAE,CAACrB,OAAO,EAAEH,KAAK,EAAEC,UAAU,EAAEC,UAAU,CAAC,CAAC;;EAE5C;EACA;EACA;EACA,MAAMwC,SAAS,GAAG7I,WAAW,CAC1B8I,MAA+C,IAAK;IACnD,IAAIrI,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE;MACzB,MAAM+C,QAAQ,GAAGrG,kBAAkB;MACnC,MAAMsG,MAAM,GAAG3H,MAAM,CAAC4H,EAAE,CAAC5H,MAAM,CAAC6H,KAAK,CAAC;MACtC/C,KAAK,CAACwB,KAAK,GAAGxG,UAAU,CAAC2H,MAAM,CAAC3C,KAAK,EAAE;QAAE4C,QAAQ;QAAEC;MAAO,CAAC,CAAC;MAC5D5C,UAAU,CAACuB,KAAK,GAAGxG,UAAU,CAAC2H,MAAM,CAACK,CAAC,EAAE;QAAEJ,QAAQ;QAAEC;MAAO,CAAC,CAAC;MAC7D3C,UAAU,CAACsB,KAAK,GAAGxG,UAAU,CAAC2H,MAAM,CAACM,CAAC,EAAE;QAAEL,QAAQ;QAAEC;MAAO,CAAC,CAAC;MAC7D1C,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ;QAAEC;MAAO,CAAC,CAAC;MACnDK,UAAU,CAACT,eAAe,EAAEG,QAAQ,GAAG,EAAE,CAAC;IAC5C,CAAC,MAAM;MACL5C,KAAK,CAACwB,KAAK,GAAGzG,UAAU,CAAC4H,MAAM,CAAC3C,KAAK,EAAEtD,YAAY,CAAC;MACpDuD,UAAU,CAACuB,KAAK,GAAGzG,UAAU,CAAC4H,MAAM,CAACK,CAAC,EAAEtG,YAAY,CAAC;MACrDwD,UAAU,CAACsB,KAAK,GAAGzG,UAAU,CAAC4H,MAAM,CAACM,CAAC,EAAEvG,YAAY,CAAC;MACrDyD,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ,EAAEpG;MAAiB,CAAC,CAAC;MAC7D0G,UAAU,CAACT,eAAe,EAAElG,kBAAkB,CAAC;IACjD;EACF,CAAC,EACD,CAACkG,eAAe,EAAEtC,OAAO,EAAEH,KAAK,EAAEC,UAAU,EAAEC,UAAU,CAC1D,CAAC;;EAED;EACA;EACA;EACA,MAAMiD,aAAa,GAAGtJ,WAAW,CAAC,MAAM;IACtC,IAAIS,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE;MACzB,MAAM+C,QAAQ,GAAGrG,kBAAkB;MACnC,MAAMsG,MAAM,GAAG3H,MAAM,CAAC4H,EAAE,CAAC5H,MAAM,CAAC6H,KAAK,CAAC;MACtC/C,KAAK,CAACwB,KAAK,GAAGxG,UAAU,CAACmB,cAAc,EAAE;QAAEyG,QAAQ;QAAEC;MAAO,CAAC,CAAC;MAC9D1C,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ;QAAEC;MAAO,CAAC,CAAC;MACnDK,UAAU,CAACT,eAAe,EAAEG,QAAQ,GAAG,EAAE,CAAC;IAC5C,CAAC,MAAM;MACL5C,KAAK,CAACwB,KAAK,GAAGzG,UAAU,CAACoB,cAAc,EAAEO,YAAY,CAAC;MACtDyD,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ,EAAEpG;MAAiB,CAAC,CAAC;MAC7D0G,UAAU,CAACT,eAAe,EAAElG,kBAAkB,CAAC;IACjD;EACF,CAAC,EAAE,CAACkG,eAAe,EAAEtC,OAAO,EAAEH,KAAK,CAAC,CAAC;EAErC,MAAMoD,aAAa,GAAGvJ,WAAW,CAAC,MAAM;IACtC;IACA;IACAoF,aAAa,CAAC,KAAK,CAAC;IAEpB,MAAMoD,KAAK,GAAGnB,cAAc,CAACG,OAAO;IACpC,MAAMA,OAAO,GAAGnC,MAAM,CAACmD,KAAK,CAAC;IAC7B;IACA;IACA;IACA;IACA,IAAIhE,YAAY,IAAIgD,OAAO,EAAE;MAC3B,MAAMgC,OAAO,GAAG1E,YAAY,GAAG,CAAC;MAChC,MAAM2E,OAAO,GAAGzE,aAAa,GAAG,CAAC;MACjC,KAAKR,YAAY,CAACgE,KAAK,CAAC,CAACG,IAAI,CAAEe,IAAI,IAAK;QACtC,IAAIA,IAAI,IAAIA,IAAI,CAAC7E,KAAK,GAAG,CAAC,IAAIsD,SAAS,CAACtD,KAAK,GAAG,CAAC,EAAE;UACjDgE,SAAS,CAAC;YACRM,CAAC,EAAEO,IAAI,CAACP,CAAC,GAAGO,IAAI,CAAC7E,KAAK,GAAG,CAAC,GAAG2E,OAAO;YACpCJ,CAAC,EAAEM,IAAI,CAACN,CAAC,GAAGM,IAAI,CAAC3E,MAAM,GAAG,CAAC,GAAG0E,OAAO;YACrCtD,KAAK,EAAEuD,IAAI,CAAC7E,KAAK,GAAGsD,SAAS,CAACtD;UAChC,CAAC,CAAC;QACJ,CAAC,MAAM;UACLyE,aAAa,CAAC,CAAC;QACjB;MACF,CAAC,CAAC;MACF;IACF;IAEAA,aAAa,CAAC,CAAC;EACjB,CAAC,EAAE,CACDnB,SAAS,EACTmB,aAAa,EACbT,SAAS,EACTxD,MAAM,EACNb,YAAY,EACZQ,aAAa,EACbF,YAAY,CACb,CAAC;;EAEF;EACA;EACA;EACA,MAAM6E,WAAW,GAAG3J,WAAW,CAAC,MAAM;IACpCoF,aAAa,CAAC,IAAI,CAAC;EACrB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMwE,IAAI,GAAG5J,WAAW,CACtB,CAAC6J,UAA0B,EAAErB,KAAa,EAAEkB,IAAmB,KAAK;IAClE,IAAIzE,MAAM,IAAI4E,UAAU,CAACC,MAAM,KAAK,CAAC,EAAE;IACvC,MAAMC,SAAS,GAAGC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAAC1B,KAAK,EAAE,CAAC,CAAC,EAAEqB,UAAU,CAACC,MAAM,GAAG,CAAC,CAAC;IACrE,MAAMhB,MAAM,GAAGe,UAAU,CAACE,SAAS,CAAC;IACpC,IAAI,CAACjB,MAAM,EAAE;IACb,MAAMqB,UAAU,GAAGrB,MAAM,CAACsB,WAAW,IAAIpI,cAAc,CAAC8G,MAAM,CAACL,GAAG,CAAC;IACnE,MAAMX,KAAK,GAAGqC,UAAU,IAAIjI,oBAAoB;IAEhDoD,SAAS,CAACuE,UAAU,CAAC;IACrBvC,kBAAkB,CAACyC,SAAS,CAAC;IAC7BnE,YAAY,CAACkC,KAAK,CAAC;IACnB;IACA;IACA;IACA,MAAMuC,aAAqC,GAAG,CAAC,CAAC;IAChDR,UAAU,CAACS,OAAO,CAAC,CAACC,GAAG,EAAEC,CAAC,KAAK;MAC7B,MAAMC,CAAC,GAAGF,GAAG,CAACH,WAAW,IAAIpI,cAAc,CAACuI,GAAG,CAAC9B,GAAG,CAAC;MACpD,IAAIgC,CAAC,KAAKrG,SAAS,EAAEiG,aAAa,CAACG,CAAC,CAAC,GAAGC,CAAC;IAC3C,CAAC,CAAC;IACF3E,aAAa,CAACuE,aAAa,CAAC;IAC5BjD,eAAe,CAACI,OAAO,GAAGuC,SAAS;;IAEnC;IACA,IAAII,UAAU,KAAK/F,SAAS,EAAE;MAC5B,KAAKnC,gBAAgB,CAAC6G,MAAM,CAACL,GAAG,CAAC,CAACE,IAAI,CAAE+B,QAAQ,IAAK;QACnD9E,YAAY,CAAC8E,QAAQ,CAAC;QACtB5E,aAAa,CAAE2B,IAAI,KAAM;UAAE,GAAGA,IAAI;UAAE,CAACsC,SAAS,GAAGW;QAAS,CAAC,CAAC,CAAC;MAC/D,CAAC,CAAC;IACJ;;IAEA;IACA;IACA;IACA;IACA,MAAMC,MAAM,GAAG9C,WAAW,CAACC,KAAK,CAAC;IACjC,MAAM0B,OAAO,GAAG1E,YAAY,GAAG,CAAC;IAChC,MAAM2E,OAAO,GAAGzE,aAAa,GAAG,CAAC;IACjC,IAAI0E,IAAI,IAAIA,IAAI,CAAC7E,KAAK,GAAG,CAAC,EAAE;MAC1BgC,OAAO,CAACc,KAAK,GAAG+B,IAAI,CAACP,CAAC,GAAGO,IAAI,CAAC7E,KAAK,GAAG,CAAC,GAAG2E,OAAO;MACjD1C,OAAO,CAACa,KAAK,GAAG+B,IAAI,CAACN,CAAC,GAAGM,IAAI,CAAC3E,MAAM,GAAG,CAAC,GAAG0E,OAAO;MAClDvC,WAAW,CAACS,KAAK,GAAG+B,IAAI,CAAC7E,KAAK,GAAG8F,MAAM,CAAC9F,KAAK;IAC/C,CAAC,MAAM;MACLgC,OAAO,CAACc,KAAK,GAAG,CAAC;MACjBb,OAAO,CAACa,KAAK,GAAG,CAAC;MACjBT,WAAW,CAACS,KAAK,GAAG,CAAC;IACvB;IAEAzC,SAAS,CAAC,IAAI,CAAC;IACfkB,UAAU,CAACuB,KAAK,GAAGd,OAAO,CAACc,KAAK;IAChCtB,UAAU,CAACsB,KAAK,GAAGb,OAAO,CAACa,KAAK;IAChCxB,KAAK,CAACwB,KAAK,GAAGT,WAAW,CAACS,KAAK;IAC/BrB,OAAO,CAACqB,KAAK,GAAG,CAAC;IAEjB,IAAIlH,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE;MACzB4E,qBAAqB,CAAC,MAAM;QAC1B,MAAM7B,QAAQ,GAAGtG,iBAAiB;QAClC,MAAMuG,MAAM,GAAG3H,MAAM,CAACwJ,GAAG,CAACxJ,MAAM,CAAC6H,KAAK,CAAC;QACvC/C,KAAK,CAACwB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ;UAAEC;QAAO,CAAC,CAAC;QACjD5C,UAAU,CAACuB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ;UAAEC;QAAO,CAAC,CAAC;QACtD3C,UAAU,CAACsB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ;UAAEC;QAAO,CAAC,CAAC;QACtD1C,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ;UAAEC;QAAO,CAAC,CAAC;QACnDK,UAAU,CAACM,WAAW,EAAEZ,QAAQ,CAAC;MACnC,CAAC,CAAC;IACJ,CAAC,MAAM;MACLM,UAAU,CAAC,MAAM;QACflD,KAAK,CAACwB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE0B,WAAW,CAAC;QACxCwD,UAAU,CAACuB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE0B,WAAW,CAAC;QAC7CyD,UAAU,CAACsB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE0B,WAAW,CAAC;QAC7C0D,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;UAAE4H,QAAQ,EAAEpG;QAAiB,CAAC,CAAC;QAC7D0G,UAAU,CAACM,WAAW,EAAElH,iBAAiB,CAAC;MAC5C,CAAC,EAAE,CAAC,CAAC;IACP;EACF,CAAC,EACD,CACEwC,MAAM,EACNH,YAAY,EACZE,aAAa,EACb6C,WAAW,EACXvB,OAAO,EACPY,WAAW,EACXL,OAAO,EACPC,OAAO,EACP6C,WAAW,EACXxD,KAAK,EACLmB,kBAAkB,EAClBlB,UAAU,EACVC,UAAU,CAEd,CAAC;EAEDtG,KAAK,CAAC+K,mBAAmB,CAACnG,GAAG,EAAE,OAAO;IAAEiF;EAAK,CAAC,CAAC,EAAE,CAACA,IAAI,CAAC,CAAC;EAExD,MAAMmB,UAAU,GAAG7K,OAAO,CACxB,MACEqB,OAAO,CAACyJ,GAAG,CAAC;EACV;EACA;EAAA,CACCC,OAAO,CAAChG,MAAM,IAAI,CAACQ,QAAQ;EAC5B;EACA;EAAA,CACCyF,aAAa,CAAC,CAAC,CAAC1I,oBAAoB,EAAEA,oBAAoB,CAAC,CAAC,CAC5D2I,WAAW,CAAC,CAAC,CAAC3I,oBAAoB,EAAEA,oBAAoB,CAAC,CAAC,CAC1D4I,OAAO,CAAC,MAAM;IACbrE,MAAM,CAACY,KAAK,GAAGvB,UAAU,CAACuB,KAAK;IAC/BX,MAAM,CAACW,KAAK,GAAGtB,UAAU,CAACsB,KAAK;IAC/BV,UAAU,CAACU,KAAK,GAAGxB,KAAK,CAACwB,KAAK;EAChC,CAAC,CAAC,CACD0D,QAAQ,CAAEC,KAAK,IAAK;IACnBlF,UAAU,CAACuB,KAAK,GAAGZ,MAAM,CAACY,KAAK,GAAG2D,KAAK,CAACC,YAAY;IACpDlF,UAAU,CAACsB,KAAK,GAAGX,MAAM,CAACW,KAAK,GAAG2D,KAAK,CAACE,YAAY;IACpD,MAAMC,YAAY,GAAGzB,IAAI,CAAC0B,IAAI,CAACJ,KAAK,CAACC,YAAY,IAAI,CAAC,GAAGD,KAAK,CAACE,YAAY,IAAI,CAAC,CAAC;IACjF,MAAMG,OAAO,GAAG3G,aAAa,GAAG5C,iBAAiB;IACjDkE,OAAO,CAACqB,KAAK,GAAGqC,IAAI,CAACE,GAAG,CAAC,CAAC,EAAE,CAAC,GAAGuB,YAAY,GAAGE,OAAO,CAAC;IACvD,MAAMC,cAAc,GAAG5B,IAAI,CAACE,GAAG,CAC7B5H,cAAc,EACd,CAAC,GAAGmJ,YAAY,IAAIzG,aAAa,GAAG3C,mBAAmB,CACzD,CAAC;IACD8D,KAAK,CAACwB,KAAK,GAAGV,UAAU,CAACU,KAAK,GAAGiE,cAAc;EACjD,CAAC,CAAC,CACDC,KAAK,CAAEP,KAAK,IAAK;IAChB,MAAMG,YAAY,GAAGzB,IAAI,CAAC0B,IAAI,CAACJ,KAAK,CAACC,YAAY,IAAI,CAAC,GAAGD,KAAK,CAACE,YAAY,IAAI,CAAC,CAAC;IACjF,IAAIC,YAAY,GAAGzG,aAAa,GAAGzC,gBAAgB,EAAE;MACnDnB,OAAO,CAACmI,aAAa,CAAC,CAAC,CAAC;IAC1B,CAAC,MAAM;MACLpD,KAAK,CAACwB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE4B,gBAAgB,CAAC;MAC7CsD,UAAU,CAACuB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE4B,gBAAgB,CAAC;MAClDuD,UAAU,CAACsB,KAAK,GAAGzG,UAAU,CAAC,CAAC,EAAE4B,gBAAgB,CAAC;MAClDwD,OAAO,CAACqB,KAAK,GAAGxG,UAAU,CAAC,CAAC,EAAE;QAAE4H,QAAQ,EAAEpG;MAAiB,CAAC,CAAC;IAC/D;EACF,CAAC,CAAC,EACN,CAAC4G,aAAa,EAAEtE,MAAM,EAAEQ,QAAQ,EAAET,aAAa,EAAEsB,OAAO,EAAEH,KAAK,EAAEc,UAAU,EAAEF,MAAM,EAAEC,MAAM,EAAEZ,UAAU,EAAEC,UAAU,CACrH,CAAC;EAED,MAAMyF,aAAa,GAAG7K,gBAAgB,CAAC,OAAO;IAAEqF,OAAO,EAAEA,OAAO,CAACqB;EAAM,CAAC,CAAC,CAAC;;EAE1E;EACA,MAAMoE,cAAc,GAAG9K,gBAAgB,CAAC,OAAO;IAC7C+K,SAAS,EAAE,CACT;MAAE5F,UAAU,EAAEA,UAAU,CAACuB;IAAM,CAAC,EAChC;MAAEtB,UAAU,EAAEA,UAAU,CAACsB;IAAM,CAAC,EAChC;MAAExB,KAAK,EAAEA,KAAK,CAACwB;IAAM,CAAC;EAE1B,CAAC,CAAC,CAAC;;EAEH;EACA,MAAMsE,mBAAmB,GAAGhL,gBAAgB,CAAC,OAAO;IAClDqF,OAAO,EAAEA,OAAO,CAACqB,KAAK;IACtBqE,SAAS,EAAE,CACT;MAAE5F,UAAU,EAAEA,UAAU,CAACuB;IAAM,CAAC,EAChC;MAAEtB,UAAU,EAAEA,UAAU,CAACsB;IAAM,CAAC,EAChC;MAAExB,KAAK,EAAEA,KAAK,CAACwB;IAAM,CAAC;EAE1B,CAAC,CAAC,CAAC;;EAEH;EACA;EACA,MAAMuE,cAAc,GAAGjL,gBAAgB,CAAC,OAAO;IAC7C+K,SAAS,EAAE,CACT;MAAE7F,KAAK,EAAEI,SAAS,CAACoB;IAAM,CAAC,EAC1B;MAAEvB,UAAU,EAAEI,cAAc,CAACmB;IAAM,CAAC,EACpC;MAAEtB,UAAU,EAAEI,cAAc,CAACkB;IAAM,CAAC;EAExC,CAAC,CAAC,CAAC;;EAEH;EACA;EACA;EACA;EACA,MAAMwE,qBAAqB,GAAGnM,WAAW,CACtCoM,OAAe,IAAK;IACnB,MAAMC,SAAS,GAAGhH,MAAM,CAACyE,MAAM,GAAG,CAAC;IACnC,IAAIuC,SAAS,GAAG,CAAC,EAAE;IACnB,MAAM9E,IAAI,GAAGyC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAACF,IAAI,CAACsC,KAAK,CAACF,OAAO,GAAGtH,YAAY,CAAC,EAAE,CAAC,CAAC,EAAEuH,SAAS,CAAC;IACjF,IAAI9E,IAAI,KAAKF,cAAc,CAACG,OAAO,EAAE;IACrC;IACA;IACAE,SAAS,CAAC,CAAC;IACXJ,kBAAkB,CAACC,IAAI,CAAC;IACxB,MAAMgD,GAAG,GAAGlF,MAAM,CAACkC,IAAI,CAAC;IACxB,IAAIgD,GAAG,EAAEhC,WAAW,CAAChB,IAAI,EAAEgD,GAAG,CAAC9B,GAAG,CAAC;EACrC,CAAC,EACD,CAACF,WAAW,EAAElD,MAAM,EAAEqC,SAAS,EAAEJ,kBAAkB,EAAExC,YAAY,CACnE,CAAC;;EAED;EACA;EACA;EACA,MAAMyH,MAAM,GAAGvM,WAAW,CACvBwI,KAAa,IAAK;IACjB,IAAI,CAACrD,UAAU,EAAE;IACjB,MAAMkH,SAAS,GAAGhH,MAAM,CAACyE,MAAM,GAAG,CAAC;IACnC,IAAIuC,SAAS,GAAG,CAAC,EAAE;IACnB,MAAMG,OAAO,GAAGxC,IAAI,CAACC,GAAG,CAACD,IAAI,CAACE,GAAG,CAAC1B,KAAK,EAAE,CAAC,CAAC,EAAE6D,SAAS,CAAC;IACvD3E,SAAS,CAAC,CAAC;IACXP,QAAQ,CAACK,OAAO,EAAEiF,QAAQ,CAAC;MAAEtD,CAAC,EAAEqD,OAAO,GAAG1H,YAAY;MAAEsE,CAAC,EAAE,CAAC;MAAEsD,QAAQ,EAAE;IAAK,CAAC,CAAC;EACjF,CAAC,EACD,CAACrH,MAAM,CAACyE,MAAM,EAAE3E,UAAU,EAAEuC,SAAS,EAAE5C,YAAY,CACrD,CAAC;EAED,MAAM6H,aAAa,GAAG3M,WAAW,CAC9BsL,KAA8C,IAAK;IAClDa,qBAAqB,CAACb,KAAK,CAACsB,WAAW,CAACC,aAAa,CAAC1D,CAAC,CAAC;EAC1D,CAAC,EACD,CAACgD,qBAAqB,CACxB,CAAC;;EAED;EACA;EACA,MAAMW,aAAa,GAAG9M,WAAW,CAAC,MAAM;IACtC,MAAM+M,GAAG,GAAG3F,eAAe,CAACI,OAAO;IACnC,IAAIuF,GAAG,GAAG,CAAC,EAAE;MACX5F,QAAQ,CAACK,OAAO,EAAEiF,QAAQ,CAAC;QAAEtD,CAAC,EAAE4D,GAAG,GAAGjI,YAAY;QAAE4H,QAAQ,EAAE;MAAM,CAAC,CAAC;IACxE;EACF,CAAC,EAAE,CAAC5H,YAAY,CAAC,CAAC;;EAElB;EACA;EACA;EACA,MAAMkI,WAAW,GAAGhN,WAAW,CAC7B,CAACmJ,CAAS,EAAEC,CAAS,KAAK;IACxB,IAAI7C,SAAS,CAACoB,KAAK,GAAG,CAAC,EAAE;MACvBD,SAAS,CAAC,CAAC;MACX;IACF;IACA,MAAM8B,OAAO,GAAGrB,SAAS,CAACtD,KAAK,GAAG,CAAC;IACnC,MAAM4E,OAAO,GAAGtB,SAAS,CAACpD,MAAM,GAAG,CAAC;IACpC,MAAMkI,SAAS,GAAGjD,IAAI,CAACE,GAAG,CAAC/B,SAAS,CAACtD,KAAK,EAAEsD,SAAS,CAACpD,MAAM,CAAC,GAAG,GAAG;IACnE,MAAMqH,OAAO,GAAGpC,IAAI,CAACE,GAAG,CAAC,CAAC+C,SAAS,EAAEjD,IAAI,CAACC,GAAG,CAACgD,SAAS,EAAE,CAACzD,OAAO,GAAGL,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9E,MAAM+D,OAAO,GAAGlD,IAAI,CAACE,GAAG,CAAC,CAAC+C,SAAS,EAAEjD,IAAI,CAACC,GAAG,CAACgD,SAAS,EAAE,CAACxD,OAAO,GAAGL,CAAC,IAAI,GAAG,CAAC,CAAC;IAC9E7C,SAAS,CAACoB,KAAK,GAAGzG,UAAU,CAACiC,qBAAqB,CAAC;IACnDqD,cAAc,CAACmB,KAAK,GAAGzG,UAAU,CAACkL,OAAO,CAAC;IAC1C3F,cAAc,CAACkB,KAAK,GAAGzG,UAAU,CAACgM,OAAO,CAAC;IAC1CvG,mBAAmB,CAACgB,KAAK,GAAGyE,OAAO;IACnCxF,mBAAmB,CAACe,KAAK,GAAGuF,OAAO;IACnCxG,aAAa,CAACiB,KAAK,GAAGxE,qBAAqB;IAC3CuC,WAAW,CAAC,IAAI,CAAC;EACnB,CAAC,EACD,CAACyC,SAAS,EAAEzB,aAAa,EAAEgB,SAAS,EAAEf,mBAAmB,EAAEC,mBAAmB,EAAEL,SAAS,EAAEC,cAAc,EAAEC,cAAc,CAC3H,CAAC;EAED,MAAM0G,gBAAgB,GAAGjN,OAAO,CAC9B,MACEqB,OAAO,CAAC6L,GAAG,CAAC,CAAC,CACVC,YAAY,CAAC,CAAC,CAAC,CACfxB,KAAK,CAAEP,KAAK,IAAK;IAChBlK,OAAO,CAAC4L,WAAW,CAAC,CAAC1B,KAAK,CAACnC,CAAC,EAAEmC,KAAK,CAAClC,CAAC,CAAC;EACxC,CAAC,CAAC,EACN,CAAC4D,WAAW,CACd,CAAC;;EAED;EACA;EACA;EACA,MAAMM,uBAAuB,GAAGpN,OAAO,CACrC,MACEqB,OAAO,CAAC6L,GAAG,CAAC,CAAC,CACVC,YAAY,CAAC,CAAC,CAAC,CACfxB,KAAK,CAAC,MAAM;IACX,IAAItF,SAAS,CAACoB,KAAK,GAAG,CAAC,EAAE;IACzBvG,OAAO,CAACmI,aAAa,CAAC,CAAC,CAAC;EAC1B,CAAC,CAAC,EACN,CAACA,aAAa,EAAEhD,SAAS,CAC3B,CAAC;EAED,MAAMgH,YAAY,GAAGrN,OAAO,CAC1B,MACEqB,OAAO,CAACiM,KAAK,CAAC,CAAC,CACZpC,OAAO,CAAC,MAAM;IACb1E,aAAa,CAACiB,KAAK,GAAGpB,SAAS,CAACoB,KAAK;IACrCvG,OAAO,CAACsE,WAAW,CAAC,CAAC,IAAI,CAAC;EAC5B,CAAC,CAAC,CACD2F,QAAQ,CAAEC,KAAK,IAAK;IACnB/E,SAAS,CAACoB,KAAK,GAAGqC,IAAI,CAACE,GAAG,CACxBlH,cAAc,EACdgH,IAAI,CAACC,GAAG,CAAChH,cAAc,EAAEyD,aAAa,CAACiB,KAAK,IAAI2D,KAAK,CAACnF,KAAK,IAAI,CAAC,CAAC,CACnE,CAAC;EACH,CAAC,CAAC,CACD0F,KAAK,CAAC,MAAM;IACX,IAAItF,SAAS,CAACoB,KAAK,GAAGzE,mBAAmB,EAAE;MACzCqD,SAAS,CAACoB,KAAK,GAAGzG,UAAU,CAAC,CAAC,CAAC;MAC/BsF,cAAc,CAACmB,KAAK,GAAGzG,UAAU,CAAC,CAAC,CAAC;MACpCuF,cAAc,CAACkB,KAAK,GAAGzG,UAAU,CAAC,CAAC,CAAC;MACpCyF,mBAAmB,CAACgB,KAAK,GAAG,CAAC;MAC7Bf,mBAAmB,CAACe,KAAK,GAAG,CAAC;MAC7BjB,aAAa,CAACiB,KAAK,GAAG,CAAC;MACvBvG,OAAO,CAACsE,WAAW,CAAC,CAAC,KAAK,CAAC;IAC7B,CAAC,MAAM;MACLtE,OAAO,CAACsE,WAAW,CAAC,CAAC,IAAI,CAAC;IAC5B;EACF,CAAC,CAAC,EACN,CAACgB,aAAa,EAAEC,mBAAmB,EAAEC,mBAAmB,EAAEL,SAAS,EAAEC,cAAc,EAAEC,cAAc,CACrG,CAAC;EAED,MAAMgH,qBAAqB,GAAGvN,OAAO,CACnC,MACEqB,OAAO,CAACyJ,GAAG,CAAC,CAAC,CACVC,OAAO,CAACxF,QAAQ,CAAC,CACjBiI,WAAW,CAAC,CAAC,CAAC,CACdC,WAAW,CAAC,CAAC,CAAC,CACdvC,OAAO,CAAC,MAAM;IACb,IAAI7E,SAAS,CAACoB,KAAK,IAAI,CAAC,EAAE;IAC1BhB,mBAAmB,CAACgB,KAAK,GAAGnB,cAAc,CAACmB,KAAK;IAChDf,mBAAmB,CAACe,KAAK,GAAGlB,cAAc,CAACkB,KAAK;EAClD,CAAC,CAAC,CACD0D,QAAQ,CAAEC,KAAK,IAAK;IACnB,IAAI/E,SAAS,CAACoB,KAAK,IAAI,CAAC,EAAE;IAC1B,MAAMiG,KAAK,GAAGjH,mBAAmB,CAACgB,KAAK,GAAG2D,KAAK,CAACC,YAAY,GAAGnI,gBAAgB;IAC/E,MAAMyK,KAAK,GAAGjH,mBAAmB,CAACe,KAAK,GAAG2D,KAAK,CAACE,YAAY,GAAGpI,gBAAgB;IAC/E,MAAM0K,cAAc,GAAGzK,iBAAiB,GAAGkD,SAAS,CAACoB,KAAK;IAC1DnB,cAAc,CAACmB,KAAK,GAAGqC,IAAI,CAACE,GAAG,CAAC,CAAC4D,cAAc,EAAE9D,IAAI,CAACC,GAAG,CAAC6D,cAAc,EAAEF,KAAK,CAAC,CAAC;IACjFnH,cAAc,CAACkB,KAAK,GAAGqC,IAAI,CAACE,GAAG,CAAC,CAAC4D,cAAc,EAAE9D,IAAI,CAACC,GAAG,CAAC6D,cAAc,EAAED,KAAK,CAAC,CAAC;EACnF,CAAC,CAAC,CACDhC,KAAK,CAAC,MAAM;IACX,IAAItF,SAAS,CAACoB,KAAK,IAAI,CAAC,EAAE;IAC1BhB,mBAAmB,CAACgB,KAAK,GAAGnB,cAAc,CAACmB,KAAK;IAChDf,mBAAmB,CAACe,KAAK,GAAGlB,cAAc,CAACkB,KAAK;EAClD,CAAC,CAAC,EACN,CAAClC,QAAQ,EAAEkB,mBAAmB,EAAEC,mBAAmB,EAAEL,SAAS,EAAEC,cAAc,EAAEC,cAAc,CAChG,CAAC;;EAED;EACA;EACA;EACA,MAAMsH,iBAAiB,GAAG7N,OAAO,CAC/B,MACEqB,OAAO,CAACyM,YAAY,CAClBzM,OAAO,CAAC0M,SAAS,CAACd,gBAAgB,EAAEG,uBAAuB,CAAC,EAC5DC,YAAY,EACZE,qBACF,CAAC,EACH,CAACN,gBAAgB,EAAEG,uBAAuB,EAAEC,YAAY,EAAEE,qBAAqB,CACjF,CAAC;;EAED;EACA;EACA,MAAMS,WAAW,GAAGlO,WAAW,CAAC,YAAY;IAC1C,MAAMyI,GAAG,GAAGpD,MAAM,CAACgC,cAAc,CAACG,OAAO,CAAC,EAAEiB,GAAG;IAC/C,IAAI,CAACA,GAAG,EAAE;IACV,IAAI;MACF,IAAIhI,QAAQ,CAACuF,EAAE,KAAK,KAAK,EAAE;QACzB,IAAI,OAAOC,SAAS,KAAK,WAAW,IAAI,OAAOA,SAAS,CAACC,KAAK,KAAK,UAAU,EAAE;UAC7E,MAAMD,SAAS,CAACC,KAAK,CAAC;YAAEiI,GAAG,EAAE1F;UAAI,CAAC,CAAC;QACrC;QACA;MACF;MACA,MAAM9H,KAAK,CAACuF,KAAK,CAAC;QAAEiI,GAAG,EAAE1F;MAAI,CAAC,CAAC;IACjC,CAAC,CAAC,OAAO2F,GAAG,EAAE;MACZ;MACA;MACA,IAAIA,GAAG,YAAYC,KAAK,IAAID,GAAG,CAACE,IAAI,KAAK,YAAY,EAAE;MACvD,IAAI,OAAOC,OAAO,KAAK,WAAW,IAAIA,OAAO,CAACC,KAAK,EAAED,OAAO,CAACC,KAAK,CAAC,qBAAqB,EAAEJ,GAAG,CAAC;IAChG;EACF,CAAC,EAAE,CAAC/I,MAAM,CAAC,CAAC;;EAEZ;EACA;EACA;EACApF,SAAS,CAAC,MAAM;IACd,IAAI,CAACgF,MAAM,IAAIxE,QAAQ,CAACuF,EAAE,KAAK,KAAK,IAAI,OAAOyI,QAAQ,KAAK,WAAW,EAAE;IACzE,MAAMC,OAAO,GAAIC,CAAgB,IAAK;MACpC,IAAIA,CAAC,CAACC,GAAG,KAAK,QAAQ,EAAE;QACtBD,CAAC,CAACE,eAAe,CAAC,CAAC;QACnBtF,aAAa,CAAC,CAAC;MACjB,CAAC,MAAM,IAAIoF,CAAC,CAACC,GAAG,KAAK,WAAW,EAAE;QAChCD,CAAC,CAACE,eAAe,CAAC,CAAC;QACnBtC,MAAM,CAAClF,cAAc,CAACG,OAAO,GAAG,CAAC,CAAC;MACpC,CAAC,MAAM,IAAImH,CAAC,CAACC,GAAG,KAAK,YAAY,EAAE;QACjCD,CAAC,CAACE,eAAe,CAAC,CAAC;QACnBtC,MAAM,CAAClF,cAAc,CAACG,OAAO,GAAG,CAAC,CAAC;MACpC;IACF,CAAC;IACDiH,QAAQ,CAACK,gBAAgB,CAAC,SAAS,EAAEJ,OAAO,CAAC;IAC7C,OAAO,MAAMD,QAAQ,CAACM,mBAAmB,CAAC,SAAS,EAAEL,OAAO,CAAC;EAC/D,CAAC,EAAE,CAACnF,aAAa,EAAEtE,MAAM,EAAEsH,MAAM,CAAC,CAAC;EAEnC,MAAMyC,aAAa,GAAGA,CAAA,kBACpBtL,KAAA,CAACpC,sBAAsB;IAAC2N,KAAK,EAAEC,MAAM,CAACC,cAAe;IAAAC,QAAA,gBACnD5L,IAAA,CAAChD,SAAS;MAACyO,KAAK,EAAE1O,UAAU,CAAC8O,YAAa;MAACC,OAAO,EAAE/F,aAAc;MAACgG,OAAO,EAAE,CAAE;MAAAH,QAAA,eAC5E5L,IAAA,CAACG,gBAAgB;QACf6L,SAAS,EAAE,EAAG;QACdC,IAAI,EAAE7K,KAAK,CAAC8K,MAAM,GAAG,MAAM,GAAG,OAAQ;QACtCC,sBAAsB,EAAC,iBAAiB;QACxCV,KAAK,EAAE,CAAC1O,UAAU,CAAC8O,YAAY,EAAEvD,aAAa,CAAE;QAAAsD,QAAA,eAEhD5L,IAAA,CAACzC,QAAQ,CAACV,IAAI;UACZ4O,KAAK,EAAE,CAAC1O,UAAU,CAAC8O,YAAY,EAAE;YAAEO,eAAe,EAAEhL,KAAK,CAACiL,MAAM,CAACC;UAAQ,CAAC,EAAEhE,aAAa;QAAE,CAC5F;MAAC,CACc;IAAC,CACV,CAAC,eAEZtI,IAAA,CAAChC,eAAe;MAACuO,OAAO,EAAEhF,UAAW;MAAAqE,QAAA,eACnC1L,KAAA,CAAC3C,QAAQ,CAACV,IAAI;QACZ4O,KAAK,EAAE,CACL1O,UAAU,CAAC8O,YAAY,EACvBH,MAAM,CAACc,aAAa,EACpB;UAAEnL,KAAK,EAAEC,YAAY;UAAEC,MAAM,EAAEC;QAAc,CAAC,EAC9CX,sBAAsB,CACtB;QACF4L,aAAa,EAAC,UAAU;QAAAb,QAAA,GAEvB,CAACjK,UAAU,iBACV3B,IAAA,CAAChD,SAAS;UAAC8O,OAAO,EAAE/F,aAAc;UAAC0F,KAAK,EAAEnL,eAAgB;UAAAsL,QAAA,eACxD5L,IAAA,CAACK,aAAa;YACZqM,MAAM,EAAE;cAAEzH,GAAG,EAAEpD,MAAM,CAACE,WAAW,CAAC,EAAEkD;YAAI,CAAE;YAC1C0H,UAAU,EAAC,SAAS;YACpBlB,KAAK,EAAE,CACL;cAAEpK,KAAK,EAAEsD,SAAS,CAACtD,KAAK;cAAEE,MAAM,EAAEoD,SAAS,CAACpD,MAAM;cAAEqL,YAAY,EAAE3L;YAAa,CAAC,EAChFsH,cAAc,CACd;YACFsE,UAAU,EAAE,CAAE;YAAA,IACT5P,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;cAAEsK,SAAS,EAAE;YAAM,CAAC,GAAG,CAAC,CAAC;UAAA,CACvD;QAAC,CACO,CACZ,EAEAnL,UAAU,iBACT3B,IAAA,CAACzC,QAAQ,CAACV,IAAI;UAAC4O,KAAK,EAAE,CAAC1O,UAAU,CAAC8O,YAAY,EAAEpD,mBAAmB,CAAE;UAAAmD,QAAA,eACnE5L,IAAA,CAAC9C,UAAU;YACTiE,GAAG,EAAEwC,QAAS;YACdoJ,UAAU;YACVC,aAAa;YACb;YACA;YAAA;YACAC,aAAa,EAAE,CAAChL,QAAS;YACzBiL,8BAA8B,EAAE,KAAM;YACtC7D,aAAa,EAAE;cAAE1D,CAAC,EAAE/B,eAAe,CAACI,OAAO,GAAG1C,YAAY;cAAEsE,CAAC,EAAE;YAAE,CAAE;YACnEuH,QAAQ,EAAE7D,aAAc;YACxB8D,mBAAmB,EAAEjE,aAAc;YAAA,IAC9BlM,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;cAAE6K,QAAQ,EAAElE;YAAc,CAAC,GAAG,CAAC,CAAC;YAC7DmE,mBAAmB,EAAE,EAAG;YACxB7B,KAAK,EAAE1O,UAAU,CAAC8O,YAAa;YAAAD,QAAA,EAE9B/J,MAAM,CAAC0L,GAAG,CAAC,CAACxG,GAAG,EAAEwC,GAAG,KAAK;cACxB,MAAMjF,KAAK,GAAGjC,UAAU,CAACkH,GAAG,CAAC,IAAI/K,cAAc,CAACuI,GAAG,CAAC9B,GAAG,CAAC,IAAIvG,oBAAoB;cAChF,MAAM8O,GAAG,GAAGnJ,WAAW,CAACC,KAAK,CAAC;cAC9B;cACA;cACA;cACA;cACA,IAAIiF,GAAG,KAAKxH,WAAW,EAAE;gBACvB,oBACE/B,IAAA,CAACnD,IAAI;kBAEH4O,KAAK,EAAE,CAACC,MAAM,CAAC+B,IAAI,EAAE;oBAAEpM,KAAK,EAAEC,YAAY;oBAAEC,MAAM,EAAEC;kBAAc,CAAC,EAAElB,eAAe,CAAE;kBAAAsL,QAAA,eAEtF5L,IAAA,CAAChC,eAAe;oBAACuO,OAAO,EAAEhC,iBAAkB;oBAAAqB,QAAA,eAC1C5L,IAAA,CAACK,aAAa;sBACZqM,MAAM,EAAE;wBAAEzH,GAAG,EAAE8B,GAAG,CAAC9B;sBAAI,CAAE;sBACzB0H,UAAU,EAAC,SAAS;sBACpBlB,KAAK,EAAE,CACL;wBAAEpK,KAAK,EAAEmM,GAAG,CAACnM,KAAK;wBAAEE,MAAM,EAAEiM,GAAG,CAACjM,MAAM;wBAAEqL,YAAY,EAAE3L;sBAAa,CAAC,EACpEyH,cAAc,CACd;sBACFmE,UAAU,EAAE,CAAE;sBAAA,IACT5P,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;wBAAEsK,SAAS,EAAE;sBAAM,CAAC,GAAG,CAAC,CAAC;oBAAA,CACvD;kBAAC,CACa;gBAAC,GAdb,GAAG/F,GAAG,CAAC9B,GAAG,IAAIsE,GAAG,EAelB,CAAC;cAEX;cACA,oBACEvJ,IAAA,CAACnD,IAAI;gBAEH4O,KAAK,EAAE,CAACC,MAAM,CAAC+B,IAAI,EAAE;kBAAEpM,KAAK,EAAEC,YAAY;kBAAEC,MAAM,EAAEC;gBAAc,CAAC,CAAE;gBAAAoK,QAAA,eAErE5L,IAAA,CAAC3C,KAAK;kBACJqP,MAAM,EAAE;oBAAEzH,GAAG,EAAE8B,GAAG,CAAC9B;kBAAI,CAAE;kBACzB0H,UAAU,EAAC,SAAS;kBACpBlB,KAAK,EAAE;oBAAEpK,KAAK,EAAEmM,GAAG,CAACnM,KAAK;oBAAEE,MAAM,EAAEiM,GAAG,CAACjM,MAAM;oBAAEqL,YAAY,EAAE3L;kBAAa,CAAE;kBAC5E4L,UAAU,EAAE,CAAE;kBAAA,IACT5P,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;oBAAEsK,SAAS,EAAE;kBAAM,CAAC,GAAG,CAAC,CAAC;gBAAA,CACvD;cAAC,GATG,GAAG/F,GAAG,CAAC9B,GAAG,IAAIsE,GAAG,EAUlB,CAAC;YAEX,CAAC;UAAC,CACQ;QAAC,CACA,CAChB,EAEA5H,UAAU,IAAIE,MAAM,CAACyE,MAAM,GAAG,CAAC,iBAC9BpG,KAAA,CAAC3C,QAAQ,CAACV,IAAI;UAAC4O,KAAK,EAAE,CAACC,MAAM,CAACgC,aAAa,EAAEpF,aAAa,CAAE;UAACmE,aAAa,EAAC,UAAU;UAAAb,QAAA,gBACnF5L,IAAA,CAACnD,IAAI;YAAC4O,KAAK,EAAEC,MAAM,CAACiC,WAAY;YAAClB,aAAa,EAAC,MAAM;YAAAb,QAAA,eACnD5L,IAAA,CAAClD,IAAI;cAAC2O,KAAK,EAAEC,MAAM,CAACkC,WAAY;cAAAhC,QAAA,EAAE,GAAG7J,WAAW,GAAG,CAAC,MAAMF,MAAM,CAACyE,MAAM;YAAE,CAAO;UAAC,CAC7E,CAAC,EACNpF,gBAAgB,KAAK,YAAY,gBAChClB,IAAA,CAAC9C,UAAU;YACT6P,UAAU;YACVG,8BAA8B,EAAE,KAAM;YACtCzB,KAAK,EAAEC,MAAM,CAACmC,gBAAiB;YAC/BC,qBAAqB,EAAEpC,MAAM,CAACqC,iBAAkB;YAAAnC,QAAA,EAE/C/J,MAAM,CAAC0L,GAAG,CAAC,CAACxG,GAAG,EAAEwC,GAAG,kBACnBvJ,IAAA,CAAChD,SAAS;cAER8O,OAAO,EAAEA,CAAA,KAAM/C,MAAM,CAACQ,GAAG,CAAE;cAC3ByE,iBAAiB,EAAC,QAAQ;cAC1BC,kBAAkB,EAAE,eAAe1E,GAAG,GAAG,CAAC,OAAO1H,MAAM,CAACyE,MAAM,EAAG;cACjEmF,KAAK,EAAE,CACLC,MAAM,CAACwC,SAAS,EAChB3E,GAAG,KAAKxH,WAAW,GAAG2J,MAAM,CAACyC,eAAe,GAAGzC,MAAM,CAAC0C,iBAAiB,EACvE9N,eAAe,CACf;cAAAsL,QAAA,eAEF5L,IAAA,CAAC3C,KAAK;gBACJqP,MAAM,EAAE;kBAAEzH,GAAG,EAAE8B,GAAG,CAAC9B;gBAAI,CAAE;gBACzB0H,UAAU,EAAC,OAAO;gBAClBlB,KAAK,EAAEC,MAAM,CAAC2C,cAAe;gBAC7BxB,UAAU,EAAE,CAAE;gBAAA,IACT5P,QAAQ,CAACuF,EAAE,KAAK,KAAK,GAAG;kBAAEsK,SAAS,EAAE;gBAAM,CAAC,GAAG,CAAC,CAAC;cAAA,CACvD;YAAC,GAhBG,SAAS/F,GAAG,CAAC9B,GAAG,IAAIsE,GAAG,EAiBnB,CACZ;UAAC,CACQ,CAAC,gBAEbvJ,IAAA,CAACnD,IAAI;YAAC4O,KAAK,EAAEC,MAAM,CAAC4C,OAAQ;YAAC7B,aAAa,EAAC,MAAM;YAAAb,QAAA,EAC9C/J,MAAM,CAAC0L,GAAG,CAAC,CAACxG,GAAG,EAAEwC,GAAG,kBACnBvJ,IAAA,CAACnD,IAAI;cAEH4O,KAAK,EAAE,CAACC,MAAM,CAAC6C,GAAG,EAAEhF,GAAG,KAAKxH,WAAW,GAAG2J,MAAM,CAAC8C,SAAS,GAAG9C,MAAM,CAAC+C,WAAW;YAAE,GAD5E,OAAO1H,GAAG,CAAC9B,GAAG,IAAIsE,GAAG,EAE3B,CACF;UAAC,CACE,CACP;QAAA,CACY,CAChB,EAEAtM,QAAQ,CAACuF,EAAE,KAAK,KAAK,IAAIb,UAAU,IAAIE,MAAM,CAACyE,MAAM,GAAG,CAAC,IAAIvE,WAAW,GAAG,CAAC,iBAC1E/B,IAAA,CAAC7B,kBAAkB;UACjB2N,OAAO,EAAEA,CAAA,KAAM/C,MAAM,CAAChH,WAAW,GAAG,CAAC,CAAE;UACvCiM,iBAAiB,EAAC,QAAQ;UAC1BC,kBAAkB,EAAC,gBAAgB;UACnClC,OAAO,EAAE,CAAE;UACXN,KAAK,EAAE,CAACC,MAAM,CAACgD,QAAQ,EAAEhD,MAAM,CAACiD,YAAY,EAAErO,eAAe,CAAE;UAC/DsO,UAAU,EAAElD,MAAM,CAACmD,iBAAkB;UAAAjD,QAAA,eAErC5L,IAAA,CAAC5B,iCAAiC;YAAC0Q,IAAI,EAAC,MAAM;YAACC,IAAI,EAAC;UAAI,CAAE;QAAC,CACzC,CACrB,EAEA9R,QAAQ,CAACuF,EAAE,KAAK,KAAK,IAAIb,UAAU,IAAIE,MAAM,CAACyE,MAAM,GAAG,CAAC,IAAIvE,WAAW,GAAGF,MAAM,CAACyE,MAAM,GAAG,CAAC,iBAC1FtG,IAAA,CAAC7B,kBAAkB;UACjB2N,OAAO,EAAEA,CAAA,KAAM/C,MAAM,CAAChH,WAAW,GAAG,CAAC,CAAE;UACvCiM,iBAAiB,EAAC,QAAQ;UAC1BC,kBAAkB,EAAC,YAAY;UAC/BlC,OAAO,EAAE,CAAE;UACXN,KAAK,EAAE,CAACC,MAAM,CAACgD,QAAQ,EAAEhD,MAAM,CAACsD,aAAa,EAAE1O,eAAe,CAAE;UAChEsO,UAAU,EAAElD,MAAM,CAACuD,kBAAmB;UAAArD,QAAA,eAEtC5L,IAAA,CAAC3B,kCAAkC;YAACyQ,IAAI,EAAC,MAAM;YAACC,IAAI,EAAC;UAAI,CAAE;QAAC,CAC1C,CACrB,EAEAxM,QAAQ,IAAIZ,UAAU,iBACrB3B,IAAA,CAAChD,SAAS;UACR8O,OAAO,EAAEpB,WAAY;UACrBsD,iBAAiB,EAAC,QAAQ;UAC1BC,kBAAkB,EAAC,aAAa;UAChClC,OAAO,EAAE,CAAE;UACXN,KAAK,EAAE,CAACC,MAAM,CAACwD,WAAW,EAAE5O,eAAe,CAAE;UAAAsL,QAAA,eAE7C5L,IAAA,CAAC1B,qCAAqC;YAACwQ,IAAI,EAAC,MAAM;YAACC,IAAI,EAAC;UAAI,CAAE;QAAC,CACtD,CACZ,EAEAnK,SAAS,gBACR5E,IAAA,CAACzC,QAAQ,CAACV,IAAI;UACZ4O,KAAK,EAAE,CACLC,MAAM,CAACyD,cAAc,EACrBtN,MAAM,CAACyE,MAAM,GAAG,CAAC,IAAIoF,MAAM,CAAC0D,2BAA2B,EACvD9G,aAAa,CACb;UACFmE,aAAa,EAAC,MAAM;UAAAb,QAAA,eAEpB5L,IAAA,CAACnD,IAAI;YAAC4O,KAAK,EAAEC,MAAM,CAAC2D,cAAe;YAAAzD,QAAA,eACjC5L,IAAA,CAAClD,IAAI;cAAC2O,KAAK,EAAEC,MAAM,CAAC4D,cAAe;cAACC,aAAa,EAAE,CAAE;cAAA3D,QAAA,EAAEhH;YAAS,CAAO;UAAC,CACpE;QAAC,CACM,CAAC,GACd,IAAI;MAAA,CACK;IAAC,CACD,CAAC;EAAA,CACI,CACzB;EAED,IAAI,CAACnD,MAAM,EAAE,OAAO,IAAI;;EAExB;EACA;EACA;EACA;EACA;EACA;EACA,oBAAOzB,IAAA,CAAC9B,MAAM;IAAA0N,QAAA,EAAEJ,aAAa,CAAC;EAAC,CAAS,CAAC;AAC3C,CAAC,CAAC;AAEF1K,yBAAyB,CAAC0O,WAAW,GAAG,sBAAsB;AAE9D,OAAO,MAAMC,oBAAoB,GAAG3O,yBAAyB;AAE7D,MAAM4K,MAAM,GAAG3O,UAAU,CAAC2S,MAAM,CAAC;EAC/B/D,cAAc,EAAE;IACdgE,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpB,GAAG3S,QAAQ,CAACsD,MAAM,CAAC;MACjBC,GAAG,EAAE;QACH;QACA;QACA;QACAqP,QAAQ,EAAE,OAAqB;QAC/BC,GAAG,EAAE,CAAC;QACNC,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRC,MAAM,EAAE,CAAC;QACTC,MAAM,EAAE3R,OAAO,CAAC4R;MAClB,CAAC;MACDxP,OAAO,EAAE;QACP;QACA;QACA;QACA;QACA;QACA;QACAkP,QAAQ,EAAE,UAAU;QACpBC,GAAG,EAAE,CAAC;QACNC,IAAI,EAAE,CAAC;QACPC,KAAK,EAAE,CAAC;QACRC,MAAM,EAAE,CAAC;QACT7D,eAAe,EAAE;MACnB;IACF,CAAC;EACH,CAAC;EACDI,aAAa,EAAE;IACbmD,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDnC,IAAI,EAAE;IACJkC,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE;EACd,CAAC;EACDlC,aAAa,EAAE;IACbmC,QAAQ,EAAE,UAAU;IACpBI,MAAM,EAAE,EAAE;IACVF,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRJ,UAAU,EAAE,QAAQ;IACpBQ,GAAG,EAAE;EACP,CAAC;EACDzC,WAAW,EAAE;IACX0C,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClB1D,YAAY,EAAE,GAAG;IACjBR,eAAe,EAAE;EACnB,CAAC;EACDwB,WAAW,EAAE;IACX2C,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDnC,OAAO,EAAE;IACPoC,aAAa,EAAE,KAAK;IACpBN,GAAG,EAAE;EACP,CAAC;EACD7B,GAAG,EAAE;IACHlN,KAAK,EAAE,CAAC;IACRE,MAAM,EAAE,CAAC;IACTqL,YAAY,EAAE;EAChB,CAAC;EACD4B,SAAS,EAAE;IACTpC,eAAe,EAAE;EACnB,CAAC;EACDqC,WAAW,EAAE;IACXrC,eAAe,EAAE;EACnB,CAAC;EACDyB,gBAAgB,EAAE;IAChB8C,QAAQ,EAAE,MAAM;IAChBC,QAAQ,EAAE;EACZ,CAAC;EACD;EACA7C,iBAAiB,EAAE;IACjB6C,QAAQ,EAAE,CAAC;IACXjB,cAAc,EAAE,QAAQ;IACxBC,UAAU,EAAE,QAAQ;IACpBQ,GAAG,EAAE,CAAC;IACNC,iBAAiB,EAAE;EACrB,CAAC;EACDnC,SAAS,EAAE;IACT7M,KAAK,EAAEvB,yBAAyB;IAChCyB,MAAM,EAAEzB,yBAAyB;IACjC8M,YAAY,EAAE,CAAC;IACfiE,QAAQ,EAAE,QAAQ;IAClBC,WAAW,EAAE;EACf,CAAC;EACD3C,eAAe,EAAE;IACf4C,WAAW,EAAE;EACf,CAAC;EACD3C,iBAAiB,EAAE;IACjB2C,WAAW,EAAE;EACf,CAAC;EACD1C,cAAc,EAAE;IACdhN,KAAK,EAAE,MAAM;IACbE,MAAM,EAAE;EACV,CAAC;EACDmN,QAAQ,EAAE;IACRmB,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,KAAK;IACVzO,KAAK,EAAE,EAAE;IACTE,MAAM,EAAE,EAAE;IACVqL,YAAY,EAAE,GAAG;IACjBgD,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE,QAAQ;IACxBvD,eAAe,EAAE,kBAAkB;IACnC5D,SAAS,EAAE,CAAC;MAAE3F,UAAU,EAAE,CAAC;IAAG,CAAC;EACjC,CAAC;EACD8L,YAAY,EAAE;IACZoB,IAAI,EAAE;EACR,CAAC;EACDf,aAAa,EAAE;IACbgB,KAAK,EAAE;EACT,CAAC;EACD;EACAnB,iBAAiB,EAAE;IACjBzC,eAAe,EAAE,iBAAiB;IAClC5D,SAAS,EAAE,CAAC;MAAE3F,UAAU,EAAE,CAAC;IAAG,CAAC,EAAE;MAAEF,KAAK,EAAE;IAAK,CAAC;EAClD,CAAC;EACDsM,kBAAkB,EAAE;IAClB7C,eAAe,EAAE,iBAAiB;IAClC5D,SAAS,EAAE,CAAC;MAAE3F,UAAU,EAAE,CAAC;IAAG,CAAC,EAAE;MAAEF,KAAK,EAAE;IAAK,CAAC;EAClD,CAAC;EACDuM,WAAW,EAAE;IACXW,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,EAAE;IACPE,KAAK,EAAE,EAAE;IACT3O,KAAK,EAAE,EAAE;IACTE,MAAM,EAAE,EAAE;IACVqL,YAAY,EAAE,GAAG;IACjBgD,UAAU,EAAE,QAAQ;IACpBD,cAAc,EAAE,QAAQ;IACxBvD,eAAe,EAAE;EACnB,CAAC;EACD+C,cAAc,EAAE;IACdU,QAAQ,EAAE,UAAU;IACpBI,MAAM,EAAE,EAAE;IACVF,IAAI,EAAE,CAAC;IACPC,KAAK,EAAE,CAAC;IACRJ,UAAU,EAAE,QAAQ;IACpBS,iBAAiB,EAAE;EACrB,CAAC;EACD;EACAjB,2BAA2B,EAAE;IAC3Ba,MAAM,EAAE;EACV,CAAC;EACDZ,cAAc,EAAE;IACdsB,QAAQ,EAAE,GAAG;IACbN,iBAAiB,EAAE,EAAE;IACrBC,eAAe,EAAE,CAAC;IAClB1D,YAAY,EAAE,EAAE;IAChBR,eAAe,EAAE;EACnB,CAAC;EACDkD,cAAc,EAAE;IACdiB,KAAK,EAAE,MAAM;IACbC,QAAQ,EAAE,EAAE;IACZQ,UAAU,EAAE;EACd;AACF,CAAC,CAAC;AAEF,eAAevB,oBAAoB","ignoreList":[]}
|